Created
July 20, 2015 09:09
-
-
Save paoloyx/a084e10b5792399a1389 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"applicationDomain" : "MIS.COACHING", | |
"serviceCode" : "questionnaires", | |
"packageName" : "it.menarini.coaching.rest", | |
"version" : "v1", | |
"api" : { | |
"value" : "", | |
"description" : "" | |
}, | |
"operations" : [ | |
{ | |
"verb": "GET", | |
"uri": "/", | |
"apiOperation": { | |
"value" : "Get the questionnaire", | |
"notes" : "Return all questionnaires" | |
}, | |
"methodName": "searchQuestionnaire", | |
"parameters":[], | |
"advancedSearch" : true, | |
"sqlTemplate": "select * from coach_questionnaire order by VALID_FROM DESC, ID desc", | |
"returnModel": "it.menarini.coaching.model.CoachQuestionnaire", | |
"returnModelMultiInstance": true, | |
"mapping": { | |
"ID":"id", | |
"TITLE":"title", | |
"DESCRIPTION":"description", | |
"VALID_FROM":"validFrom", | |
"VALID_TO":"validTo", | |
"STATUS":"status", | |
"FF_PRODUCT_LINE":"ffProductLine" | |
} | |
},{ | |
"verb": "GET", | |
"uri": "/{id}", | |
"apiOperation": { | |
"value" : "Get the questionnaire by id", | |
"notes" : "Return questionnaire by id" | |
}, | |
"methodName": "questionnaire", | |
"parameters":[ {"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The questionnaire ID"}} ], | |
"sqlTemplate": "SELECT * FROM COACH_QUESTIONNAIRE q where q.id = :id", | |
"returnModel": "it.menarini.coaching.model.CoachQuestionnaire", | |
"returnModelMultiInstance": false, | |
"mapping": { | |
"ID":"id", | |
"TITLE":"title", | |
"DESCRIPTION":"description", | |
"VALID_FROM":"validFrom", | |
"VALID_TO":"validTo", | |
"STATUS":"status", | |
"FF_PRODUCT_LINE":"ffProductLine", | |
"$questionnaires.productsByQuestionnareId(ID)" :"products", | |
"$questionnaires.questionGroupByQuestionnaire(ID)" :"questionGroup" | |
} | |
},{ | |
"verb": "POST", | |
"uri": "/", | |
"apiOperation": { "value":"Create new questionnaire","notes" : "Provide full CoachQuestionnaire object as parameter"}, | |
"methodName": "insertQuestionnaire", | |
"preAssign" : { "id" : "select seq_coaching_questionnaire.nextval from dual" }, | |
"returnLocation" : "/{id}", | |
"parameters": | |
[ | |
{"name":"questionnaire", "paramType":"RequestBody","paramClass":"it.menarini.coaching.model.CoachQuestionnaire","apiParam" : {"name":"questionnaire","value":"Full CoachQuestionnaire object"}} | |
], | |
"sqlTemplate": "insert into coach_questionnaire (id,title, description, valid_from, valid_to, status, ff_product_line) values (:id, :questionnaire.title,:questionnaire.description,:questionnaire.validFrom, :questionnaire.validTo, :questionnaire.status, :questionnaire.ffProductLine)" | |
},{ | |
"verb": "PUT", | |
"uri": "/", | |
"apiOperation": { "value":"Update one Questionnaire","notes" : "Provide full CoachQuestionnaire object as parameter"}, | |
"methodName": "updateQuestionnaire", | |
"parameters": | |
[ | |
{"name":"questionnaire", "paramType":"RequestBody","paramClass":"it.menarini.coaching.model.CoachQuestionnaire","apiParam" : {"name":"questionnaire","value":"Full CoachQuestionnaire object (id,title, description, validFrom, validTo, status, ffProductLine)"}} | |
], | |
"sqlTemplate": "update coach_questionnaire set title=:questionnaire.title, description=:questionnaire.description, valid_from=:questionnaire.validFrom , valid_to=:questionnaire.validTo , status=:questionnaire.status, ff_product_line=:questionnaire.ffProductLine where id = :questionnaire.id" | |
},{ | |
"verb": "DELETE", | |
"uri": "/{id}", | |
"apiOperation": { "value":"Delete one questionnaire","notes" : "Delete an questionnaire giving ID"}, | |
"methodName": "deleteQuestionnaire", | |
"parameters": | |
[ | |
{"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The questionnaire ID to be deleted"}} | |
], | |
"sqlTemplate": "delete from coach_questionnaire where id = :id" | |
},{ | |
"verb": "GET", | |
"uri": "/{id}/products", | |
"apiOperation": { | |
"value" : "Get the list products of a questionnare", | |
"notes" : "Return the list products of a questionnare" | |
}, | |
"methodName": "productsByQuestionnareId", | |
"parameters": | |
[ | |
{"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The questionnaire ID"}} | |
], | |
"sqlTemplate": "select * from coach_questionnare_product where coach_questionnaire_id = :id order by qualification, description", | |
"returnModel": "it.menarini.coaching.model.CoachQuestionnaireProduct", | |
"returnModelMultiInstance": true, | |
"mapping": { | |
"ID":"id", | |
"QUALIFICATION":"qualification", | |
"WEIGHT":"weight", | |
"DESCRIPTION":"description", | |
"COACH_QUESTIONNAIRE_ID":"coachQuestionnaireId" | |
} | |
},{ | |
"verb": "POST", | |
"uri": "/add-products", | |
"apiOperation": { "value":"Add products","notes" : "Create new products."}, | |
"methodName": "addProductsQuestionnaire", | |
"parameters": [ | |
{"name":"products", "paramType":"RequestBody","paramClass":"it.menarini.coaching.model.CoachQuestionnaireProduct","isCollection" : true, "required" : true, "apiParam" : {"name":"productQuestionnaire","value":"The new Products object"}} | |
], | |
"preSqlTemplateOuter": ["delete from coach_questionnare_product where coach_questionnaire_id = :products.coachQuestionnaireId"], | |
"preAssign" : { "products.id" : "select seq_coaching_product.nextval from dual" }, | |
"sqlTemplate": "insert into coach_questionnare_product (id, qualification, weight, description, coach_questionnaire_id) values (:products.id, :products.qualification, :products.weight, :products.description, :products.coachQuestionnaireId)", | |
"returnModelMultiInstance": true, | |
"returnLocation" : "/" | |
},{ | |
"verb": "PUT", | |
"uri": "/{id}/products/{productId}", | |
"apiOperation": { "value":"Update one Product","notes" : "Provide full CoachQuestionnaireProduct object as parameter"}, | |
"methodName": "updateProduct", | |
"parameters": | |
[ | |
{"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The questionnaire ID "}}, | |
{"name":"productId", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The product ID to be updated "}}, | |
{"name":"product", "paramType":"RequestBody","paramClass":"it.menarini.coaching.model.CoachQuestionnaireProduct","apiParam" : {"name":"product","value":"Full CoachQuestionnaireProduct object (id,qualification, weight, description)"}} | |
], | |
"sqlTemplate": "update coach_questionnare_product set qualification=:product.qualification, weight = :product.weight, description = :product.description where id = :productId and coach_questionnaire_id = :id" | |
},{ | |
"verb": "DELETE", | |
"uri": "/{id}/products/{productId}", | |
"apiOperation": { "value":"Delete one product","notes" : "Delete an product giving ID"}, | |
"methodName": "deleteProduct", | |
"parameters": | |
[ | |
{"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The questionnaire ID "}}, | |
{"name":"productId", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"product","value":"The product ID to be deleted"}} | |
], | |
"sqlTemplate": "delete from coach_questionnare_product where id = :productId" | |
},{ | |
"verb": "DELETE", | |
"uri": "/{id}/products/", | |
"apiOperation": { "value":"Delete all prodcut for a questionnaires","notes" : "Delete all product giving questionnaire ID"}, | |
"methodName": "deleteProducts", | |
"parameters": | |
[ | |
{"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The questionnaire ID for to deleted all product"}} | |
], | |
"sqlTemplate": "delete from coach_questionnare_product where coach_questionnaire_id = :id" | |
},{ | |
"verb": "GET", | |
"uri": "/{id}/questionsGroup", | |
"apiOperation": { | |
"value" : "Get the question groups", | |
"notes" : "Return all questions group for a questionnaire " | |
}, | |
"methodName": "questionGroupByQuestionnaire", | |
"parameters": | |
[ | |
{"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The questionnaire ID to be deleted"}} | |
], | |
"sqlTemplate": "select id, description, coach_questionnaire_id, dd_order, product_link, numeric_aggregation, purpose_flag, am_compile, pm_compile, tr_compile, rangemin, rangemax from coach_question_group where coach_questionnaire_id = :id order by dd_order asc", | |
"returnModel": "it.menarini.coaching.model.CoachQuestionGroup", | |
"returnModelMultiInstance": true, | |
"mapping": { | |
"ID":"id", | |
"DESCRIPTION":"description", | |
"COACH_QUESTIONNAIRE_ID":"coachQuestionnaireId", | |
"DD_ORDER":"ddOrder", | |
"PRODUCT_LINK":"productLink", | |
"NUMERIC_AGGREGATION" :"numericAggregation", | |
"PURPOSE_FLAG" :"purposeFlag", | |
"AM_COMPILE" :"amCompile", | |
"PM_COMPILE" :"pmCompile", | |
"TR_COMPILE" :"trCompile", | |
"RANGEMIN":"rangemin", | |
"RANGEMAX":"rangemax", | |
"$questionnaires.questionsByGroup(COACH_QUESTIONNAIRE_ID,ID)": "questions" | |
} | |
},{ | |
"verb": "POST", | |
"uri": "/{id}/questionsGroup", | |
"apiOperation": { "value":"Create new group question for a questionnaire","notes" : "Provide full QuestionGroup object as parameter"}, | |
"methodName": "insertQuestionGroup", | |
"preAssign" : { "questionGroup.id" : "select seq_coaching_question_group.nextval from dual" }, | |
"returnLocation" : "/{id}/questionsGroups/{questionGroup.id}", | |
"callService" : {"serviceOperation" : "MIS.COACHING.questions.addQuestions","parameters":"questionGroup.questions", "evaluateExpression":"questions.questionGroup.id=questionGroup.id"}, | |
"parameters": | |
[ | |
{"name":"questionGroup", "paramType":"RequestBody","paramClass":"it.menarini.coaching.model.CoachQuestionGroup","apiParam" : {"name":"questionGroup","value":"Full QuestionGroup object (id, description, coachQuestionnaireId, ddOrder, productLink, numericAggregation, purposeFlag, amCompile, pmCompile, trCompile)"}} | |
], | |
"sqlTemplate": "insert into coach_question_group (id, description, coach_questionnaire_id, dd_order, product_link, numeric_aggregation, purpose_flag, am_compile, pm_compile, tr_compile, rangemin, rangemax) values (:questionGroup.id, :questionGroup.description, :questionGroup.coachQuestionnaireId, :questionGroup.ddOrder, :questionGroup.productLink, :questionGroup.numericAggregation, :questionGroup.purposeFlag, :questionGroup.amCompile, :questionGroup.pmCompile, :questionGroup.trCompile, :questionGroup.rangemin, :questionGroup.rangemax)" | |
},{ | |
"verb": "PUT", | |
"uri": "/{id}/questionsGroup/{questionGroupId}", | |
"apiOperation": { "value":"Update one group question","notes" : "Provide full CoachQuestionGroup object as parameter"}, | |
"methodName": "updateQuestionGroup", | |
"parameters": | |
[ | |
{"name":"questionGroupId", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"questionGroup","value":"The question group ID to be deleted"}}, | |
{"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The questionnaire ID "}}, | |
{"name":"questionsGroup", "paramType":"RequestBody","paramClass":"it.menarini.coaching.model.CoachQuestionGroup","apiParam" : {"name":"questionsGroup","value":"Full CoachQuestionnaireProduct object (id, description, coachQuestionnaireId, ddOrder, productLink, numericAggregation, purposeFlag, amCompile, pmCompile, trCompile)"}} | |
], | |
"sqlTemplate": "update coach_question_group set description=:questionsGroup.description, dd_order = :questionsGroup.ddOrder, product_link = :questionsGroup.productLink, numeric_aggregation=:questionsGroup.numericAggregation, purpose_flag=:questionsGroup.purposeFlag, am_compile=:questionsGroup.amCompile, pm_compile=:questionsGroup.pmCompile, tr_compile=:questionsGroup.trCompile, rangemin =:questionsGroup.rangemin, rangemax =:questionsGroup.rangemax where id = :questionGroupId and coach_questionnaire_id in (select coach_questionnaire.id from coach_questionnaire where coach_questionnaire.id = :id )" | |
},{ | |
"verb": "DELETE", | |
"uri": "/{id}/questionsGroup/{questionGroupId}", | |
"apiOperation": { "value":"Delete one question group","notes" : "Delete an question group giving ID"}, | |
"methodName": "deleteQuestionGroup", | |
"parameters": | |
[ | |
{"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The questionnaire ID to be deleted"}}, | |
{"name":"questionGroupId", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"questionGroup","value":"The question group ID to be deleted"}} | |
], | |
"sqlTemplate": "delete from coach_question_group where id = :questionGroupId AND coach_questionnaire_id = :id" | |
},{ | |
"verb": "DELETE", | |
"uri": "/{id}/questionsGroup", | |
"apiOperation": { "value":"Delete all question group for a questionnaires","notes" : "Delete an question group giving questionnaire ID"}, | |
"methodName": "deleteQuestionsGroup", | |
"parameters": | |
[ | |
{"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The questionnaire ID to be deleted"}} | |
], | |
"sqlTemplate": "delete from coach_question_group where coach_questionnaire_id = :id" | |
},{ | |
"verb": "GET", | |
"uri": "/{id}/questionsGroups/{questionGroup}/questions", | |
"apiOperation": { | |
"value" : "Get the question by group", | |
"notes" : "Return all questions for a group " | |
}, | |
"methodName": "questionsByGroup", | |
"parameters": | |
[ | |
{"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The questionnaire ID "}}, | |
{"name":"questionGroup", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"questionGroup","value":"The Question Group ID "}} | |
], | |
"sqlTemplate": "select cq.title, cq.type, cq.id, cq.coach_question_group_id from coach_question cq, coach_question_group cqg, coach_questionnaire q where cq.coach_question_group_id = :questionGroup and q.id = :id and cq.coach_question_group_id = cqg.id and q.id = cqg.coach_questionnaire_id", | |
"returnModel": "it.menarini.coaching.model.CoachQuestion", | |
"returnModelMultiInstance": true, | |
"mapping": { | |
"ID":"id", | |
"TITLE":"title", | |
"TYPE":"type", | |
"COACH_QUESTION_GROUP_ID":"questionGroup.id" | |
} | |
},{ | |
"verb": "POST", | |
"uri": "/{id}/questionsGroups/{questionGroup}/questions", | |
"apiOperation": { "value":"Create new question for a group of question","notes" : "Provide full CoachQuestion object as parameter"}, | |
"methodName": "insertQuestion", | |
"preAssign" : { "question.id" : "select seq_coaching_question.nextval from dual" }, | |
"returnLocation" : "/questionnaires/{id}/questionsGroups/{questionGroup}/questions/{question.id}", | |
"parameters": | |
[ | |
{"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The questionnaire ID to be deleted"}}, | |
{"name":"question", "paramType":"RequestBody","paramClass":"it.menarini.coaching.model.CoachQuestion","apiParam" : {"name":"question","value":"Full CoachQuestion object (id, title, type, coachQuestionGroupId)"}} | |
], | |
"sqlTemplate": "insert into coach_question (id, title, type, coach_question_group_id) values (:question.id, :question.title, :question.type, :question.questionGroup.id)" | |
},{ | |
"verb": "DELETE", | |
"uri": "/{id}/questionsGroup/{questionGroup}/questions/{question}", | |
"apiOperation": { "value":"Delete all question group for a questionnaires","notes" : "Delete an question group giving questionnaire ID"}, | |
"methodName": "deleteQuestion", | |
"parameters": | |
[ | |
{"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The questionnaire ID"}}, | |
{"name":"questionGroup", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"questionGroup","value":"The question group ID"}}, | |
{"name":"question", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"question","value":"The question ID to be deleted"}} | |
], | |
"sqlTemplate": "delete from (select q.* from coach_question q INNER JOIN coach_question_group g ON g.id=q.COACH_QUESTION_GROUP_ID where g.id = :questionGroup AND q.id = :question)" | |
},{ | |
"verb": "DELETE", | |
"uri": "/{id}/questionsGroup/{questionGroup}/questions", | |
"apiOperation": { "value":"Delete all question for a question group","notes" : "Delete a list of question giving a question group ID"}, | |
"methodName": "deleteQuestions", | |
"parameters": | |
[ | |
{"name":"id", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"id","value":"The questionnaire ID"}}, | |
{"name":"questionGroup", "paramType":"PathVariable","paramClass":"long","apiParam" : {"name":"questionGroup","value":"The question group ID"}} | |
], | |
"sqlTemplate": "delete from (select q.* from coach_question q INNER JOIN coach_question_group g ON g.id=q.COACH_QUESTION_GROUP_ID where g.id = :questionGroup)" | |
} | |
] | |
},{ | |
"applicationDomain" : "MIS.COACHING", | |
"serviceCode" : "questions", | |
"packageName" : "it.menarini.coaching.rest", | |
"version" : "v1", | |
"api" : { | |
"value" : "", | |
"description" : "" | |
}, | |
"operations" : [{ | |
"verb": "POST", | |
"uri": "/add-questions", | |
"apiOperation": { "value":"Add collection of questions","notes" : "Create new questions."}, | |
"methodName": "addQuestions", | |
"parameters": [{"name":"questions", "paramType":"RequestBody","paramClass":"it.menarini.coaching.model.CoachQuestion","isCollection" : true, "required" : true, "apiParam" : {"name":"CoachQuestion","value":"The new CoachQuestion object"}}], | |
"preAssign" : { "question.id" : "select seq_coaching_question.nextval from dual" }, | |
"sqlTemplate": "insert into coach_question (id, title, type, coach_question_group_id) values (:question.id, :questions.title, :questions.type, :questions.questionGroup.id)", | |
"returnModelMultiInstance": true, | |
"returnLocation" : "/" | |
} | |
] | |
} | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment