diff --git a/assessment-api/assessment-actors/src/main/scala/org/sunbird/actors/QuestionActor.scala b/assessment-api/assessment-actors/src/main/scala/org/sunbird/actors/QuestionActor.scala index 2dd9080f7f7c38d40d599dc2a64af9e88a840768..87134b065a69eb4ccdd757d14efe0559d947916a 100644 --- a/assessment-api/assessment-actors/src/main/scala/org/sunbird/actors/QuestionActor.scala +++ b/assessment-api/assessment-actors/src/main/scala/org/sunbird/actors/QuestionActor.scala @@ -38,6 +38,7 @@ class QuestionActor @Inject()(implicit oec: OntologyEngineContext) extends BaseA case "rejectQuestion" => reject(request) case "copyQuestion" => copy(request) case "bulkUploadQuestion" => bulkUpload(request) + case "bulkUploadFrameworkMapping" => bulkUploadFrameworkMapping(request) case _ => ERROR(request.getOperation) } @@ -142,4 +143,8 @@ class QuestionActor @Inject()(implicit oec: OntologyEngineContext) extends BaseA def bulkUpload(request: Request): Future[Response] = { AssessmentManager.create(request, "ERR_QUESTION_CREATE") } + + def bulkUploadFrameworkMapping(request: Request): Future[Response] = { + AssessmentManager.createMapping(request, "ERR_QUESTION_CREATE") + } } diff --git a/assessment-api/assessment-actors/src/main/scala/org/sunbird/managers/AssessmentManager.scala b/assessment-api/assessment-actors/src/main/scala/org/sunbird/managers/AssessmentManager.scala index d5a9e0204af942de2031c764c10b3fe4ee02b556..12e4b9ae0622e2115dd682bdc770294ad5dbca12 100644 --- a/assessment-api/assessment-actors/src/main/scala/org/sunbird/managers/AssessmentManager.scala +++ b/assessment-api/assessment-actors/src/main/scala/org/sunbird/managers/AssessmentManager.scala @@ -221,4 +221,9 @@ object AssessmentManager { }} (actor, context, objData, eData) } + + def createMapping(request: Request, str: String)(implicit oec: OntologyEngineContext, ec: ExecutionContext): Future[Response] = { + + oec.graphService.saveExternalProps(request) + } } diff --git a/assessment-api/assessment-service/app/controllers/v4/QuestionController.scala b/assessment-api/assessment-service/app/controllers/v4/QuestionController.scala index 5fd17d92a58138f3aff7ea7bae342ad69012da1e..c27f41b0610343aee19762a8c1a3d60c276ef2c8 100644 --- a/assessment-api/assessment-service/app/controllers/v4/QuestionController.scala +++ b/assessment-api/assessment-service/app/controllers/v4/QuestionController.scala @@ -180,4 +180,16 @@ class QuestionController @Inject()(@Named(ActorNames.QUESTION_ACTOR) questionAct logger.info("in Future sequence") Await.result(f, Duration.apply("30s")) } + + def createFrameworkMappingData() = Action.async { implicit request => + val headers = commonHeaders() + val body = requestBody() + val question = body.getOrDefault("question", new java.util.HashMap()).asInstanceOf[java.util.Map[String, AnyRef]] + question.putAll(headers) + val questionRequest = getRequest(question, headers, QuestionOperations.createFrameworkMapping.toString) + setRequestContext(questionRequest, version, "competency", "competency") + getResult(ApiId.FRAMEWORK_COMPETENCY_QUESTION, questionActor, questionRequest) + } + + } diff --git a/assessment-api/assessment-service/app/utils/ApiId.scala b/assessment-api/assessment-service/app/utils/ApiId.scala index daf20fc4819bf3c72e9e5e0318df15c1d25fbd31..7323204370ea827d548ee256d2079c5be6bf9ebd 100644 --- a/assessment-api/assessment-service/app/utils/ApiId.scala +++ b/assessment-api/assessment-service/app/utils/ApiId.scala @@ -26,6 +26,7 @@ object ApiId { val REJECT_QUESTION = "api.question.reject" val COPY_QUESTION = "api.question.copy" val BULK_UPLOAD_QUESTION = "api.question.bulk.upload" + val FRAMEWORK_COMPETENCY_QUESTION = "api.question.mapping" //QuestionSet APIs val CREATE_QUESTION_SET = "api.questionset.create" val READ_QUESTION_SET = "api.questionset.read" diff --git a/assessment-api/assessment-service/app/utils/QuestionOperations.scala b/assessment-api/assessment-service/app/utils/QuestionOperations.scala index 8d71d88e12b69be1db77e28e986bf4fab1bc628c..71327f4939c7d46a16fe752ad52a395e131345c9 100644 --- a/assessment-api/assessment-service/app/utils/QuestionOperations.scala +++ b/assessment-api/assessment-service/app/utils/QuestionOperations.scala @@ -1,5 +1,5 @@ package utils object QuestionOperations extends Enumeration { - val createQuestion, readQuestion, readPrivateQuestion, updateQuestion, reviewQuestion, publishQuestion, retireQuestion, importQuestion, systemUpdateQuestion, listQuestions, rejectQuestion, copyQuestion = Value + val createQuestion, readQuestion, readPrivateQuestion, updateQuestion, reviewQuestion, publishQuestion, retireQuestion, importQuestion, systemUpdateQuestion, listQuestions, rejectQuestion, copyQuestion, createFrameworkMapping = Value } diff --git a/assessment-api/assessment-service/conf/routes b/assessment-api/assessment-service/conf/routes index 3202b944d1918678badc758a56f85593ac968781..f9c36b0699f041c8cc036b7defeff6bcc1aa6130 100644 --- a/assessment-api/assessment-service/conf/routes +++ b/assessment-api/assessment-service/conf/routes @@ -25,6 +25,7 @@ POST /question/v4/list controllers.v4.QuestionControl POST /question/v4/reject/:identifier controllers.v4.QuestionController.reject(identifier:String) POST /question/v4/copy/:identifier controllers.v4.QuestionController.copy(identifier:String, mode:Option[String]) POST /question/v4/bulk/upload controllers.v4.QuestionController.uploadExcel +POST /question/v4/bulk/upload/mapping controllers.v4.QuestionController.createFrameworkMappingData # QuestionSet API's POST /questionset/v4/create controllers.v4.QuestionSetController.create