From b7d1722a3e5428996de8ddd4ff93cfeac5d8672b Mon Sep 17 00:00:00 2001 From: Jayaprakash8887 <Jayaprakash.narayanaswamy@tarento.com> Date: Wed, 7 Sep 2022 17:09:58 +0530 Subject: [PATCH] Issue #KN-257 feat: Content Release DIAL codes API refactor. --- .../src/main/scala/org/sunbird/content/dial/DIALErrors.scala | 2 ++ .../src/main/scala/org/sunbird/content/dial/DIALManager.scala | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALErrors.scala b/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALErrors.scala index bb7622e91..c96e00f5e 100644 --- a/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALErrors.scala +++ b/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALErrors.scala @@ -17,6 +17,7 @@ object DIALErrors { val ERR_CONTENT_MISSING_RESERVED_DIAL_CODES: String = "ERR_CONTENT_MISSING_RESERVED_DIAL_CODES" val ERR_ALL_DIALCODES_UTILIZED: String = "ERR_ALL_DIALCODES_UTILIZED" val ERR_INVALID_OPERATION: String = "ERR_INVALID_OPERATION" + val ERR_COUNT_GREATER_THAN_RESERVED_DIAL_CODES: String = "ERR_COUNT_GREATER_THAN_RESERVED_DIAL_CODES" //Error Messages val ERR_INVALID_REQ_MSG: String = "Invalid Request! Please Provide Valid Request." @@ -40,4 +41,5 @@ object DIALErrors { val ERR_CONTENT_MISSING_RESERVED_DIAL_CODES_MSG: String = "Invalid Request. Content does not have reserved DIAL codes." val ERR_ALL_DIALCODES_UTILIZED_MSG: String = "Error! All Reserved DIAL Codes are Utilized." val ERR_INVALID_OPERATION_MSG: String = "Invalid operation request!" + val ERR_COUNT_GREATER_THAN_RESERVED_DIAL_CODES_MSG: String = "Invalid Request. Count greater than reserved DIAL codes." } 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 755ebfb56..7a53b456e 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 @@ -313,6 +313,10 @@ object DIALManager { val reservedDialCodes = if(contentMetadata.containsKey(DIALConstants.RESERVED_DIALCODES)) ScalaJsonUtils.deserialize[Map[String, Integer]](contentMetadata.get(DIALConstants.RESERVED_DIALCODES).asInstanceOf[String]) else throw new ClientException(DIALErrors.ERR_CONTENT_MISSING_RESERVED_DIAL_CODES, DIALErrors.ERR_CONTENT_MISSING_RESERVED_DIAL_CODES_MSG) + val countInRequest = request.get(DIALConstants.COUNT).asInstanceOf[Integer] + if(reservedDialCodes.keySet.size < countInRequest) + throw new ClientException(DIALErrors.ERR_COUNT_GREATER_THAN_RESERVED_DIAL_CODES, DIALErrors.ERR_COUNT_GREATER_THAN_RESERVED_DIAL_CODES_MSG) + populateAssignedDialCodes(contentId, contentMetadata, request).map(assignedDialCodes => { val toReleaseDIALCodes = reservedDialCodes.keySet -- assignedDialCodes.toSet -- GitLab