Announcement_Service/announcement_service_spec.yaml

174 lines
4.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

openapi: 3.0.3
info:
title: announcementService
description: Announcing patchnotes for KanzleiApp
version: 1.0.0
tags:
- name: Patchnotes
description: Create, update and read patchnotes
paths:
/patchnotes:
get:
tags: [Patchnotes]
summary: Returns list of patch notes newer than the callers last login
operationId: listPatchnotes
parameters:
- $ref: '#/components/parameters/SinceParam'
responses:
"200":
description: list of patch notes
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/patch_notes'
"404":
description: no Patch notes found
post:
tags: [Patchnotes]
summary: Creates new patch notes
operationId: createPatchnote
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/patch_notes_input'
responses:
"201":
description: patch note created
headers:
Location:
description: URL of the newly created patch note
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/patch_notes'
"400":
description: bad payload
/patchnotes/{patchID}:
parameters:
- in: path
name: patchID
required: true
schema:
type: string
format: uuid
description: ID of the patch note
get:
tags: [Patchnotes]
summary: Returns one patch note
operationId: getPatchnote
responses:
"200":
description: single patch note
content:
application/json:
schema:
$ref: '#/components/schemas/patch_notes'
"404":
description: no patch note found
put:
tags: [Patchnotes]
summary: Updates one patch note (full replace)
operationId: updatePatchnote
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/patch_notes_input'
responses:
"200":
description: patch updated
content:
application/json:
schema:
$ref: '#/components/schemas/patch_notes'
"404":
description: no patch note found
delete:
tags: [Patchnotes]
summary: Deletes one patch note
operationId: deletePatchnote
responses:
"204":
description: patch successfully deleted
"404":
description: patch not found
components:
parameters:
SinceParam:
name: since
in: query
description: Only patchnotes newer than this date (YYYY-MM-DD)
required: false
schema:
type: string
format: date
schemas:
patch_notes:
type: object
properties:
patchID:
type: string
format: uuid
title:
type: string
changes:
type: string
version:
type: string
patch_date:
type: string
format: date
project:
type: string
required: [patchID, title, changes, version, patch_date, project]
example:
patchID: 29e80bcc-5981-4a52-99e1-373442dea9b9
title: Patch note 1
changes: Fixed export bug
version: 1.0.0
patch_date: '2025-01-02' # ← als String in Quotes!
project: 'Test-Projekt'
patch_notes_input:
description: Schema for POST/PUT (server generates patchID if omitted)
type: object
properties:
title:
type: string
changes:
type: string
version:
type: string
patch_date:
type: string
format: date
project:
type: string
required: [title, changes, version, patch_date, project]
example:
title: Patch note 1
changes: Fixed export bug
version: 1.0.0
patch_date: '2025-01-02' # ← ebenfalls in Quotes
project: 'Test-Projekt'
responses:
Error400:
description: Invalid request payload
Error404:
description: Resource not found