From 9fb8626d8c8afe63470fd2327c3ae9d90d979b50 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Thu, 16 Jun 2022 15:51:22 +0600 Subject: [PATCH] Rewrite crud.yml --- repos/ktor/crud.yml | 241 +++++++++++++++++++++++--------------------- 1 file changed, 126 insertions(+), 115 deletions(-) diff --git a/repos/ktor/crud.yml b/repos/ktor/crud.yml index d634dc87b9c..0e1a51a6d51 100644 --- a/repos/ktor/crud.yml +++ b/repos/ktor/crud.yml @@ -1,7 +1,7 @@ -swagger: "2.0" +openapi: "3.0.0" info: description: "This is a template for the CRUD repositories from [microutils](https://github.com/InsanusMokrassar/MicroUtils/tree/master/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud)" - version: "0.11.0" + version: "0.11.3" title: "CRUD Repo" contact: email: "ovsyannikov.alexey95@gmail.com" @@ -11,91 +11,61 @@ tags: - name: "Write" description: "Operations with `post` request in most cases" -parameters: - IdInQuery: - in: "query" - name: "id" - allOf: - - $ref: "#/definitions/Key" - IdsInBody: - in: "body" - name: "body" - type: array - items: - $ref: "#/definitions/Key" - NewValuesInBody: - in: "body" - name: "body" - type: array - allOf: - - $ref: "#/definitions/NewValues" - NewValuesWithIdsInBody: - in: "body" - name: "body" - type: array - items: - allOf: - - $ref: "#/definitions/Pair" - - properties: - first: - $ref: "#/definitions/Key" - second: - $ref: "#/definitions/NewValue" - PaginationInQueryPage: - in: "query" - type: integer - name: "ppage" - description: "Page of pagination" - required: false - PaginationInQuerySize: - in: "query" - type: integer - name: "psize" - description: "Size of each page in pagination" - required: false +components: + parameters: + IdInQuery: + in: "query" + name: "id" + schema: + $ref: "#/components/schemas/Key" + PaginationInQueryPage: + in: "query" + name: "ppage" + description: "Page of pagination" + schema: + type: integer + required: false + PaginationInQuerySize: + in: "query" + name: "psize" + description: "Size of each page in pagination" + schema: + type: integer + required: false + schemas: - -definitions: - Key: - type: integer - description: "REWRITE THIS TYPE AS KEY IN SWAGGER FILE" - Value: - type: integer - description: "REWRITE THIS TYPE AS VALUE IN SWAGGER FILE" - Values: - type: array - items: - $ref: "#/definitions/Value" - NewValue: - type: integer - description: "REWRITE THIS TYPE AS NEW VALUE IN SWAGGER FILE" - Pair: - type: object - description: "Pair of objects" - properties: - first: - second: - NewValues: - type: array - items: - $ref: "#/definitions/NewValue" - PaginationResult: - type: object - properties: - page: - type: integer - description: "Page of pagination" - pagesNumber: - type: integer - description: "Count of pages with the size from this pagination" - size: - type: integer - description: "Size of each page in pagination" - results: - type: array - description: "Array of all elements on that page. Size of pagination and size of array can be different and it can be interpreted like current page is the last one" - items: - type: object + Key: + type: integer + description: "REWRITE THIS TYPE AS KEY IN SWAGGER FILE" + Value: + type: integer + description: "REWRITE THIS TYPE AS VALUE IN SWAGGER FILE" + NewValue: + type: integer + description: "REWRITE THIS TYPE AS NEW VALUE IN SWAGGER FILE" + Pair: + type: object + description: "Pair of objects" + properties: + first: + second: + PaginationResult: + type: object + properties: + page: + type: integer + description: "Page of pagination" + pagesNumber: + type: integer + description: "Count of pages with the size from this pagination" + size: + type: integer + description: "Size of each page in pagination" + results: + type: array + description: "Array of all elements on that page. Size of pagination and size of array can be different and it can be interpreted like current page is the last one" + items: + type: object paths: /getByPagination: @@ -103,30 +73,34 @@ paths: tags: - "Read" parameters: - - $ref: "#/parameters/PaginationInQueryPage" - - $ref: "#/parameters/PaginationInQuerySize" + - $ref: "#/components/parameters/PaginationInQueryPage" + - $ref: "#/components/parameters/PaginationInQuerySize" responses: "200": description: "Pagination with elements" - schema: - allOf: - - $ref: "#/definitions/PaginationResult" - - properties: - results: - items: - $ref: "#/definitions/Value" + content: + application/json: + schema: + allOf: + - $ref: "#/components/schemas/PaginationResult" + - properties: + results: + items: + $ref: "#/components/schemas/Value" /getById: get: tags: - "Read" parameters: - - $ref: "#/parameters/IdInQuery" + - $ref: "#/components/parameters/IdInQuery" required: true responses: "200": description: "Result object" - schema: - $ref: "#/definitions/Value" + content: + application/json: + schema: + $ref: "#/components/schemas/Value" "204": description: "No value by id" /contains: @@ -134,13 +108,15 @@ paths: tags: - "Read" parameters: - - $ref: "#/parameters/IdInQuery" + - $ref: "#/components/parameters/IdInQuery" required: true responses: "200": description: "Object with id availability in repo" - schema: - type: boolean + content: + application/json: + schema: + type: boolean /count: get: tags: @@ -148,40 +124,75 @@ paths: responses: "200": description: "Amount of objects in repo" - schema: - type: integer + content: + application/json: + schema: + type: integer /create: post: tags: - "Write" - parameters: - - $ref: "#/parameters/NewValuesInBody" + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/NewValue" responses: "200": description: "Objects has been created and saved" - schema: - $ref: "#/definitions/Values" + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/Value" /update: post: tags: - "Write" - parameters: - - $ref: "#/parameters/NewValuesWithIdsInBody" + requestBody: + content: + application/json: + schema: + type: array + items: + allOf: + - $ref: "#/components/schemas/Pair" + - properties: + first: + $ref: "#/components/schemas/Key" + second: + $ref: "#/components/schemas/NewValue" responses: "200": description: "Objects has been updated" - schema: - $ref: "#/definitions/Values" + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/Value" /deleteById: post: tags: - "Write" - parameters: - - $ref: "#/parameters/IdsInBody" + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/Key" responses: "200": description: "Objects has been updated" - schema: - $ref: "#/definitions/Values" + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/Value"