Updated openapi.yaml to match to changes in get data node API
[cps.git] / cps-rest / docs / openapi / cpsData.yml
index d456f44..265ee23 100644 (file)
@@ -1,5 +1,6 @@
 # ============LICENSE_START=======================================================
-# Copyright (c) 2021 Bell Canada.
+# Copyright (c) 2021-2022 Bell Canada.
+# Modifications Copyright (C) 2021-2022 Nordix Foundation
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -35,24 +36,26 @@ nodeByDataspaceAndAnchor:
           application/json:
             schema:
               type: object
-            example: { "child": my_child,"leafList": "leafListElement1, leafListElement2", "leaf": my_leaf }
+            examples:
+              dataSample:
+                $ref: 'components.yml#/components/examples/dataSample'
       '400':
         $ref: 'components.yml#/components/responses/BadRequest'
       '401':
         $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'
     x-codegen-request-body-name: xpath
 
-listNodeByDataspaceAndAnchor:
+listElementByDataspaceAndAnchor:
   post:
-    description: Add list-node child elements to existing node for a given anchor and dataspace
+    description: Add list element(s) to a list for a given anchor and dataspace
     tags:
       - cps-data
-    summary: Add list-node child element(s) under existing parent node
-    operationId: addListNodeElements
+    summary: Add list element(s)
+    operationId: addListElements
     parameters:
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
       - $ref: 'components.yml#/components/parameters/anchorNameInPath'
@@ -63,7 +66,10 @@ listNodeByDataspaceAndAnchor:
       content:
         application/json:
           schema:
-            type: string
+            type: object
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
     responses:
       '201':
         $ref: 'components.yml#/components/responses/Created'
@@ -73,13 +79,14 @@ listNodeByDataspaceAndAnchor:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   put:
-    description: Replace list-node child elements under existing node for a given anchor and dataspace
+    description: Replace list content under a given parent, anchor and dataspace
     tags:
       - cps-data
-    summary: Replace list-node child element(s) under existing parent node
-    operationId: replaceListNodeElements
+    summary: Replace list content
+    operationId: replaceListContent
     parameters:
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
       - $ref: 'components.yml#/components/parameters/anchorNameInPath'
@@ -90,23 +97,28 @@ listNodeByDataspaceAndAnchor:
       content:
         application/json:
           schema:
-            type: string
+            type: object
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
     responses:
       '200':
-        $ref: 'components.yml#/components/responses/Created'
+        $ref: 'components.yml#/components/responses/Ok'
       '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'
   delete:
-    description: Delete list-node child elements under existing node for a given anchor and dataspace
+    description: Delete one or all list element(s) for a given anchor and dataspace
+    deprecated: true
     tags:
       - cps-data
-    summary: Delete list-node child element(s) under existing parent node
-    operationId: deleteListNodeElements
+    summary: Delete one or all list element(s)
+    operationId: deleteListOrListElement
     parameters:
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
       - $ref: 'components.yml#/components/parameters/anchorNameInPath'
@@ -121,6 +133,8 @@ listNodeByDataspaceAndAnchor:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
 
 nodesByDataspaceAndAnchor:
   post:
@@ -139,7 +153,10 @@ nodesByDataspaceAndAnchor:
       content:
         application/json:
           schema:
-            type: string
+            type: object
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
     responses:
       '201':
         $ref: 'components.yml#/components/responses/Created'
@@ -149,7 +166,10 @@ nodesByDataspaceAndAnchor:
         $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'
   patch:
     description: Update a data node leaves for a given dataspace and anchor and a parent node xpath
     tags:
@@ -166,7 +186,10 @@ nodesByDataspaceAndAnchor:
       content:
         application/json:
           schema:
-            type: string
+            type: object
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
     responses:
       '200':
         $ref: 'components.yml#/components/responses/Ok'
@@ -176,7 +199,30 @@ nodesByDataspaceAndAnchor:
         $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+  delete:
+    description: Delete a datanode for a given dataspace and anchor given a node xpath.
+    tags:
+      - cps-data
+    summary: Delete a data node
+    operationId: deleteDataNode
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
+      - $ref: 'components.yml#/components/parameters/xpathInQuery'
+      - $ref: 'components.yml#/components/parameters/observedTimestampInQuery'
+    responses:
+      '204':
+        $ref: 'components.yml#/components/responses/NoContent'
+      '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'
   put:
     description: Replace a node with descendants for a given dataspace, anchor and a parent node xpath
     tags:
@@ -193,7 +239,10 @@ nodesByDataspaceAndAnchor:
       content:
         application/json:
           schema:
-            type: string
+            type: object
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
     responses:
       '200':
         $ref: 'components.yml#/components/responses/Ok'
@@ -202,4 +251,6 @@ nodesByDataspaceAndAnchor:
       '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'