Add endpoints for entities to OAS3

This commit is contained in:
Stefan Haun 2020-08-23 22:38:16 +02:00
parent 48799e9139
commit e3630dcd08

157
OAS3.yml
View file

@ -44,6 +44,161 @@ paths:
'500':
$ref: '#/components/responses/InternalError'
/entities:
parameters:
- in: header
name: Authentication
schema:
type: string
description: Authentication token
post:
summary: Create an entity
tags:
- entities
requestBody:
content:
application/json:
schema:
type: object
description: Entity JSON
responses:
'201':
description: Entity has been created
content:
text/plain:
schema:
type: string
description: Entity ID (5 digit hex)
example: 1b3d5
'400':
$ref: '#/components/responses/InvalidInput'
'401':
$ref: '#/components/responses/AuthenticationRequired'
'403':
$ref: '#/components/responses/NotAllowed'
get:
summary: Retrieve all entities (can be limited to a specific time and active members)
tags:
- entities
parameters:
- in: query
name: time
schema:
type: string
format: date-time
description: Use database projection at given time
- in: query
name: fieldset
schema:
type: string
enum: [summary, sepa, all]
description: Select the set of fields returned for each entity
- in: query
name: activeMembersOnly
schema:
type: boolean
description: Return only active members (w/r/t the provided timestamp)
responses:
'200':
description: Request successfully processed
content:
application/json:
schema:
type: object
properties:
time:
type: string
format: date-time
fieldset:
type: string
enum: [summary, sepa, all]
activeMembersOnly:
type: boolean
entities:
type: array
items:
type: string
example: entities JSON
'400':
$ref: '#/components/responses/InvalidInput'
'401':
$ref: '#/components/responses/AuthenticationRequired'
'403':
$ref: '#/components/responses/NotAllowed'
/entities/{id}:
parameters:
- in: path
name: id
required: true
schema:
type: string
description: Entity ID
- in: header
name: Authentication
schema:
type: string
description: Authentication token
post:
summary: Update an existing entity
tags:
- entities
requestBody:
content:
application/json:
schema:
type: object
description: Entity JSON
responses:
'200':
description: Update was successful
'400':
$ref: '#/components/responses/InvalidInput'
'401':
$ref: '#/components/responses/AuthenticationRequired'
'403':
$ref: '#/components/responses/NotAllowed'
'404':
$ref: '#/components/responses/NotFound'
get:
summary: Retrieve a specific entity (can be limited to a specific time and active members)
tags:
- entities
parameters:
- in: query
name: time
schema:
type: string
format: date-time
description: Use database projection at given time
- in: query
name: fieldset
schema:
type: string
enum: [summary, sepa, all]
description: Select the set of fields returned for each entity
- in: query
name: activeMembersOnly
schema:
type: boolean
description: Return only active members (w/r/t the provided timestamp)
responses:
'200':
description: Entity has been found
content:
application/json:
schema:
type: object
description: Entity JSON
example: entities JSON
'400':
$ref: '#/components/responses/InvalidInput'
'401':
$ref: '#/components/responses/AuthenticationRequired'
'403':
$ref: '#/components/responses/NotAllowed'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
@ -72,6 +227,8 @@ components:
schema:
type: string
example: error message
NotFound:
description: The specified object could not be found (404)
InternalError:
description: Internal error during execution (500)
content: