diff options
author | JosephKeenan <joseph.keenan@est.tech> | 2021-06-23 14:15:52 +0100 |
---|---|---|
committer | JosephKeenan <joseph.keenan@est.tech> | 2021-07-16 14:58:31 +0100 |
commit | 2472e61ecf2f5ebf9c5e3ddcf9c2b66ab0d4219e (patch) | |
tree | ed7c5017a0ef4104dece1cc562f42063b419d815 /cps-rest/docs/openapi | |
parent | b81d0407c3f3356057bd1a8d66aadc42270becfe (diff) |
CPS-401 Update Open API YAML with data types and example for output (cpsData)
-added response for get data nodes based on dataspace and anchor
-modified modelmapper jn DataRestControllerSpec to be Spy not Mock
-when openapi.yaml is entered into https://editor.swagger.io/ it
displays however locally it does not, This may be due to file
segmentation but this is still unclear.
-moved files from docs/openapi to src/main/resources/static as required
for new swagger sprindoc
Issue-ID: CPS-401
Change-Id: I45286530d9a9ca85b56c0a656a44675398a003f4
Signed-off-by: JosephKeenan <joseph.keenan@est.tech>
Diffstat (limited to 'cps-rest/docs/openapi')
-rw-r--r-- | cps-rest/docs/openapi/components.yml | 207 | ||||
-rw-r--r-- | cps-rest/docs/openapi/cpsAdmin.yml | 222 | ||||
-rw-r--r-- | cps-rest/docs/openapi/cpsData.yml | 195 | ||||
-rw-r--r-- | cps-rest/docs/openapi/cpsQuery.yml | 42 | ||||
-rw-r--r-- | cps-rest/docs/openapi/openapi.yml | 77 |
5 files changed, 0 insertions, 743 deletions
diff --git a/cps-rest/docs/openapi/components.yml b/cps-rest/docs/openapi/components.yml deleted file mode 100644 index 6543fcab6d..0000000000 --- a/cps-rest/docs/openapi/components.yml +++ /dev/null @@ -1,207 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (c) 2021 Bell Canada. -# ================================================================================ -# 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. -# ============LICENSE_END========================================================= - -components: - schemas: - - AnchorDetails: - type: object - title: Anchor details by anchor Name - properties: - name: - type: string - example: my_anchor - dataspaceName: - type: string - example: my_dataspace - schemaSetName: - type: string - example: my_schema_set - - ErrorMessage: - type: object - title: Error - properties: - status: - type: string - example: 400 - message: - type: string - example: Dataspace not found - details: - type: string - example: Dataspace with name D1 does not exist. - - MultipartFile: - required: - - file - properties: - multipartFile: - type: string - description: multipartFile - format: binary - example: http://example.com/examples/example.yang - - ModuleReferences: - type: object - title: Module reference object - properties: - name: - type: string - example: module_reference_name - namespace: - type: string - example: module_reference_namespace - revision: - type: string - example: module_reference_revision - - SchemaSetDetails: - type: object - title: Schema set details by dataspace and schemasetName - properties: - dataspaceName: - type: string - example: my_dataspace - moduleReferences: - type: array - items: - $ref: '#/components/schemas/ModuleReferences' - name: - type: string - example: my_schema_set - - parameters: - dataspaceNameInQuery: - name: dataspace-name - in: query - description: dataspace-name - required: true - schema: - type: string - dataspaceNameInPath: - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string - anchorNameInPath: - name: anchor-name - in: path - description: anchor-name - required: true - schema: - type: string - schemaSetNameInQuery: - name: schema-set-name - in: query - description: schema-set-name - required: true - schema: - type: string - schemaSetNameInPath: - name: schema-set-name - in: path - description: schema-set-name - required: true - schema: - type: string - anchorNameInQuery: - name: anchor-name - in: query - description: anchor-name - required: true - schema: - type: string - xpathInQuery: - name: xpath - in: query - description: xpath - required: false - schema: - type: string - default: / - requiredXpathInQuery: - name: xpath - in: query - description: xpath - required: true - schema: - type: string - cpsPathInQuery: - name: cps-path - in: query - description: cps-path - required: false - schema: - type: string - default: / - includeDescendantsOptionInQuery: - name: include-descendants - in: query - description: include-descendants - required: false - schema: - type: boolean - default: false - - responses: - NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - BadRequest: - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - Conflict: - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - Ok: - description: OK - content: - application/json: - schema: - type: object - Created: - description: Created - content: - text/plain: - schema: - type: string - NoContent: - description: No Content - content: {} diff --git a/cps-rest/docs/openapi/cpsAdmin.yml b/cps-rest/docs/openapi/cpsAdmin.yml deleted file mode 100644 index 35b2e4ca6a..0000000000 --- a/cps-rest/docs/openapi/cpsAdmin.yml +++ /dev/null @@ -1,222 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (c) 2021 Bell Canada. -# ================================================================================ -# 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. -# ============LICENSE_END========================================================= - -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' - -dataspaceByDataspaceName: - delete: - description: Delete the given dataspace - DRAFT - tags: - - cps-admin - summary: Delete a dataspace - operationId: deleteDataspace - parameters: - - $ref: 'components.yml#/components/parameters/dataspaceNameInPath' - responses: - '200': - $ref: 'components.yml#/components/responses/Ok' - '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' - - -schemaSet: - post: - description: Create a new schema set in the given dataspace - tags: - - cps-admin - summary: Create a schema set - operationId: createSchemaSet - parameters: - - $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' - '400': - $ref: 'components.yml#/components/responses/BadRequest' - '401': - $ref: 'components.yml#/components/responses/Unauthorized' - '403': - $ref: 'components.yml#/components/responses/Forbidden' - -schemaSetBySchemaSetName: - get: - description: Read a schema set given a schema set name and a dataspace - tags: - - cps-admin - summary: Get a schema set - operationId: getSchemaSet - parameters: - - $ref: 'components.yml#/components/parameters/dataspaceNameInPath' - - $ref: 'components.yml#/components/parameters/schemaSetNameInPath' - responses: - '200': - description: OK - content: - application/json: - schema: - $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' - '404': - $ref: 'components.yml#/components/responses/NotFound' - - delete: - description: Delete a schema set given a schema set name and a dataspace - tags: - - cps-admin - summary: Delete a schema set - operationId: deleteSchemaSet - parameters: - - $ref: 'components.yml#/components/parameters/dataspaceNameInPath' - - $ref: 'components.yml#/components/parameters/schemaSetNameInPath' - 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' - '409': - $ref: 'components.yml#/components/responses/Conflict' - -anchorsByDataspace: - get: - description: Read all anchors, given a dataspace - tags: - - cps-admin - summary: Get anchors - operationId: getAnchors - parameters: - - $ref: 'components.yml#/components/parameters/dataspaceNameInPath' - responses: - '200': - description: OK - content: - application/json: - schema: - type: array - items: - $ref: 'components.yml#/components/schemas/AnchorDetails' - '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' - - 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' - -anchorByDataspaceAndAnchorName: - get: - description: Read an anchor given an anchor name and a dataspace - tags: - - cps-admin - summary: Get an anchor - operationId: getAnchor - parameters: - - $ref: 'components.yml#/components/parameters/dataspaceNameInPath' - - $ref: 'components.yml#/components/parameters/anchorNameInPath' - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: 'components.yml#/components/schemas/AnchorDetails' - '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' - - delete: - description: Delete an anchor given an anchor name and a dataspace - tags: - - cps-admin - summary: Delete an anchor - operationId: deleteAnchor - parameters: - - $ref: 'components.yml#/components/parameters/dataspaceNameInPath' - - $ref: 'components.yml#/components/parameters/anchorNameInPath' - 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'
\ No newline at end of file diff --git a/cps-rest/docs/openapi/cpsData.yml b/cps-rest/docs/openapi/cpsData.yml deleted file mode 100644 index fb21f757a0..0000000000 --- a/cps-rest/docs/openapi/cpsData.yml +++ /dev/null @@ -1,195 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (c) 2021 Bell Canada. -# ================================================================================ -# 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. -# ============LICENSE_END========================================================= - -nodeByDataspaceAndAnchor: - get: - description: Get a node with an option to retrieve all the children for a given anchor and dataspace - tags: - - cps-data - summary: Get a node - operationId: getNodeByDataspaceAndAnchor - parameters: - - $ref: 'components.yml#/components/parameters/dataspaceNameInPath' - - $ref: 'components.yml#/components/parameters/anchorNameInPath' - - $ref: 'components.yml#/components/parameters/xpathInQuery' - - $ref: 'components.yml#/components/parameters/includeDescendantsOptionInQuery' - responses: - '200': - $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' - '404': - $ref: 'components.yml#/components/responses/NotFound' - x-codegen-request-body-name: xpath - -listNodeByDataspaceAndAnchor: - post: - description: Add list-node child elements to existing node for a given anchor and dataspace - tags: - - cps-data - summary: Add list-node child element(s) under existing parent node - operationId: addListNodeElements - parameters: - - $ref: 'components.yml#/components/parameters/dataspaceNameInPath' - - $ref: 'components.yml#/components/parameters/anchorNameInPath' - - $ref: 'components.yml#/components/parameters/requiredXpathInQuery' - requestBody: - required: true - content: - application/json: - schema: - type: string - 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' - - patch: - description: Replace list-node child elements under existing node for a given anchor and dataspace - tags: - - cps-data - summary: Replace list-node child element(s) under existing parent node - operationId: replaceListNodeElements - parameters: - - $ref: 'components.yml#/components/parameters/dataspaceNameInPath' - - $ref: 'components.yml#/components/parameters/anchorNameInPath' - - $ref: 'components.yml#/components/parameters/requiredXpathInQuery' - requestBody: - required: true - content: - application/json: - schema: - type: string - responses: - '200': - $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' - -nodesByDataspaceAndAnchor: - post: - description: Create a node for a given anchor and dataspace - tags: - - cps-data - summary: Create a node - operationId: createNode - parameters: - - $ref: 'components.yml#/components/parameters/dataspaceNameInPath' - - $ref: 'components.yml#/components/parameters/anchorNameInPath' - - $ref: 'components.yml#/components/parameters/xpathInQuery' - requestBody: - required: true - content: - application/json: - schema: - type: string - 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' - - patch: - description: Update a data node leaves for a given dataspace and anchor and a parent node xpath - tags: - - cps-data - summary: Update node leaves - operationId: updateNodeLeaves - parameters: - - $ref: 'components.yml#/components/parameters/dataspaceNameInPath' - - $ref: 'components.yml#/components/parameters/anchorNameInPath' - - $ref: 'components.yml#/components/parameters/xpathInQuery' - requestBody: - required: true - content: - application/json: - schema: - type: string - responses: - '200': - $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' - - put: - description: Replace a node with descendants for a given dataspace, anchor and a parent node xpath - tags: - - cps-data - summary: Replace a node with descendants - operationId: replaceNode - parameters: - - $ref: 'components.yml#/components/parameters/dataspaceNameInPath' - - $ref: 'components.yml#/components/parameters/anchorNameInPath' - - $ref: 'components.yml#/components/parameters/xpathInQuery' - requestBody: - required: true - content: - application/json: - schema: - type: string - responses: - '200': - $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' - - -nodesByDataspace: - get: - description: Get all nodes for a given dataspace using an xpath or schema node identifier - DRAFT - tags: - - cps-data - summary: Get nodes - operationId: getNodesByDataspace - parameters: - - $ref: 'components.yml#/components/parameters/dataspaceNameInPath' - responses: - '200': - $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' - '404': - $ref: 'components.yml#/components/responses/NotFound' - x-codegen-request-body-name: requestBody diff --git a/cps-rest/docs/openapi/cpsQuery.yml b/cps-rest/docs/openapi/cpsQuery.yml deleted file mode 100644 index f45f3f41ae..0000000000 --- a/cps-rest/docs/openapi/cpsQuery.yml +++ /dev/null @@ -1,42 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (C) 2021 Nordix Foundation -# ================================================================================ -# 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========================================================= - -nodesByDataspaceAndAnchorAndCpsPath: - get: - description: Query data nodes for the given dataspace and anchor using CPS path - tags: - - cps-query - summary: Query data nodes - operationId: getNodesByDataspaceAndAnchorAndCpsPath - parameters: - - $ref: 'components.yml#/components/parameters/dataspaceNameInPath' - - $ref: 'components.yml#/components/parameters/anchorNameInPath' - - $ref: 'components.yml#/components/parameters/cpsPathInQuery' - - $ref: 'components.yml#/components/parameters/includeDescendantsOptionInQuery' - responses: - '200': - $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' - '404': - $ref: 'components.yml#/components/responses/NotFound' - x-codegen-request-body-name: xpath diff --git a/cps-rest/docs/openapi/openapi.yml b/cps-rest/docs/openapi/openapi.yml deleted file mode 100644 index caaad68b60..0000000000 --- a/cps-rest/docs/openapi/openapi.yml +++ /dev/null @@ -1,77 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (C) 2021 Nordix Foundation -# Modifications Copyright (C) 2021 Pantheon.tech -# ================================================================================ -# 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========================================================= - -openapi: 3.0.1 -info: - title: ONAP Open API v3 Configuration Persistence Service - description: Configuration Persistence Service is a Model Driven Generic Database - version: "1.0.0" - contact: - name: ONAP - url: "https://onap.readthedocs.io" - email: "onap-discuss@lists.onap.org" - license: - name: "Apache 2.0" - url: "http://www.apache.org/licenses/LICENSE-2.0" - x-planned-retirement-date: "202212" - x-component: "Modeling" - x-logo: - url: "cps_logo.png" - -servers: - - url: //localhost:8088 -tags: - - name: cps-admin - description: cps Admin - - name: cps-data - description: cps Data -paths: - - /v1/dataspaces: - $ref: 'cpsAdmin.yml#/dataspaces' - - /v1/dataspaces/{dataspace-name}: - $ref: 'cpsAdmin.yml#/dataspaceByDataspaceName' - - /v1/dataspaces/{dataspace-name}/anchors: - $ref: 'cpsAdmin.yml#/anchorsByDataspace' - - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}: - $ref: 'cpsAdmin.yml#/anchorByDataspaceAndAnchorName' - - /v1/dataspaces/{dataspace-name}/schema-sets: - $ref: 'cpsAdmin.yml#/schemaSet' - - /v1/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}: - $ref: 'cpsAdmin.yml#/schemaSetBySchemaSetName' - - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node: - $ref: 'cpsData.yml#/nodeByDataspaceAndAnchor' - - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes: - $ref: 'cpsData.yml#/nodesByDataspaceAndAnchor' - - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-node: - $ref: 'cpsData.yml#/listNodeByDataspaceAndAnchor' - - /v1/dataspaces/{dataspace-name}/nodes: - $ref: 'cpsData.yml#/nodesByDataspace' - - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query: - $ref: 'cpsQuery.yml#/nodesByDataspaceAndAnchorAndCpsPath' |