From 94e92edca15249a39eaba1347b36e18ffc8a319f Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Tue, 27 Jun 2023 14:55:58 +0200 Subject: [PATCH 01/17] create analyses schema --- schemas/analyses/AnalysesResponse.yml | 9 +++++++++ schemas/analyses/Analysis.yml | 27 +++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 schemas/analyses/AnalysesResponse.yml create mode 100644 schemas/analyses/Analysis.yml diff --git a/schemas/analyses/AnalysesResponse.yml b/schemas/analyses/AnalysesResponse.yml new file mode 100644 index 0000000..9a2727d --- /dev/null +++ b/schemas/analyses/AnalysesResponse.yml @@ -0,0 +1,9 @@ +allOf: + - $ref: '../utils/BaseResponse.yml' + - type: object + - properties: + analyses: + description: "Array of analyses" + type: array + items: + $ref: '../../schemas/analyses/Analysis.yml' \ No newline at end of file diff --git a/schemas/analyses/Analysis.yml b/schemas/analyses/Analysis.yml new file mode 100644 index 0000000..7a0435d --- /dev/null +++ b/schemas/analyses/Analysis.yml @@ -0,0 +1,27 @@ +type: object +description: "Analysis object" +properties: + id: + description: "id of the analysis" + type: integer + example: 1 + name: + description: "name of the analysis" + type: string + example: "My mapping" + creation_date: + allOf: + - $ref: "../utils/DatePattern.yml" + description: "date of the creation of the analysis (ISO 8601 full-time format)" + edition_date: + allOf: + - $ref: "../utils/DatePattern.yml" + description: "date of the last modification (ISO 8601 full-time format)" + desc: + description: "description of the analysis" + type: string + example: "mapping of metabolites on mouse biosource" + input: + description: "id of the first step of the analysis" + type: integer + example: 1 \ No newline at end of file -- GitLab From d46dcccf42390b1eb044be2006ad966fa39ea91e Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Tue, 27 Jun 2023 15:07:37 +0200 Subject: [PATCH 02/17] create analyses path --- paths/analyses/get.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 paths/analyses/get.yml diff --git a/paths/analyses/get.yml b/paths/analyses/get.yml new file mode 100644 index 0000000..3a7071a --- /dev/null +++ b/paths/analyses/get.yml @@ -0,0 +1,25 @@ +get: + tags: + - Analyses + summary: get Analysis + description: get from Analysis + operationId: getAnalyses + x-eov-operation-handler: analyses + parameters: + - name: id + in: query + description: id of the analysis + required: false + schema: + type: string + # autoriser les caractères spéciaux + # pour demander des listes d'identifiants + # example: /analyses/123,456,789 + allowReserved: true + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: ../../schemas/analyses/AnalysesResponse.yml -- GitLab From 89a1f3a145d117cf7cdd588912b354a931fa2c8e Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Tue, 27 Jun 2023 15:12:55 +0200 Subject: [PATCH 03/17] add analyses in metexplore api yaml --- metexplore3-api.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/metexplore3-api.yml b/metexplore3-api.yml index e0f9e09..d4308ae 100644 --- a/metexplore3-api.yml +++ b/metexplore3-api.yml @@ -33,6 +33,10 @@ paths: $ref: "paths/users/token_login.yml" /: $ref: "paths/root.yml" + + /analyses: + $ref: "paths/analyses/get.yml" + /biosources: $ref: "paths/biosources.yml" -- GitLab From 39072f8f7f7dba24f9ab916d3c98439e00a3f5c1 Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Wed, 28 Jun 2023 09:59:51 +0200 Subject: [PATCH 04/17] modify to pass parameter in path instead of query --- metexplore3-api.yml | 2 +- paths/analyses/get.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/metexplore3-api.yml b/metexplore3-api.yml index d4308ae..0da9c9a 100644 --- a/metexplore3-api.yml +++ b/metexplore3-api.yml @@ -34,7 +34,7 @@ paths: /: $ref: "paths/root.yml" - /analyses: + /analyses/{id}: $ref: "paths/analyses/get.yml" /biosources: diff --git a/paths/analyses/get.yml b/paths/analyses/get.yml index 3a7071a..8651145 100644 --- a/paths/analyses/get.yml +++ b/paths/analyses/get.yml @@ -7,7 +7,7 @@ get: x-eov-operation-handler: analyses parameters: - name: id - in: query + in: path description: id of the analysis required: false schema: -- GitLab From 1ede536b54bcbd1b545a4253e6bd8b1bdb0cd119 Mon Sep 17 00:00:00 2001 From: JeanClement <jeanclement.gallardo@inrae.fr> Date: Wed, 28 Jun 2023 10:19:16 +0200 Subject: [PATCH 05/17] add steps methods --- metexplore3-api.yml | 3 +++ paths/steps/get.yml | 21 +++++++++++++++++++++ schemas/steps/Step.yml | 29 +++++++++++++++++++++++++++++ schemas/steps/StepResponse.yml | 9 +++++++++ schemas/steps/Steps.yml | 17 +++++++++++++++++ schemas/steps/StepsResponse.yml | 9 +++++++++ 6 files changed, 88 insertions(+) create mode 100644 paths/steps/get.yml create mode 100644 schemas/steps/Step.yml create mode 100644 schemas/steps/StepResponse.yml create mode 100644 schemas/steps/Steps.yml create mode 100644 schemas/steps/StepsResponse.yml diff --git a/metexplore3-api.yml b/metexplore3-api.yml index e0f9e09..afc9c62 100644 --- a/metexplore3-api.yml +++ b/metexplore3-api.yml @@ -57,6 +57,9 @@ paths: /filter: $ref: "paths/filters/get.yml" + /steps: + $ref: "paths/steps/get.yml" + components: securitySchemes: jwtAuth: diff --git a/paths/steps/get.yml b/paths/steps/get.yml new file mode 100644 index 0000000..35bdb0b --- /dev/null +++ b/paths/steps/get.yml @@ -0,0 +1,21 @@ +get: + tags: + - Steps + summary: Get specific step of an analysis + operationId: getSteps + x-eov-operation-handler: steps + description: Get a specific step of an analysis + parameters: + - name: id + in: query + description: the id for the step + required: true + schema: + type: integer + responses: + 200: + description: success + content: + application/json: + schema: + $ref: "../../schemas/steps/StepResponse.yml" \ No newline at end of file diff --git a/schemas/steps/Step.yml b/schemas/steps/Step.yml new file mode 100644 index 0000000..aaf0d6a --- /dev/null +++ b/schemas/steps/Step.yml @@ -0,0 +1,29 @@ +type: object +description: "A step from an analysis" +properties: + id: + description: "step id" + type: integer + format: int64 + example: 22 + id_analysis: + description: "analysis id" + type: integer + format: int64 + example: 14 + name: + description: "name of the step" + type: string + example: "Input" + root: + description: "Boolean that determined if its the first step of analysis or not" + type: boolean + example: false + type: + description: "Determine what types (data, job, ...) is this step" + type: string + example: "data" + description: + description: "Description of the step" + type: string + example: "Input value for next job" \ No newline at end of file diff --git a/schemas/steps/StepResponse.yml b/schemas/steps/StepResponse.yml new file mode 100644 index 0000000..25c0d81 --- /dev/null +++ b/schemas/steps/StepResponse.yml @@ -0,0 +1,9 @@ +allOf: + - $ref: "../utils/BaseResponse.yml" + - type: object + - properties: + steps: + description: "Specific step of an analysis" + type: object + items: + $ref: "Step.yml" diff --git a/schemas/steps/Steps.yml b/schemas/steps/Steps.yml new file mode 100644 index 0000000..822f307 --- /dev/null +++ b/schemas/steps/Steps.yml @@ -0,0 +1,17 @@ +type: object +description: "Array of steps" +properties: + id_analysis: + description: "analysis id" + type: integer + format: int64 + example: 14 + name: + description: "name of the analysis" + type: string + example: "Input" + steps: + description: "Array of step" + type: array + example: [{id: 134, id_analysis: 123, name: "Input", root: true, type: "data", description: "Input value for mapping"}, + {id: 135, id_analysis: 123, name: "Mapping", root: false, type: "job", description: "Mapping on metabolites"}] \ No newline at end of file diff --git a/schemas/steps/StepsResponse.yml b/schemas/steps/StepsResponse.yml new file mode 100644 index 0000000..97911c8 --- /dev/null +++ b/schemas/steps/StepsResponse.yml @@ -0,0 +1,9 @@ +allOf: + - $ref: "../utils/BaseResponse.yml" + - type: object + - properties: + steps: + description: "All steps of an analysis" + type: array + items: + $ref: "Steps.yml" -- GitLab From 30323c725dcbec950dd6d1e7b79fc227e7999a4d Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Wed, 28 Jun 2023 10:21:45 +0200 Subject: [PATCH 06/17] change get to post --- metexplore3-api.yml | 4 ++-- paths/analyses/get.yml | 25 ------------------------- paths/analyses/post.yml | 21 +++++++++++++++++++++ 3 files changed, 23 insertions(+), 27 deletions(-) delete mode 100644 paths/analyses/get.yml create mode 100644 paths/analyses/post.yml diff --git a/metexplore3-api.yml b/metexplore3-api.yml index 0da9c9a..b116a19 100644 --- a/metexplore3-api.yml +++ b/metexplore3-api.yml @@ -34,8 +34,8 @@ paths: /: $ref: "paths/root.yml" - /analyses/{id}: - $ref: "paths/analyses/get.yml" + /analyses: + $ref: "paths/analyses/post.yml" /biosources: $ref: "paths/biosources.yml" diff --git a/paths/analyses/get.yml b/paths/analyses/get.yml deleted file mode 100644 index 8651145..0000000 --- a/paths/analyses/get.yml +++ /dev/null @@ -1,25 +0,0 @@ -get: - tags: - - Analyses - summary: get Analysis - description: get from Analysis - operationId: getAnalyses - x-eov-operation-handler: analyses - parameters: - - name: id - in: path - description: id of the analysis - required: false - schema: - type: string - # autoriser les caractères spéciaux - # pour demander des listes d'identifiants - # example: /analyses/123,456,789 - allowReserved: true - responses: - 200: - description: successful operation - content: - application/json: - schema: - $ref: ../../schemas/analyses/AnalysesResponse.yml diff --git a/paths/analyses/post.yml b/paths/analyses/post.yml new file mode 100644 index 0000000..99d9774 --- /dev/null +++ b/paths/analyses/post.yml @@ -0,0 +1,21 @@ +post: + tags: + - Analyses + summary: post Analysis + description: post from Analysis + operationId: postAnalyses + x-eov-operation-handler: analyses + requestBody: + content: + application/json: + schema: + type: object + items: + $ref: ../../schemas/analyses/AnalysesResponse.yml + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: ../../schemas/analyses/AnalysesResponse.yml -- GitLab From a9107eb0fca0a4d20b8dc3b2ede6592296204a42 Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Wed, 28 Jun 2023 11:17:43 +0200 Subject: [PATCH 07/17] back to get with path --- metexplore3-api.yml | 4 ++-- paths/analyses/get.yml | 25 +++++++++++++++++++++++++ paths/analyses/post.yml | 21 --------------------- 3 files changed, 27 insertions(+), 23 deletions(-) create mode 100644 paths/analyses/get.yml delete mode 100644 paths/analyses/post.yml diff --git a/metexplore3-api.yml b/metexplore3-api.yml index 3d7c0a4..2e3bf2c 100644 --- a/metexplore3-api.yml +++ b/metexplore3-api.yml @@ -34,8 +34,8 @@ paths: /: $ref: "paths/root.yml" - /analyses: - $ref: "paths/analyses/post.yml" + /analyses/{id}: + $ref: "paths/analyses/get.yml" /biosources: $ref: "paths/biosources.yml" diff --git a/paths/analyses/get.yml b/paths/analyses/get.yml new file mode 100644 index 0000000..8651145 --- /dev/null +++ b/paths/analyses/get.yml @@ -0,0 +1,25 @@ +get: + tags: + - Analyses + summary: get Analysis + description: get from Analysis + operationId: getAnalyses + x-eov-operation-handler: analyses + parameters: + - name: id + in: path + description: id of the analysis + required: false + schema: + type: string + # autoriser les caractères spéciaux + # pour demander des listes d'identifiants + # example: /analyses/123,456,789 + allowReserved: true + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: ../../schemas/analyses/AnalysesResponse.yml diff --git a/paths/analyses/post.yml b/paths/analyses/post.yml deleted file mode 100644 index 99d9774..0000000 --- a/paths/analyses/post.yml +++ /dev/null @@ -1,21 +0,0 @@ -post: - tags: - - Analyses - summary: post Analysis - description: post from Analysis - operationId: postAnalyses - x-eov-operation-handler: analyses - requestBody: - content: - application/json: - schema: - type: object - items: - $ref: ../../schemas/analyses/AnalysesResponse.yml - responses: - 200: - description: successful operation - content: - application/json: - schema: - $ref: ../../schemas/analyses/AnalysesResponse.yml -- GitLab From 3c5f349331b380ac4a8326d8ec4103bcbcac0e1f Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Wed, 28 Jun 2023 11:23:58 +0200 Subject: [PATCH 08/17] back to query --- metexplore3-api.yml | 2 +- paths/analyses/get.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/metexplore3-api.yml b/metexplore3-api.yml index 2e3bf2c..01238a2 100644 --- a/metexplore3-api.yml +++ b/metexplore3-api.yml @@ -34,7 +34,7 @@ paths: /: $ref: "paths/root.yml" - /analyses/{id}: + /analyses: $ref: "paths/analyses/get.yml" /biosources: diff --git a/paths/analyses/get.yml b/paths/analyses/get.yml index 8651145..3a7071a 100644 --- a/paths/analyses/get.yml +++ b/paths/analyses/get.yml @@ -7,7 +7,7 @@ get: x-eov-operation-handler: analyses parameters: - name: id - in: path + in: query description: id of the analysis required: false schema: -- GitLab From 78e511665b7932dd5613bdd4aa08b38b6505c57e Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Wed, 28 Jun 2023 14:25:59 +0200 Subject: [PATCH 09/17] analyses add, update and delete --- metexplore3-api.yml | 2 +- paths/analyses/add.yml | 20 +++++++++++++++ paths/analyses/analyses.yml | 15 ++++++++++++ paths/analyses/del.yml | 20 +++++++++++++++ paths/analyses/get.yml | 49 ++++++++++++++++++------------------- paths/analyses/update.yml | 20 +++++++++++++++ 6 files changed, 100 insertions(+), 26 deletions(-) create mode 100644 paths/analyses/add.yml create mode 100644 paths/analyses/analyses.yml create mode 100644 paths/analyses/del.yml create mode 100644 paths/analyses/update.yml diff --git a/metexplore3-api.yml b/metexplore3-api.yml index 01238a2..c5da294 100644 --- a/metexplore3-api.yml +++ b/metexplore3-api.yml @@ -35,7 +35,7 @@ paths: $ref: "paths/root.yml" /analyses: - $ref: "paths/analyses/get.yml" + $ref: "paths/analyses/analyses.yml" /biosources: $ref: "paths/biosources.yml" diff --git a/paths/analyses/add.yml b/paths/analyses/add.yml new file mode 100644 index 0000000..e52e7cf --- /dev/null +++ b/paths/analyses/add.yml @@ -0,0 +1,20 @@ +tags: + - Analyses +summary: add Analysis +description: add for Analysis +operationId: addAnalyses +x-eov-operation-handler: analyses +requestBody: + content: + application/json: + schema: + type: object + items: + $ref: ../../schemas/analyses/AnalysesResponse.yml +responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: ../../schemas/analyses/AnalysesResponse.yml diff --git a/paths/analyses/analyses.yml b/paths/analyses/analyses.yml new file mode 100644 index 0000000..63d178c --- /dev/null +++ b/paths/analyses/analyses.yml @@ -0,0 +1,15 @@ +# GET +get: + $ref: ./get.yml + +# ADD +post: + $ref: ./add.yml + +# DELETE +delete: + $ref: ./del.yml + +# PATCH +patch: + $ref: ./update.yml diff --git a/paths/analyses/del.yml b/paths/analyses/del.yml new file mode 100644 index 0000000..2b1780a --- /dev/null +++ b/paths/analyses/del.yml @@ -0,0 +1,20 @@ +tags: + - Analyses +summary: del Analysis +description: delete for Analysis +operationId: delAnalyses +x-eov-operation-handler: analyses +parameters: + - name: id + in: query + description: the id for the Analysis + required: true + schema: + type: integer +responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: ../../schemas/analyses/AnalysesResponse.yml diff --git a/paths/analyses/get.yml b/paths/analyses/get.yml index 3a7071a..2ec94bf 100644 --- a/paths/analyses/get.yml +++ b/paths/analyses/get.yml @@ -1,25 +1,24 @@ -get: - tags: - - Analyses - summary: get Analysis - description: get from Analysis - operationId: getAnalyses - x-eov-operation-handler: analyses - parameters: - - name: id - in: query - description: id of the analysis - required: false - schema: - type: string - # autoriser les caractères spéciaux - # pour demander des listes d'identifiants - # example: /analyses/123,456,789 - allowReserved: true - responses: - 200: - description: successful operation - content: - application/json: - schema: - $ref: ../../schemas/analyses/AnalysesResponse.yml +tags: + - Analyses +summary: get Analysis +description: get from Analysis +operationId: getAnalyses +x-eov-operation-handler: analyses +parameters: + - name: id + in: query + description: id of the analysis + required: false + schema: + type: string + # autoriser les caractères spéciaux + # pour demander des listes d'identifiants + # example: /analyses/123,456,789 + allowReserved: true +responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: ../../schemas/analyses/AnalysesResponse.yml diff --git a/paths/analyses/update.yml b/paths/analyses/update.yml new file mode 100644 index 0000000..8b02763 --- /dev/null +++ b/paths/analyses/update.yml @@ -0,0 +1,20 @@ +tags: + - Analyses +summary: add Analysis +description: update for Analysis +operationId: updateAnalysis +x-eov-operation-handler: analyses +requestBody: + content: + application/json: + schema: + type: object + items: + $ref: ../../schemas/analyses/AnalysesResponse.yml +responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: ../../schemas/analyses/AnalysesResponse.yml -- GitLab From c8b1772387f145cb937e799c1bdb69f1c81cc72a Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Thu, 29 Jun 2023 09:26:50 +0200 Subject: [PATCH 10/17] update analysis attributes to match DB and add 404 responses --- paths/analyses/add.yml | 6 ++++++ paths/analyses/del.yml | 6 ++++++ paths/analyses/get.yml | 6 ++++++ paths/analyses/update.yml | 6 ++++++ schemas/analyses/Analysis.yml | 20 ++++++++++---------- 5 files changed, 34 insertions(+), 10 deletions(-) diff --git a/paths/analyses/add.yml b/paths/analyses/add.yml index e52e7cf..5075298 100644 --- a/paths/analyses/add.yml +++ b/paths/analyses/add.yml @@ -18,3 +18,9 @@ responses: application/json: schema: $ref: ../../schemas/analyses/AnalysesResponse.yml + 404: + description: error + content: + application/json: + schema: + $ref: ../../schemas/utils/BaseResponse.yml diff --git a/paths/analyses/del.yml b/paths/analyses/del.yml index 2b1780a..4fa421b 100644 --- a/paths/analyses/del.yml +++ b/paths/analyses/del.yml @@ -18,3 +18,9 @@ responses: application/json: schema: $ref: ../../schemas/analyses/AnalysesResponse.yml + 404: + description: error + content: + application/json: + schema: + $ref: ../../schemas/utils/BaseResponse.yml diff --git a/paths/analyses/get.yml b/paths/analyses/get.yml index 2ec94bf..ac2c742 100644 --- a/paths/analyses/get.yml +++ b/paths/analyses/get.yml @@ -22,3 +22,9 @@ responses: application/json: schema: $ref: ../../schemas/analyses/AnalysesResponse.yml + 404: + description: error + content: + application/json: + schema: + $ref: ../../schemas/utils/BaseResponse.yml diff --git a/paths/analyses/update.yml b/paths/analyses/update.yml index 8b02763..dbc7717 100644 --- a/paths/analyses/update.yml +++ b/paths/analyses/update.yml @@ -18,3 +18,9 @@ responses: application/json: schema: $ref: ../../schemas/analyses/AnalysesResponse.yml + 404: + description: error + content: + application/json: + schema: + $ref: ../../schemas/utils/BaseResponse.yml diff --git a/schemas/analyses/Analysis.yml b/schemas/analyses/Analysis.yml index 7a0435d..3467db0 100644 --- a/schemas/analyses/Analysis.yml +++ b/schemas/analyses/Analysis.yml @@ -9,19 +9,19 @@ properties: description: "name of the analysis" type: string example: "My mapping" - creation_date: + description: + description: "description of the analysis" + type: string + example: "mapping of metabolites on mouse biosource" + url: + description: "url of the analysis" + type: string + example: "http://localhost:3000/mapping/metabolites/23" + creationDate: allOf: - $ref: "../utils/DatePattern.yml" description: "date of the creation of the analysis (ISO 8601 full-time format)" - edition_date: + editionDate: allOf: - $ref: "../utils/DatePattern.yml" description: "date of the last modification (ISO 8601 full-time format)" - desc: - description: "description of the analysis" - type: string - example: "mapping of metabolites on mouse biosource" - input: - description: "id of the first step of the analysis" - type: integer - example: 1 \ No newline at end of file -- GitLab From 76b3c7ddd984cfa01eec62721608769a5ac00756 Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Thu, 29 Jun 2023 13:17:02 +0200 Subject: [PATCH 11/17] reponse 404 --- paths/analyses/add.yml | 6 +----- paths/analyses/del.yml | 6 +----- paths/analyses/get.yml | 6 +----- paths/analyses/update.yml | 6 +----- paths/biosources.yml | 4 +++- paths/enzymes/get.yml | 2 ++ paths/filters/get.yml | 2 ++ paths/genes/get.yml | 2 ++ paths/metabolites/get.yml | 2 ++ paths/pathways/get.yml | 2 ++ paths/proteins/get.yml | 2 ++ paths/reactions/get.yml | 2 ++ paths/root.yml | 4 +++- paths/steps/get.yml | 4 +++- paths/users/create.yml | 4 +++- paths/users/login.yml | 4 +++- paths/users/token_login.yml | 4 +++- responses/notFound.yml | 5 +++++ 18 files changed, 41 insertions(+), 26 deletions(-) create mode 100644 responses/notFound.yml diff --git a/paths/analyses/add.yml b/paths/analyses/add.yml index 5075298..950a917 100644 --- a/paths/analyses/add.yml +++ b/paths/analyses/add.yml @@ -19,8 +19,4 @@ responses: schema: $ref: ../../schemas/analyses/AnalysesResponse.yml 404: - description: error - content: - application/json: - schema: - $ref: ../../schemas/utils/BaseResponse.yml + $ref: ../../responses/notFound.yml diff --git a/paths/analyses/del.yml b/paths/analyses/del.yml index 4fa421b..67f5436 100644 --- a/paths/analyses/del.yml +++ b/paths/analyses/del.yml @@ -19,8 +19,4 @@ responses: schema: $ref: ../../schemas/analyses/AnalysesResponse.yml 404: - description: error - content: - application/json: - schema: - $ref: ../../schemas/utils/BaseResponse.yml + $ref: ../../responses/notFound.yml \ No newline at end of file diff --git a/paths/analyses/get.yml b/paths/analyses/get.yml index ac2c742..81d9cff 100644 --- a/paths/analyses/get.yml +++ b/paths/analyses/get.yml @@ -23,8 +23,4 @@ responses: schema: $ref: ../../schemas/analyses/AnalysesResponse.yml 404: - description: error - content: - application/json: - schema: - $ref: ../../schemas/utils/BaseResponse.yml + $ref: ../../responses/notFound.yml diff --git a/paths/analyses/update.yml b/paths/analyses/update.yml index dbc7717..b59f8e3 100644 --- a/paths/analyses/update.yml +++ b/paths/analyses/update.yml @@ -19,8 +19,4 @@ responses: schema: $ref: ../../schemas/analyses/AnalysesResponse.yml 404: - description: error - content: - application/json: - schema: - $ref: ../../schemas/utils/BaseResponse.yml + $ref: ../../responses/notFound.yml diff --git a/paths/biosources.yml b/paths/biosources.yml index 55b3bfd..e161857 100644 --- a/paths/biosources.yml +++ b/paths/biosources.yml @@ -6,9 +6,11 @@ get: x-eov-operation-handler: "biosources" description: "get all biosources" responses: - "200": + 200: description: successful operation content: application/json: schema: $ref: '../schemas/biosources/BioSourcesResponse.yml' + 404: + $ref: ../responses/notFound.yml diff --git a/paths/enzymes/get.yml b/paths/enzymes/get.yml index 242f018..cb1db3a 100644 --- a/paths/enzymes/get.yml +++ b/paths/enzymes/get.yml @@ -32,3 +32,5 @@ get: application/json: schema: $ref: ../../schemas/enzymes/EnzymesResponse.yml + 404: + $ref: ../../responses/notFound.yml diff --git a/paths/filters/get.yml b/paths/filters/get.yml index d4ff4c2..4d8cdf8 100644 --- a/paths/filters/get.yml +++ b/paths/filters/get.yml @@ -27,3 +27,5 @@ get: application/json: schema: $ref: ../../schemas/filters/FiltersResponse.yml + 404: + $ref: ../../responses/notFound.yml diff --git a/paths/genes/get.yml b/paths/genes/get.yml index 4d559f0..f888c83 100644 --- a/paths/genes/get.yml +++ b/paths/genes/get.yml @@ -32,3 +32,5 @@ get: application/json: schema: $ref: ../../schemas/genes/GenesResponse.yml + 404: + $ref: ../../responses/notFound.yml diff --git a/paths/metabolites/get.yml b/paths/metabolites/get.yml index 99ff130..94ef17c 100644 --- a/paths/metabolites/get.yml +++ b/paths/metabolites/get.yml @@ -32,3 +32,5 @@ get: application/json: schema: $ref: ../../schemas/metabolites/MetabolitesResponse.yml + 404: + $ref: ../../responses/notFound.yml diff --git a/paths/pathways/get.yml b/paths/pathways/get.yml index 3df5a5d..a583318 100644 --- a/paths/pathways/get.yml +++ b/paths/pathways/get.yml @@ -32,3 +32,5 @@ get: application/json: schema: $ref: ../../schemas/pathways/PathwaysResponse.yml + 404: + $ref: ../../responses/notFound.yml diff --git a/paths/proteins/get.yml b/paths/proteins/get.yml index a2ea2e2..e570b85 100644 --- a/paths/proteins/get.yml +++ b/paths/proteins/get.yml @@ -32,3 +32,5 @@ get: application/json: schema: $ref: ../../schemas/proteins/ProteinsResponse.yml + 404: + $ref: ../../responses/notFound.yml diff --git a/paths/reactions/get.yml b/paths/reactions/get.yml index 476600c..16a1263 100644 --- a/paths/reactions/get.yml +++ b/paths/reactions/get.yml @@ -32,3 +32,5 @@ get: application/json: schema: $ref: ../../schemas/reactions/ReactionsResponse.yml + 404: + $ref: ../../responses/notFound.yml diff --git a/paths/root.yml b/paths/root.yml index d946a35..4ea2c9e 100644 --- a/paths/root.yml +++ b/paths/root.yml @@ -5,9 +5,11 @@ get: operationId: "root" x-eov-operation-handler: "root" responses: - "200": + 200: description: OK content: application/json: schema: $ref: "../schemas/utils/BaseResponse.yml" + 404: + $ref: ../responses/notFound.yml diff --git a/paths/steps/get.yml b/paths/steps/get.yml index 35bdb0b..dc06399 100644 --- a/paths/steps/get.yml +++ b/paths/steps/get.yml @@ -18,4 +18,6 @@ get: content: application/json: schema: - $ref: "../../schemas/steps/StepResponse.yml" \ No newline at end of file + $ref: "../../schemas/steps/StepResponse.yml" + 404: + $ref: ../../responses/notFound.yml \ No newline at end of file diff --git a/paths/users/create.yml b/paths/users/create.yml index 84f610b..a2a1474 100644 --- a/paths/users/create.yml +++ b/paths/users/create.yml @@ -12,9 +12,11 @@ post: items: $ref: '../../schemas/users/User.yml' responses: - "200": + 200: description: successful operation content: application/json: schema: $ref: '../../schemas/users/UserResponse.yml' + 404: + $ref: ../../responses/notFound.yml diff --git a/paths/users/login.yml b/paths/users/login.yml index 2346637..d16c4a0 100644 --- a/paths/users/login.yml +++ b/paths/users/login.yml @@ -12,9 +12,11 @@ post: items: $ref: '../../schemas/users/User.yml' responses: - "200": + 200: description: successful operation content: application/json: schema: $ref: '../../schemas/users/UserResponse.yml' + 404: + $ref: ../../responses/notFound.yml diff --git a/paths/users/token_login.yml b/paths/users/token_login.yml index e94c103..804a223 100644 --- a/paths/users/token_login.yml +++ b/paths/users/token_login.yml @@ -14,9 +14,11 @@ post: schema: type: string responses: - "200": + 200: description: successful operation content: application/json: schema: $ref: "../../schemas/users/UserResponse.yml" + 404: + $ref: ../../responses/notFound.yml diff --git a/responses/notFound.yml b/responses/notFound.yml new file mode 100644 index 0000000..e45accd --- /dev/null +++ b/responses/notFound.yml @@ -0,0 +1,5 @@ +description: not found +content: + application/json: + schema: + $ref: ../schemas/utils/BaseResponse.yml \ No newline at end of file -- GitLab From b7b0ab90664c86568a441cdd7ca69b1ced8467dc Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Thu, 29 Jun 2023 13:24:41 +0200 Subject: [PATCH 12/17] get analysis authorize one id integer --- paths/analyses/get.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/paths/analyses/get.yml b/paths/analyses/get.yml index 81d9cff..71566c9 100644 --- a/paths/analyses/get.yml +++ b/paths/analyses/get.yml @@ -10,11 +10,7 @@ parameters: description: id of the analysis required: false schema: - type: string - # autoriser les caractères spéciaux - # pour demander des listes d'identifiants - # example: /analyses/123,456,789 - allowReserved: true + type: integer responses: 200: description: successful operation -- GitLab From eb3621bb2958bee2fbcac24da650b07d963deaf2 Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Thu, 29 Jun 2023 13:27:05 +0200 Subject: [PATCH 13/17] add example for dates --- schemas/analyses/Analysis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/schemas/analyses/Analysis.yml b/schemas/analyses/Analysis.yml index 3467db0..9015b6f 100644 --- a/schemas/analyses/Analysis.yml +++ b/schemas/analyses/Analysis.yml @@ -21,7 +21,9 @@ properties: allOf: - $ref: "../utils/DatePattern.yml" description: "date of the creation of the analysis (ISO 8601 full-time format)" + example: "2023-06-29 13:26:00" editionDate: allOf: - $ref: "../utils/DatePattern.yml" description: "date of the last modification (ISO 8601 full-time format)" + example: "2023-06-29 13:26:00" -- GitLab From 7c459bf354271898a44f101b811b18232224a7af Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Thu, 29 Jun 2023 13:38:28 +0200 Subject: [PATCH 14/17] update methods description --- paths/analyses/add.yml | 2 +- paths/analyses/del.yml | 4 ++-- paths/analyses/get.yml | 2 +- paths/analyses/update.yml | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/paths/analyses/add.yml b/paths/analyses/add.yml index 950a917..d4c06eb 100644 --- a/paths/analyses/add.yml +++ b/paths/analyses/add.yml @@ -1,7 +1,7 @@ tags: - Analyses summary: add Analysis -description: add for Analysis +description: "add an Analysis with data in the body of the request as json (name, description and url)" operationId: addAnalyses x-eov-operation-handler: analyses requestBody: diff --git a/paths/analyses/del.yml b/paths/analyses/del.yml index 67f5436..1d6789b 100644 --- a/paths/analyses/del.yml +++ b/paths/analyses/del.yml @@ -1,7 +1,7 @@ tags: - Analyses -summary: del Analysis -description: delete for Analysis +summary: delete Analysis +description: "delete the Analysis with its id" operationId: delAnalyses x-eov-operation-handler: analyses parameters: diff --git a/paths/analyses/get.yml b/paths/analyses/get.yml index 71566c9..faf4274 100644 --- a/paths/analyses/get.yml +++ b/paths/analyses/get.yml @@ -1,7 +1,7 @@ tags: - Analyses summary: get Analysis -description: get from Analysis +description: "get data from Analysis : if no id specified, all the analysis ; else only the one with corresponding id" operationId: getAnalyses x-eov-operation-handler: analyses parameters: diff --git a/paths/analyses/update.yml b/paths/analyses/update.yml index b59f8e3..ba82626 100644 --- a/paths/analyses/update.yml +++ b/paths/analyses/update.yml @@ -1,7 +1,7 @@ tags: - Analyses -summary: add Analysis -description: update for Analysis +summary: update Analysis +description: "update one Analysis with its id, the data to modify is passed in the body of the request in json format (name, description, url)" operationId: updateAnalysis x-eov-operation-handler: analyses requestBody: -- GitLab From 9732f2773bb7bbd9fc1cb5a5274966ae461cfe46 Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Thu, 6 Jul 2023 11:34:15 +0200 Subject: [PATCH 15/17] change requestBody schema --- paths/analyses/add.yml | 4 +--- paths/analyses/update.yml | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/paths/analyses/add.yml b/paths/analyses/add.yml index d4c06eb..d7887c6 100644 --- a/paths/analyses/add.yml +++ b/paths/analyses/add.yml @@ -8,9 +8,7 @@ requestBody: content: application/json: schema: - type: object - items: - $ref: ../../schemas/analyses/AnalysesResponse.yml + $ref: ../../schemas/analyses/Analysis.yml responses: 200: description: successful operation diff --git a/paths/analyses/update.yml b/paths/analyses/update.yml index ba82626..b889d39 100644 --- a/paths/analyses/update.yml +++ b/paths/analyses/update.yml @@ -8,9 +8,7 @@ requestBody: content: application/json: schema: - type: object - items: - $ref: ../../schemas/analyses/AnalysesResponse.yml + $ref: ../../schemas/analyses/Analysis.yml responses: 200: description: successful operation -- GitLab From 7ce301f6bd539066a86d4bd70c626a2c8e104c88 Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Wed, 19 Jul 2023 11:25:26 +0200 Subject: [PATCH 16/17] add count paths and schema --- metexplore3-api.yml | 12 ++++++++++++ paths/enzymes/count.yml | 23 +++++++++++++++++++++++ paths/genes/count.yml | 23 +++++++++++++++++++++++ paths/metabolites/count.yml | 23 +++++++++++++++++++++++ paths/pathways/count.yml | 23 +++++++++++++++++++++++ paths/proteins/count.yml | 23 +++++++++++++++++++++++ paths/reactions/count.yml | 23 +++++++++++++++++++++++ schemas/utils/CountResponse.yml | 6 ++++++ 8 files changed, 156 insertions(+) create mode 100644 paths/enzymes/count.yml create mode 100644 paths/genes/count.yml create mode 100644 paths/metabolites/count.yml create mode 100644 paths/pathways/count.yml create mode 100644 paths/proteins/count.yml create mode 100644 paths/reactions/count.yml create mode 100644 schemas/utils/CountResponse.yml diff --git a/metexplore3-api.yml b/metexplore3-api.yml index 411c0b1..798f132 100644 --- a/metexplore3-api.yml +++ b/metexplore3-api.yml @@ -42,21 +42,33 @@ paths: /pathways: $ref: "paths/pathways/get.yml" + /pathways/count: + $ref: "paths/pathways/count.yml" /reactions: $ref: "paths/reactions/get.yml" + /reactions/count: + $ref: "paths/reactions/count.yml" /metabolites: $ref: "paths/metabolites/get.yml" + /metabolites/count: + $ref: "paths/metabolites/count.yml" /enzymes: $ref: "paths/enzymes/get.yml" + /enzymes/count: + $ref: "paths/enzymes/count.yml" /proteins: $ref: "paths/proteins/get.yml" + /proteins/count: + $ref: "paths/proteins/count.yml" /genes: $ref: "paths/genes/get.yml" + /genes/count: + $ref: "paths/genes/count.yml" /filter: $ref: "paths/filters/get.yml" diff --git a/paths/enzymes/count.yml b/paths/enzymes/count.yml new file mode 100644 index 0000000..5c86c6a --- /dev/null +++ b/paths/enzymes/count.yml @@ -0,0 +1,23 @@ +get: + tags: + - Enzymes + summary: count ligns Enzyme + description: get the number of enzymes for one biosource + operationId: countEnzymes + x-eov-operation-handler: enzymes + parameters: + - name: idBioSource + in: query + description: the idBioSource for the Enzyme + required: true + schema: + type: integer + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: ../../schemas/utils/CountResponse.yml + 404: + $ref: ../../responses/notFound.yml diff --git a/paths/genes/count.yml b/paths/genes/count.yml new file mode 100644 index 0000000..49c9d9b --- /dev/null +++ b/paths/genes/count.yml @@ -0,0 +1,23 @@ +get: + tags: + - Genes + summary: count ligns Genes + description: get the number of genes for one biosource + operationId: countGenes + x-eov-operation-handler: genes + parameters: + - name: idBioSource + in: query + description: the idBioSource for the genes + required: true + schema: + type: integer + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: ../../schemas/utils/CountResponse.yml + 404: + $ref: ../../responses/notFound.yml diff --git a/paths/metabolites/count.yml b/paths/metabolites/count.yml new file mode 100644 index 0000000..393b777 --- /dev/null +++ b/paths/metabolites/count.yml @@ -0,0 +1,23 @@ +get: + tags: + - Metabolites + summary: count ligns Metabolites + description: get the number of metabolites for one biosource + operationId: countMetabolites + x-eov-operation-handler: metabolites + parameters: + - name: idBioSource + in: query + description: the idBioSource for the metabolites + required: true + schema: + type: integer + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: ../../schemas/utils/CountResponse.yml + 404: + $ref: ../../responses/notFound.yml diff --git a/paths/pathways/count.yml b/paths/pathways/count.yml new file mode 100644 index 0000000..1fcd3e1 --- /dev/null +++ b/paths/pathways/count.yml @@ -0,0 +1,23 @@ +get: + tags: + - Pathways + summary: count ligns Pathways + description: get the number of pathways for one biosource + operationId: countPathways + x-eov-operation-handler: pathways + parameters: + - name: idBioSource + in: query + description: the idBioSource for the pathways + required: true + schema: + type: integer + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: ../../schemas/utils/CountResponse.yml + 404: + $ref: ../../responses/notFound.yml diff --git a/paths/proteins/count.yml b/paths/proteins/count.yml new file mode 100644 index 0000000..afff9f6 --- /dev/null +++ b/paths/proteins/count.yml @@ -0,0 +1,23 @@ +get: + tags: + - Proteins + summary: count ligns Proteins + description: get the number of proteins for one biosource + operationId: countProteins + x-eov-operation-handler: proteins + parameters: + - name: idBioSource + in: query + description: the idBioSource for the proteins + required: true + schema: + type: integer + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: ../../schemas/utils/CountResponse.yml + 404: + $ref: ../../responses/notFound.yml diff --git a/paths/reactions/count.yml b/paths/reactions/count.yml new file mode 100644 index 0000000..d3d1548 --- /dev/null +++ b/paths/reactions/count.yml @@ -0,0 +1,23 @@ +get: + tags: + - Reactions + summary: count ligns Reactions + description: get the number of reactions for one biosource + operationId: countReactions + x-eov-operation-handler: reactions + parameters: + - name: idBioSource + in: query + description: the idBioSource for the reactions + required: true + schema: + type: integer + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: ../../schemas/utils/CountResponse.yml + 404: + $ref: ../../responses/notFound.yml diff --git a/schemas/utils/CountResponse.yml b/schemas/utils/CountResponse.yml new file mode 100644 index 0000000..390800b --- /dev/null +++ b/schemas/utils/CountResponse.yml @@ -0,0 +1,6 @@ +allOf: + - $ref: '../utils/BaseResponse.yml' + - type: object + - properties: + count: + type: integer -- GitLab From 686a334df6530f896612e4fc046bd0227c5f3895 Mon Sep 17 00:00:00 2001 From: "marion.liotier" <marion.liotier@inrae.fr> Date: Wed, 19 Jul 2023 11:53:05 +0200 Subject: [PATCH 17/17] add 404 response --- paths/steps/add.yml | 4 +++- paths/steps/get.yml | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/paths/steps/add.yml b/paths/steps/add.yml index 0237d42..b830653 100644 --- a/paths/steps/add.yml +++ b/paths/steps/add.yml @@ -17,4 +17,6 @@ responses: content: application/json: schema: - $ref: ../../schemas/steps/StepResponse.yml \ No newline at end of file + $ref: ../../schemas/steps/StepResponse.yml + 404: + $ref: ../../responses/notFound.yml \ No newline at end of file diff --git a/paths/steps/get.yml b/paths/steps/get.yml index ad66a0f..086ff15 100644 --- a/paths/steps/get.yml +++ b/paths/steps/get.yml @@ -24,3 +24,5 @@ responses: application/json: schema: $ref: "../../schemas/steps/StepResponse.yml" + 404: + $ref: ../../responses/notFound.yml -- GitLab