update all definitions to openapi3

This commit is contained in:
Torma Kristóf 2020-07-26 18:40:47 +02:00
parent edb2a102b4
commit ad3a7db0d9
Signed by: tormakris
GPG Key ID: DC83C4F2C41B1047
3 changed files with 237 additions and 212 deletions

261
input.yml
View File

@ -1,151 +1,168 @@
swagger: "2.0" openapi: 3.0.3
info: info:
description: "This is the input interface of the Birbnetes system." title: Input Service
version: "1.1.0" description: This is the input interface of the Birbnetes system.
title: "Input Service"
contact: contact:
email: "tormakristof@tormakristof.eu" email: tormakristof@tormakristof.eu
license: license:
name: "Apache 2.0" name: Apache 2.0
url: "http://www.apache.org/licenses/LICENSE-2.0.html" url: http://www.apache.org/licenses/LICENSE-2.0.html
host: "dev.k8s.tcloud.enginner" version: 1.1.3
basePath: "/api/input/v1" servers:
- url: https://dev.k8s.tcloud.enginner/api/input/v1
- url: http://dev.k8s.tcloud.enginner/api/input/v1
tags: tags:
- name: "input" - name: input
description: "Input Service interaction" description: Input Service interaction
schemes:
- "https"
- "http"
paths: paths:
/sample: /sample:
get: get:
tags:
- input
summary: Get all stored input queries summary: Get all stored input queries
operationId: getall operationId: getall
tags:
- input
responses:
"200":
description: Array of input objects
schema:
$ref: '#/definitions/InputResponse'
"404":
description: No object matching filter
schema:
$ref: '#/definitions/ApiResponse'
post:
tags:
- "input"
summary: "uploads a sample into the system"
description: ""
operationId: "uploadFile"
consumes:
- "multipart/form-data"
produces:
- "application/json"
parameters:
- name: "description"
in: "formData"
description: "JSON"
required: true
type: "string"
format: "date"
- name: "file"
in: "formData"
description: "Wave file to upload"
required: true
type: "file"
responses: responses:
200: 200:
description: "successful operation" description: Array of input objects
schema: content:
$ref: "#/definitions/ApiResponse" application/json:
415: schema:
description: "Media type error" $ref: '#/components/schemas/InputResponse'
schema: 404:
$ref: "#/definitions/ApiResponse" description: No object matching filter
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
post:
tags:
- input
summary: uploads a sample into the system
operationId: uploadFile
requestBody:
content:
multipart/form-data:
schema:
required:
- description
- file
properties:
description:
type: object
description: Metadata json
properties:
deviceid:
type: string
date:
type: string
format: date
file:
type: string
description: Wave file to upload
format: binary
required: true
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
400: 400:
description: "JSON parse error" description: JSON parse error
schema: content:
$ref: "#/definitions/ApiResponse" application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
415:
description: Media type error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
417: 417:
description: "JSON invalid schema" description: JSON invalid schema
schema: content:
$ref: "#/definitions/ApiResponse" application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
469: 469:
description: "No file found" description: No file found
schema: content:
$ref: "#/definitions/ApiResponse" application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
470: 470:
description: "Description missing" description: Description missing
schema: content:
$ref: "#/definitions/ApiResponse" application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
/sample/{tagID}: /sample/{tagID}:
get: get:
tags:
- input
summary: Get input object by ID summary: Get input object by ID
operationId: getInput operationId: getInput
tags:
- input
parameters: parameters:
- name: tagID - name: tagID
in: path in: path
description: ID of input object file description: ID of input object file
required: true required: true
schema:
type: string type: string
format: uuid format: uuid
responses: responses:
"200": 200:
description: input object description: input object
schema: content:
$ref: '#/definitions/InputSingeResponse' application/json:
"404": schema:
$ref: '#/components/schemas/InputSingeResponse'
404:
description: Tag not found description: Tag not found
schema: content:
$ref: '#/definitions/ApiResponse' application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
definitions: components:
InputSingeResponse: schemas:
type: "object" InputSingeResponse:
properties: required:
status:
type: "string"
message:
$ref: '#/definitions/InputObject'
required:
- status
- message - message
- status
InputResponse: type: object
type: "array" properties:
items: status:
$ref: "#/definitions/InputObject" type: string
message:
$ref: '#/components/schemas/InputObject'
InputObject: InputResponse:
type: "object" type: array
properties: items:
tag: $ref: '#/components/schemas/InputObject'
type: "string" InputObject:
format: "uuid" required:
date:
type: "string"
format: "date"
device_id:
type: "integer"
required:
- tag
- date - date
- device_id - device_id
- tag
ApiResponse: type: object
type: "object" properties:
properties: tag:
status: type: string
type: "string" format: uuid
message: date:
type: "string" type: string
required: format: date
device_id:
type: integer
ApiResponse:
required:
- message
- status - status
- message type: object
properties:
status:
type: string
message:
type: string

View File

