138 lines
3.5 KiB
YAML
138 lines
3.5 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: Arbeitszeitmessung - OpenAPI 3.0
|
|
description: |-
|
|
This demos the API for the Arbeitszeitmessung Project
|
|
version: 0.1.0
|
|
externalDocs:
|
|
description: Git-Repository
|
|
url: https://git.letsstein.de/tom/arbeitszeitmessung
|
|
servers:
|
|
- url: http://localhost:8000
|
|
tags:
|
|
- name: booking
|
|
description: all Bookings
|
|
paths:
|
|
/time:
|
|
put:
|
|
tags:
|
|
- booking
|
|
summary: Update a existing booking
|
|
description: Update an existing booking by Id
|
|
operationId: updateBooking
|
|
parameters:
|
|
- name: bookingID
|
|
in: query
|
|
description: Booking ID to update
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
description: Update an existent booking in the db. Not all values have to be updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Booking'
|
|
required: true
|
|
responses:
|
|
'200':
|
|
description: Booking Updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Booking'
|
|
'400':
|
|
description: Invalid ID supplied
|
|
'500':
|
|
description: Server Error
|
|
get:
|
|
tags:
|
|
- booking
|
|
summary: Gets all the bookings limited
|
|
description: Returns all the bookings optionally filtered with cardID
|
|
parameters:
|
|
- name: cardID
|
|
in: query
|
|
description: CardID to filter for
|
|
required: false
|
|
schema:
|
|
type: string
|
|
operationId: addPet
|
|
responses:
|
|
'200':
|
|
description: Successful operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Booking'
|
|
'400':
|
|
description: Invalid cardID
|
|
/time/new:
|
|
put:
|
|
tags:
|
|
- booking
|
|
summary: Create new Booking
|
|
description: Creates a new booking with the supplied parameters
|
|
operationId: createBooking
|
|
parameters:
|
|
- name: cardID
|
|
in: query
|
|
description: id of the RFID card scanned
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: readerID
|
|
in: query
|
|
description: id of the RFID reader scanning the card
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: bookingType
|
|
in: query
|
|
description: booking Type
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
enum:
|
|
- 1
|
|
- 2
|
|
- 255
|
|
responses:
|
|
'200':
|
|
description: successfully created booking
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Booking'
|
|
'409':
|
|
description: Same booking type as last booking
|
|
components:
|
|
schemas:
|
|
Booking:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
format: int64
|
|
example: 100
|
|
cardID:
|
|
type: string
|
|
example: test_card
|
|
readerID:
|
|
type: string
|
|
example: test_reader
|
|
bookingType:
|
|
type: integer
|
|
example: 1
|
|
enum:
|
|
- 1
|
|
- 2
|
|
- 255
|
|
loggedTime:
|
|
type: string
|
|
format: date-time
|
|
example: 2024-09-05T08:51:12.670827Z
|
|
xml:
|
|
name: booking |