From 40462ff73136cacd3f3381214886c84b4ae72d45 Mon Sep 17 00:00:00 2001 From: Jayaprakash8887 <Jayaprakash.narayanaswamy@tarento.com> Date: Tue, 13 Sep 2022 11:28:37 +0530 Subject: [PATCH] Issue #KN-257 feat: Content Release DIAL codes API refactor. --- .../org/sunbird/content/dial/DIALManager.scala | 15 +++++++-------- .../sunbird/content/util/ContentConstants.scala | 1 + content-api/content-service/conf/application.conf | 1 + 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALManager.scala b/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALManager.scala index 61bfee6b2..b5d3eada4 100644 --- a/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALManager.scala +++ b/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALManager.scala @@ -279,12 +279,11 @@ object DIALManager { validateContentForReserveAndReleaseDialcodes(contentMetadata) validateCountForReservingAndReleasingDialCode(request.getRequest.get(DIALConstants.DIALCODES).asInstanceOf[util.Map[String, AnyRef]]) - if(operation.nonEmpty && operation.equalsIgnoreCase(ContentConstants.RESERVE)) { - reserve(request, channelId, contentId, rootNode, contentMetadata) - } else if(operation.nonEmpty && operation.equalsIgnoreCase(ContentConstants.RELEASE)) { - release(request, contentId, rootNode, contentMetadata) - } else throw new ClientException(DIALErrors.ERR_INVALID_OPERATION, DIALErrors.ERR_INVALID_OPERATION_MSG) - + operation match { + case ContentConstants.RESERVE => reserve(request, channelId, contentId, rootNode, contentMetadata) + case ContentConstants.RELEASE => release(request, contentId, rootNode, contentMetadata) + case _ => throw new ClientException(DIALErrors.ERR_INVALID_OPERATION, DIALErrors.ERR_INVALID_OPERATION_MSG) + } }) } @@ -403,8 +402,8 @@ object DIALManager { val validMimeType = if (Platform.config.hasPath("reserve_dialcode.mimeType")) Platform.config.getStringList("reserve_dialcode.mimeType") else util.Arrays.asList(ContentConstants.COLLECTION_MIME_TYPE) if (!validMimeType.contains(metaData.get(ContentConstants.MIME_TYPE))) throw new ClientException(DIALErrors.ERR_CONTENT_MIMETYPE, DIALErrors.ERR_CONTENT_MIMETYPE_MSG) - if(metaData.get(ContentConstants.STATUS).asInstanceOf[String].equalsIgnoreCase("Retired")) - throw new ClientException(DIALErrors.ERR_CONTENT_RETIRED_OBJECT_ID, DIALErrors.ERR_CONTENT_RETIRED_OBJECT_ID_MSG) + val validContentStatus = if (Platform.config.hasPath("reserve_dialcode.valid_content_status")) Platform.config.getStringList("reserve_dialcode.valid_content_status") else util.Arrays.asList(ContentConstants.DRAFT) + if(!validContentStatus.contains(metaData.get(ContentConstants.STATUS).asInstanceOf[String])) throw new ClientException(DIALErrors.ERR_CONTENT_RETIRED_OBJECT_ID, DIALErrors.ERR_CONTENT_RETIRED_OBJECT_ID_MSG) } def validateCountForReservingAndReleasingDialCode(requestDIALCodesMap: util.Map[String, AnyRef]): Unit = { diff --git a/content-api/content-actors/src/main/scala/org/sunbird/content/util/ContentConstants.scala b/content-api/content-actors/src/main/scala/org/sunbird/content/util/ContentConstants.scala index aa199a481..8ae26a27a 100644 --- a/content-api/content-actors/src/main/scala/org/sunbird/content/util/ContentConstants.scala +++ b/content-api/content-actors/src/main/scala/org/sunbird/content/util/ContentConstants.scala @@ -77,4 +77,5 @@ object ContentConstants { val PROCESSING: String = "Processing" val RESERVE: String = "reserve" val RELEASE: String = "release" + val DRAFT: String = "Draft" } diff --git a/content-api/content-service/conf/application.conf b/content-api/content-service/conf/application.conf index 910dd9406..5a77be1c5 100644 --- a/content-api/content-service/conf/application.conf +++ b/content-api/content-service/conf/application.conf @@ -612,6 +612,7 @@ dial_service { reserve_dialcode { mimeType = ["application/vnd.ekstep.content-collection"] max_count = 250 + valid_content_status = ["Draft","Live"] } content.link_dialcode.validation=true -- GitLab