diff --git a/types/api.yml b/types/api.yml index 3c546d6..8f9df9a 100644 --- a/types/api.yml +++ b/types/api.yml @@ -50,6 +50,12 @@ paths: $ref: "./paths/pizzaDay/updatePizzaDayNote.yml" /pizzaDay/updatePizzaFee: $ref: "./paths/pizzaDay/updatePizzaFee.yml" + /pizzaDay/dismissQr: + $ref: "./paths/pizzaDay/dismissQr.yml" + + # Notifikace (/api/notifications) + /notifications/settings: + $ref: "./paths/notifications/settings.yml" # Easter eggy (/api/easterEggs) /easterEggs: diff --git a/types/paths/notifications/settings.yml b/types/paths/notifications/settings.yml new file mode 100644 index 0000000..a2f46b8 --- /dev/null +++ b/types/paths/notifications/settings.yml @@ -0,0 +1,26 @@ +get: + operationId: getNotificationSettings + summary: Vrátí nastavení notifikací pro přihlášeného uživatele. + responses: + "200": + description: Nastavení notifikací + content: + application/json: + schema: + $ref: "../../schemas/_index.yml#/NotificationSettings" +post: + operationId: updateNotificationSettings + summary: Uloží nastavení notifikací pro přihlášeného uživatele. + requestBody: + required: true + content: + application/json: + schema: + $ref: "../../schemas/_index.yml#/NotificationSettings" + responses: + "200": + description: Nastavení notifikací bylo uloženo. + content: + application/json: + schema: + $ref: "../../schemas/_index.yml#/NotificationSettings" diff --git a/types/paths/pizzaDay/dismissQr.yml b/types/paths/pizzaDay/dismissQr.yml new file mode 100644 index 0000000..ffa95bb --- /dev/null +++ b/types/paths/pizzaDay/dismissQr.yml @@ -0,0 +1,17 @@ +post: + operationId: dismissQr + summary: Označí QR kód pro daný den jako uhrazený (odstraní ho ze seznamu nevyřízených). + requestBody: + required: true + content: + application/json: + schema: + properties: + date: + description: Datum Pizza day, ke kterému se QR kód vztahuje + type: string + required: + - date + responses: + "200": + description: QR kód byl označen jako uhrazený. diff --git a/types/schemas/_index.yml b/types/schemas/_index.yml index 742a219..7e6990f 100644 --- a/types/schemas/_index.yml +++ b/types/schemas/_index.yml @@ -53,6 +53,11 @@ ClientData: description: Datum a čas poslední aktualizace pizz type: string format: date-time + pendingQrs: + description: Nevyřízené QR kódy pro platbu z předchozích pizza day + type: array + items: + $ref: "#/PendingQr" # --- OBĚDY --- UserLunchChoice: @@ -527,6 +532,24 @@ NotifikaceData: type: boolean ntfy: type: boolean +NotificationSettings: + description: Nastavení notifikací pro konkrétního uživatele + type: object + properties: + ntfyTopic: + description: Téma pro ntfy push notifikace + type: string + discordWebhookUrl: + description: URL webhooku Discord kanálu + type: string + teamsWebhookUrl: + description: URL webhooku MS Teams kanálu + type: string + enabledEvents: + description: Seznam událostí, o kterých chce být uživatel notifikován + type: array + items: + $ref: "#/UdalostEnum" GotifyServer: type: object required: @@ -539,3 +562,23 @@ GotifyServer: type: array items: type: string + +# --- NEVYŘÍZENÉ QR KÓDY --- +PendingQr: + description: Nevyřízený QR kód pro platbu z předchozího Pizza day + type: object + additionalProperties: false + required: + - date + - creator + - totalPrice + properties: + date: + description: Datum Pizza day, ke kterému se QR kód vztahuje + type: string + creator: + description: Jméno zakladatele Pizza day (objednávajícího) + type: string + totalPrice: + description: Celková cena objednávky v Kč + type: number