From 897686f96f49dc4405eb3e29f2a6218dc8040c97 Mon Sep 17 00:00:00 2001 From: "rajesh.kumar" Date: Wed, 14 Dec 2022 08:13:29 +0000 Subject: API versioning supported and added different versions for POST APIs Issue-ID: CPS-1189 Change-ID: I73f97f986a817d423f92f8d922dcd9647b1214aa Signed-off-by: rajesh.kumar --- docs/api/swagger/cps/openapi.yaml | 297 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 281 insertions(+), 16 deletions(-) (limited to 'docs/api') diff --git a/docs/api/swagger/cps/openapi.yaml b/docs/api/swagger/cps/openapi.yaml index 09ccbe14a..ec7d29524 100644 --- a/docs/api/swagger/cps/openapi.yaml +++ b/docs/api/swagger/cps/openapi.yaml @@ -29,6 +29,7 @@ paths: summary: Create a dataspace description: Create a new dataspace operationId: createDataspace + deprecated: true parameters: - name: dataspace-name in: query @@ -95,6 +96,75 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred + /v2/dataspaces: + post: + tags: + - cps-admin + summary: Create a dataspace + description: Create a new dataspace + operationId: createDataspaceV2 + parameters: + - name: dataspace-name + in: query + description: dataspace-name + required: true + schema: + type: string + example: my-dataspace + responses: + "201": + description: Created + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 400 + message: Bad Request + details: The provided request is not valid + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 403 + message: Request Forbidden + details: This request is forbidden + "409": + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 409 + message: Conflicting request + details: The request cannot be processed as the resource is in use. + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 500 + message: Internal Server Error + details: Internal Server Error occurred + /{apiVersion}/dataspaces: delete: tags: - cps-admin @@ -102,6 +172,7 @@ paths: description: Delete a dataspace operationId: deleteDataspace parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: query description: dataspace-name @@ -163,13 +234,15 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/admin/dataspaces: + /{apiVersion}/admin/dataspaces: get: tags: - cps-admin summary: Get dataspaces description: "Read all dataspaces" operationId: getAllDataspaces + parameters: + - $ref: '#/components/parameters/apiVersionInPath' responses: "200": description: OK @@ -219,7 +292,7 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/admin/dataspaces/{dataspace-name}: + /{apiVersion}/admin/dataspaces/{dataspace-name}: get: tags: - cps-admin @@ -227,6 +300,7 @@ paths: description: Read an dataspace given a dataspace name operationId: getDataspace parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -281,7 +355,7 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/dataspaces/{dataspace-name}/anchors: + /{apiVersion}/dataspaces/{dataspace-name}/anchors: get: tags: - cps-admin @@ -289,6 +363,7 @@ paths: description: "Read all anchors, given a dataspace" operationId: getAnchors parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -345,10 +420,12 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred + /v1/dataspaces/{dataspace-name}/anchors: post: tags: - cps-admin summary: Create an anchor + deprecated: true description: Create a new anchor in the given dataspace operationId: createAnchor parameters: @@ -431,7 +508,89 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}: + /v2/dataspaces/{dataspace-name}/anchors: + post: + tags: + - cps-admin + summary: Create an anchor + description: Create a new anchor in the given dataspace + operationId: createAnchorV2 + parameters: + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + example: my-dataspace + - name: schema-set-name + in: query + description: schema-set-name + required: true + schema: + type: string + example: my-schema-set + - name: anchor-name + in: query + description: anchor-name + required: true + schema: + type: string + example: my-anchor + responses: + "201": + description: Created + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 400 + message: Bad Request + details: The provided request is not valid + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 403 + message: Request Forbidden + details: This request is forbidden + "409": + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 409 + message: Conflicting request + details: The request cannot be processed as the resource is in use. + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 500 + message: Internal Server Error + details: Internal Server Error occurred + /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}: get: tags: - cps-admin @@ -439,6 +598,7 @@ paths: description: Read an anchor given an anchor name and a dataspace operationId: getAnchor parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -507,6 +667,7 @@ paths: description: Delete an anchor given an anchor name and a dataspace operationId: deleteAnchor parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -651,6 +812,88 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred + /v2/dataspaces/{dataspace-name}/schema-sets: + post: + tags: + - cps-admin + summary: Create a schema set + description: Create a new schema set in the given dataspace + operationId: createSchemaSetV2 + parameters: + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + example: my-dataspace + - name: schema-set-name + in: query + description: schema-set-name + required: true + schema: + type: string + example: my-schema-set + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/MultipartFile' + required: true + responses: + "201": + description: Created + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 400 + message: Bad Request + details: The provided request is not valid + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 403 + message: Request Forbidden + details: This request is forbidden + "409": + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 409 + message: Conflicting request + details: The request cannot be processed as the resource is in use. + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 500 + message: Internal Server Error + details: Internal Server Error occurred + /{apiVersion}/dataspaces/{dataspace-name}/schema-sets: get: tags: - cps-admin @@ -658,13 +901,14 @@ paths: description: "Read schema sets for a given dataspace" operationId: getSchemaSets parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string - example: my-dataspace + - $ref: '#/components/parameters/apiVersionInPath' + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + example: my-dataspace responses: "200": description: OK @@ -714,7 +958,7 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}: + /{apiVersion}/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}: get: tags: - cps-admin @@ -722,6 +966,7 @@ paths: description: Read a schema set given a schema set name and a dataspace operationId: getSchemaSet parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -790,6 +1035,7 @@ paths: description: Delete a schema set given a schema set name and a dataspace operationId: deleteSchemaSet parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -858,7 +1104,7 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node: + /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/node: get: tags: - cps-data @@ -867,6 +1113,7 @@ paths: anchor and dataspace operationId: getNodeByDataspaceAndAnchor parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -952,7 +1199,7 @@ paths: message: Internal Server Error details: Internal Server Error occurred x-codegen-request-body-name: xpath - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes: + /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes: put: tags: - cps-data @@ -961,6 +1208,7 @@ paths: \ and a parent node xpath" operationId: replaceNode parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -1060,6 +1308,7 @@ paths: description: Create a node for a given anchor and dataspace operationId: createNode parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -1168,6 +1417,7 @@ paths: xpath. operationId: deleteDataNode parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -1253,6 +1503,7 @@ paths: a parent node xpath operationId: updateNodeLeaves parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -1345,7 +1596,7 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes: + /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes: put: tags: - cps-data @@ -1353,6 +1604,7 @@ paths: description: "Replace list content under a given parent, anchor and dataspace" operationId: replaceListContent parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -1451,6 +1703,7 @@ paths: description: Add list element(s) to a list for a given anchor and dataspace operationId: addListElements parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -1547,6 +1800,7 @@ paths: description: Delete one or all list element(s) for a given anchor and dataspace operationId: deleteListOrListElement parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -1624,7 +1878,7 @@ paths: message: Internal Server Error details: Internal Server Error occurred deprecated: true - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query: + /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query: get: tags: - cps-query @@ -1632,6 +1886,7 @@ paths: description: Query data nodes for the given dataspace and anchor using CPS path operationId: getNodesByDataspaceAndAnchorAndCpsPath parameters: + - $ref: '#/components/parameters/apiVersionInPath' - name: dataspace-name in: path description: dataspace-name @@ -1718,6 +1973,16 @@ paths: details: Internal Server Error occurred x-codegen-request-body-name: xpath components: + parameters: + apiVersionInPath: + name: apiVersion + in: path + description: apiVersion + required: true + schema: + type: string + enum: [v1, v2] + default: v2 securitySchemes: basicAuth: type: http -- cgit 1.2.3-korg