Merge "API versioning supported and added different versions for POST APIs"
[cps.git] / cps-rest / docs / openapi / cpsAdmin.yml
index 1a2e65f..f60a9be 100644 (file)
@@ -1,34 +1,34 @@
-dataspaces:
-  post:
-    description: Create a new dataspace
-    tags:
-      - cps-admin
-    summary: Create a dataspace
-    operationId: createDataspace
-    parameters:
-      - $ref: 'components.yml#/components/parameters/dataspaceNameInQuery'
-    responses:
-      '201':
-        $ref: 'components.yml#/components/responses/Created'
-      '400':
-        $ref: 'components.yml#/components/responses/BadRequest'
-      '401':
-        $ref: 'components.yml#/components/responses/Unauthorized'
-      '403':
-        $ref: 'components.yml#/components/responses/Forbidden'
+# ============LICENSE_START=======================================================
+# Copyright (c) 2021 Bell Canada.
+# Modifications Copyright (C) 2021-2022 Nordix Foundation
+# Modifications Copyright (C) 2022 TechMahindra Ltd.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
 
-dataspaceByDataspaceName:
+dataspaces:
   delete:
-    description: Delete the given dataspace - DRAFT
+    description: Delete a dataspace
     tags:
       - cps-admin
     summary: Delete a dataspace
     operationId: deleteDataspace
     parameters:
-      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInQuery'
     responses:
-      '200':
-        $ref: 'components.yml#/components/responses/Ok'
       '204':
         $ref: 'components.yml#/components/responses/NoContent'
       '400':
@@ -37,34 +37,38 @@ dataspaceByDataspaceName:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
 
 schemaSet:
-  post:
-    description: Create a new schema set in the given dataspace
+  get:
+    description: Read all schema sets, given a dataspace
     tags:
       - cps-admin
-    summary: Create a schema set
-    operationId: createSchemaSet
+    summary: Get schema sets
+    operationId: getSchemaSets
     parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
-      - $ref: 'components.yml#/components/parameters/schemaSetNameInQuery'
-    requestBody:
-      required: true
-      content:
-        multipart/form-data:
-          schema:
-            $ref: 'components.yml#/components/schemas/MultipartFile'
-
     responses:
-      '201':
-        $ref: 'components.yml#/components/responses/Created'
+      '200':
+        description: OK
+        content:
+          application/json:
+            schema:
+              type: array
+              items:
+                $ref: 'components.yml#/components/schemas/SchemaSetDetails'
       '400':
         $ref: 'components.yml#/components/responses/BadRequest'
       '401':
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
 
 schemaSetBySchemaSetName:
   get:
@@ -74,6 +78,7 @@ schemaSetBySchemaSetName:
     summary: Get a schema set
     operationId: getSchemaSet
     parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
       - $ref: 'components.yml#/components/parameters/schemaSetNameInPath'
     responses:
@@ -89,9 +94,8 @@ schemaSetBySchemaSetName:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-      '404':
-        $ref: 'components.yml#/components/responses/NotFound'
-
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   delete:
     description: Delete a schema set given a schema set name and a dataspace
     tags:
@@ -99,6 +103,7 @@ schemaSetBySchemaSetName:
     summary: Delete a schema set
     operationId: deleteSchemaSet
     parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
       - $ref: 'components.yml#/components/parameters/schemaSetNameInPath'
     responses:
@@ -112,6 +117,8 @@ schemaSetBySchemaSetName:
         $ref: 'components.yml#/components/responses/Forbidden'
       '409':
         $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
 
 anchorsByDataspace:
   get:
@@ -121,6 +128,7 @@ anchorsByDataspace:
     summary: Get anchors
     operationId: getAnchors
     parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
     responses:
       '200':
@@ -137,28 +145,8 @@ anchorsByDataspace:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-      '404':
-        $ref: 'components.yml#/components/responses/NotFound'
-
-  post:
-    description: Create a new anchor in the given dataspace
-    tags:
-      - cps-admin
-    summary: Create an anchor
-    operationId: createAnchor
-    parameters:
-      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
-      - $ref: 'components.yml#/components/parameters/schemaSetNameInQuery'
-      - $ref: 'components.yml#/components/parameters/anchorNameInQuery'
-    responses:
-      '201':
-        $ref: 'components.yml#/components/responses/Created'
-      '400':
-        $ref: 'components.yml#/components/responses/BadRequest'
-      '401':
-        $ref: 'components.yml#/components/responses/Unauthorized'
-      '403':
-        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
 
 anchorByDataspaceAndAnchorName:
   get:
@@ -168,6 +156,7 @@ anchorByDataspaceAndAnchorName:
     summary: Get an anchor
     operationId: getAnchor
     parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
       - $ref: 'components.yml#/components/parameters/anchorNameInPath'
     responses:
@@ -183,9 +172,8 @@ anchorByDataspaceAndAnchorName:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-      '404':
-        $ref: 'components.yml#/components/responses/NotFound'
-
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   delete:
     description: Delete an anchor given an anchor name and a dataspace
     tags:
@@ -193,6 +181,7 @@ anchorByDataspaceAndAnchorName:
     summary: Delete an anchor
     operationId: deleteAnchor
     parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
       - $ref: 'components.yml#/components/parameters/anchorNameInPath'
     responses:
@@ -203,4 +192,59 @@ anchorByDataspaceAndAnchorName:
       '401':
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
-        $ref: 'components.yml#/components/responses/Forbidden'
\ No newline at end of file
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+
+adminDataspaces:
+ get:
+   description: Read all dataspaces
+   tags:
+     - cps-admin
+   summary: Get all dataspaces
+   operationId: getAllDataspaces
+   parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+   responses:
+     '200':
+       description: OK
+       content:
+         application/json:
+           schema:
+             type: array
+             items:
+               $ref: 'components.yml#/components/schemas/DataspaceDetails'
+     '400':
+       $ref: 'components.yml#/components/responses/BadRequest'
+     '401':
+       $ref: 'components.yml#/components/responses/Unauthorized'
+     '403':
+       $ref: 'components.yml#/components/responses/Forbidden'
+     '500':
+       $ref: 'components.yml#/components/responses/InternalServerError'
+
+adminDataspace:
+ get:
+   description: Read a dataspace given a dataspace name
+   tags:
+     - cps-admin
+   summary: Get a dataspace
+   operationId: getDataspace
+   parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+   responses:
+     '200':
+       description: OK
+       content:
+         application/json:
+           schema:
+             $ref: 'components.yml#/components/schemas/DataspaceDetails'
+     '400':
+       $ref: 'components.yml#/components/responses/BadRequest'
+     '401':
+       $ref: 'components.yml#/components/responses/Unauthorized'
+     '403':
+       $ref: 'components.yml#/components/responses/Forbidden'
+     '500':
+       $ref: 'components.yml#/components/responses/InternalServerError'