Skip to content

Instantly share code, notes, and snippets.

@paoloyx
Last active August 29, 2015 14:25
Show Gist options
  • Save paoloyx/2c87e332f0a9517dc4bf to your computer and use it in GitHub Desktop.
Save paoloyx/2c87e332f0a9517dc4bf to your computer and use it in GitHub Desktop.
Json con applicationDomani gerarchico e callService
[
{
"applicationDomain" : "MIS.COACHING",
"serviceCode" : "assessments",
"packageName" : "it.menarini.coaching.rest",
"version" : "v1",
"advancedSearch" : true,
"api" : {
"value" : "",
"description" : ""
},
"operations" : [
{
"verb": "GET",
"uri": "/",
"apiOperation": {
"value" : "Get the assessments",
"notes" : "Return all assessments"
},
"methodName": "searchAssessment",
"parameters":[],
"sqlTemplate": "select * from coach_assessment",
"returnModel": "it.menarini.coaching.model.CoachAssessment",
"returnModelMultiInstance": true,
"mapping": {
"ID":"id",
"COMPILER_ROLE":"compilerRole",
"DATE_INS":"dateIns",
"DATE_UPD":"dateUpd",
"PERIOD_START_DATE":"periodStartDate",
"PERIOD_START_END":"periodEndDate",
"QUESTIONNAIRE_ID":"questionnaireId",
"REP_CODE":"repCode",
"STATUS":"status",
"COMPILER_CODE":"compilerCode",
"$assessments.answersByAssessmentId(ID)" :"answers"
}
},{
"verb": "GET",
"uri": "/{id}",
"apiOperation": {
"value" : "Get the assessments by id",
"notes" : "Return assessments by id"
},
"methodName": "assessment",
"parameters":[ {"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The assessment ID"}} ],
"sqlTemplate": "SELECT * FROM coach_assessment a where a.id = :id",
"returnModel": "it.menarini.coaching.model.CoachAssessment",
"returnModelMultiInstance": false,
"mapping": {
"ID":"id",
"COMPILER_ROLE":"compilerRole",
"DATE_INS":"dateIns",
"DATE_UPD":"dateUpd",
"PERIOD_START_DATE":"periodStartDate",
"PERIOD_START_END":"periodEndDate",
"QUESTIONNAIRE_ID":"questionnaireId",
"REP_CODE":"repCode",
"STATUS":"status",
"COMPILER_CODE":"compilerCode",
"$assessments.answersByAssessmentId(ID)" :"answers"
}
},{
"verb": "GET",
"uri": "/{id}/answers",
"apiOperation": {
"value" : "Get the list answers of a assessment",
"notes" : "Return the list answers of a assessment"
},
"methodName": "answersByAssessmentId",
"parameters":
[
{"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The assessment ID"}}
],
"sqlTemplate": "select * from coach_answer where ASSESSMENT_ID = :id",
"returnModel": "it.menarini.coaching.model.CoachAnswer",
"returnModelMultiInstance": true,
"mapping": {
"ID":"id",
"ASSESSMENT_ID":"assessment.id",
"QUESTION_ID":"questionId",
"ANSWER_TEXT":"answerText",
"PRODUCT_ID" :"productId",
"PRO_CODE" :"proCode"
}
},{
"verb": "POST",
"uri": "/",
"apiOperation": { "value":"Create new assessment","notes" : "Provide full CoachAssessment object as parameter"},
"methodName": "insertAssessment",
"preAssign" : { "assessment.id" : "select seq_coaching_assessment.nextval from dual" },
"parameters":
[
{"name":"assessment", "paramType":"RequestBody","paramClass":"it.menarini.coaching.model.CoachAssessment","apiParam" : {"name":"assessment","value":"Full CoachAssessment object"}}
],
"sqlTemplate": "insert into coach_assessment (ID, COMPILER_ROLE, DATE_INS, DATE_UPD, PERIOD_START_DATE, PERIOD_START_END, QUESTIONNAIRE_ID, REP_CODE, STATUS, COMPILER_CODE) values (:assessment.id, :assessment.compilerRole, :assessment.dateIns, :assessment.dateUpd, :assessment.periodStartDate, :assessment.periodEndDate, :assessment.questionnaireId, :assessment.repCode, :assessment.status, :assessment.compilerCode)",
"callService" : {"serviceOperation" : "MIS.COACHING.answers.addAnswers","parameters":"assessment.answers", "evaluateExpression":"answers.assessment.id=assessment.id"},
"returnLocation" : "/{assessment.id}"
}
]
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment