76 lines
1.9 KiB
Cheetah
76 lines
1.9 KiB
Cheetah
openapi: 3.0.0
|
|
info:
|
|
title: hv2-api
|
|
version: "1"
|
|
description: "REST-API for the Nober Grundbesitz GbR Hausverwaltungs-Software"
|
|
termsOfService: "https://home.hottis.de/dokuwiki/doku.php?id=hv2pub:termsofuse"
|
|
contact:
|
|
name: "Wolfgang Hottgenroth"
|
|
email: "wolfgang.hottgenroth@icloud.com"
|
|
externalDocs:
|
|
description: "Find more details here"
|
|
url: "https://home.hottis.de/dokuwiki/doku.php?id=hv2pub:externaldocs"
|
|
|
|
paths:
|
|
#for $table in $tables
|
|
/v1/${table.name}s:
|
|
get:
|
|
tags: [ "$table.name" ]
|
|
summary: Return all normalized ${table.name}s
|
|
operationId: methods.get_${table.name}s
|
|
responses:
|
|
'200':
|
|
description: ${table.name}s response
|
|
content:
|
|
'application/json':
|
|
schema:
|
|
type: array
|
|
items:
|
|
\$ref: '#/components/schemas/$table.name'
|
|
security:
|
|
- jwt: ['secret']
|
|
/v1/${table.name}s/{${table.name}Id}:
|
|
get:
|
|
tags: [ "$table.name" ]
|
|
summary: Return the normalized $table.name with given id
|
|
operationId: methods.get_$table.name
|
|
parameters:
|
|
- name: ${table.name}Id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: $table.name response
|
|
content:
|
|
'application/json':
|
|
schema:
|
|
type: array
|
|
items:
|
|
\$ref: '#/components/schemas/$table.name'
|
|
security:
|
|
- jwt: ['secret']
|
|
#end for
|
|
|
|
components:
|
|
securitySchemes:
|
|
jwt:
|
|
type: http
|
|
scheme: bearer
|
|
bearerFormat: JWT
|
|
x-bearerInfoFunc: auth.decodeToken
|
|
schemas:
|
|
#for $table in $tables
|
|
$table.name:
|
|
description: $table.name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
#for $column in $table.columns
|
|
$column.name:
|
|
type: $column.apitype
|
|
#end for
|
|
#end for
|