168 lines
4.1 KiB
YAML
168 lines
4.1 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: Input Service
|
|
description: This is the input 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.3
|
|
servers:
|
|
- url: https://birb.k8s.kmlabz.com
|
|
tags:
|
|
- name: input
|
|
description: Input Service interaction
|
|
paths:
|
|
/sample:
|
|
get:
|
|
tags:
|
|
- input
|
|
summary: Get all stored input queries
|
|
operationId: getall
|
|
responses:
|
|
200:
|
|
description: Array of input objects
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InputResponse'
|
|
404:
|
|
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:
|
|
description: JSON parse error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
415:
|
|
description: Media type error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
417:
|
|
description: JSON invalid schema
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
469:
|
|
description: No file found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
470:
|
|
description: Description missing
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
/sample/{tagID}:
|
|
get:
|
|
tags:
|
|
- input
|
|
summary: Get input object by ID
|
|
operationId: getInput
|
|
parameters:
|
|
- name: tagID
|
|
in: path
|
|
description: ID of input object file
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
200:
|
|
description: input object
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InputSingeResponse'
|
|
404:
|
|
description: Tag not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
components:
|
|
schemas:
|
|
InputSingeResponse:
|
|
required:
|
|
- message
|
|
- status
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
message:
|
|
$ref: '#/components/schemas/InputObject'
|
|
InputResponse:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/InputObject'
|
|
InputObject:
|
|
required:
|
|
- date
|
|
- device_id
|
|
- tag
|
|
type: object
|
|
properties:
|
|
tag:
|
|
type: string
|
|
format: uuid
|
|
date:
|
|
type: string
|
|
format: date
|
|
device_id:
|
|
type: integer
|
|
ApiResponse:
|
|
required:
|
|
- message
|
|
- status
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
message:
|
|
type: string
|