@ -7,7 +7,7 @@ info:
license: license:
name: Apache 2.0 name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html url: http://www.apache.org/licenses/LICENSE-2.0.html
version: 1.0.3 version: 1.0.4
servers: servers:
- url: https://dev.k8s.tcloud.enginner/api/model/v1 - url: https://dev.k8s.tcloud.enginner/api/model/v1
- url: http://dev.k8s.tcloud.enginner/api/model/v1 - url: http://dev.k8s.tcloud.enginner/api/model/v1
@ -43,12 +43,16 @@ paths:
- info - info
properties: properties:
info: info:
type: string type: object
description: This is actually a UploadInfo but swagger 2.0 does description: Json metadata of model
not support that properties:
type:
type: string
id:
type: string
file: file:
type: string type: string
description: model description: model itself
format: binary format: binary
required: true required: true
responses: responses:
@ -82,16 +86,14 @@ paths:
responses: responses:
200: 200:
description: The requested model description: The requested model
content: {} content:
application/octet-stream: {}
404: 404:
description: A model with this Id does not exist. description: A model with this Id does not exist.
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ApiResponse' $ref: '#/components/schemas/ApiResponse'
application/octet-stream:
schema:
$ref: '#/components/schemas/ApiResponse'
delete: delete:
tags: tags:
- model - model

View File

@ -1,108 +1,114 @@
swagger: "2.0" openapi: 3.0.3
info: info:
description: "This is the internal storage interface of the Birbnetes system." title: Storage Service
version: "1.1.3" description: This is the internal storage interface of the Birbnetes system.
title: "Storage Service"
contact: contact:
email: "tormakristof@tormakristof.eu" email: tormakristof@tormakristof.eu
license: license:
name: "Apache 2.0" name: Apache 2.0
url: "http://www.apache.org/licenses/LICENSE-2.0.html" url: http://www.apache.org/licenses/LICENSE-2.0.html
host: "dev.k8s.tcloud.enginner" version: 1.1.4
basePath: "/api/storage/v1" servers:
- url: https://dev.k8s.tcloud.enginner/api/storage/v1
- url: http://dev.k8s.tcloud.enginner/api/storage/v1
tags: tags:
- name: "storage" - name: storage
description: "Storage Service definition" description: Storage Service definition
schemes:
- "https"
- "http"
paths: paths:
/object: /object:
post: post:
tags: tags:
- "storage" - storage
summary: "Uploads an object into the service" summary: Uploads an object into the service
description: "" operationId: uploadFile
operationId: "uploadFile" requestBody:
consumes: content:
- "multipart/form-data" multipart/form-data:
produces: schema:
- "application/json" required:
parameters: - description
- name: "description" - soundFile
in: "formData" properties:
description: "This is actually a SoundDescription but swagger 2.0 does not support that" description:
type: object
description: Metadata JSON
properties:
tag:
type: string
soundFile:
type: string
description: Wave file to upload
format: binary
required: true required: true
type: "string"
- name: "soundFile"
in: "formData"
description: "Wave file to upload"
required: true
type: "file"
responses: responses:
200: 200:
description: "Object successfully stored. This means that a get request for this object should be successful." description: Object successfully stored. This means that a get request for
schema: this object should be successful.
$ref: "#/definitions/ApiResponse" content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
409: 409:
description: "An object with this Tag already exists" description: An object with this Tag already exists
schema: content:
$ref: "#/definitions/ApiResponse" application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
/object/{objectTag}: /object/{objectTag}:
get: get:
tags: tags:
- "storage" - storage
summary: "Download a wave file identified by Tag" summary: Download a wave file identified by Tag
description: "Returns a single pet" description: Returns a single pet
operationId: "getPetById" operationId: getPetById
produces:
- "application/json"
- "audio/wave"
parameters: parameters:
- name: "objectTag" - name: objectTag
in: "path" in: path
description: "Tag of wave file to return" description: Tag of wave file to return
required: true required: true
type: "string" schema:
type: string
responses: responses:
200: 200:
description: "The requested audio file." description: The requested audio file.
content: {}
404: 404:
description: "An object with this Tag does not exist." description: An object with this Tag does not exist.
schema: content:
$ref: "#/definitions/ApiResponse" application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
audio/wave:
schema:
$ref: '#/components/schemas/ApiResponse'
delete: delete:
tags: tags:
- "storage" - storage
summary: "Deletes a wave file identified by Tag" summary: Deletes a wave file identified by Tag
description: "" operationId: deleteWave
operationId: "deleteWave"
produces:
- "application/json"
parameters: parameters:
- name: "objectTag" - name: objectTag
in: "path" in: path
description: "Tag of wave file to delete" description: Tag of wave file to delete
required: true required: true
type: "string" schema:
type: string
responses: responses:
200: 200:
description: "Successful deletion" description: Successful deletion
content: {}
404: 404:
description: "An object with this Tag does not exist." description: An object with this Tag does not exist.
schema: content:
$ref: "#/definitions/ApiResponse" application/json:
schema:
definitions: $ref: '#/components/schemas/ApiResponse'
ApiResponse: components:
type: "object" schemas:
properties: ApiResponse:
status: type: object
type: "string" properties:
msg: status:
type: "string" type: string
SoundDescription: msg:
type: "object" type: string
properties:
tag:
type: "string"