114 lines
3.0 KiB
YAML
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
|