swagger-docs/storage.yml
2020-09-30 01:27:34 +02:00

114 lines
3.0 KiB
YAML

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