Podpora notifikací, zatím jen gotify

This commit is contained in:
2023-06-10 18:31:54 +02:00
parent aa873e9c65
commit ae5d53bcf3
6 changed files with 105 additions and 10 deletions

View File

@@ -1,7 +1,7 @@
import { ClientData, Locations, Order, Pizza, PizzaDayState, PizzaOrder, PizzaSize } from "./types";
import { db } from "./database";
import { getHumanDate, getIsWeekend } from "./utils";
import { formatDate } from "./utils";
import {ClientData, Locations, Order, Pizza, PizzaDayState, PizzaOrder, PizzaSize, UdalostEnum} from "./types";
import {db} from "./database";
import {formatDate, getHumanDate, getIsWeekend} from "./utils";
import {callNotifikace} from "./notifikace";
/** Vrátí dnešní datum, případně fiktivní datum pro účely vývoje a testování. */
function getToday(): Date {
@@ -36,6 +36,7 @@ export function createPizzaDay(creator: string): ClientData {
}
const data: ClientData = { pizzaDay: { state: PizzaDayState.CREATED, creator, orders: [] }, ...clientData };
db.set(today, data);
callNotifikace({input:{udalost:UdalostEnum.ZAHAJENA_PIZZA,user:creator}})
return data;
}
@@ -95,7 +96,7 @@ export function addPizzaOrder(login: string, pizza: Pizza, size: PizzaSize) {
/**
* Odstraní danou objednávku pizzy.
*
*
* @param login login uživatele
* @param pizzaOrder objednávka pizzy
*/
@@ -126,7 +127,7 @@ export function removePizzaOrder(login: string, pizzaOrder: PizzaOrder) {
/**
* Uzamkne možnost editovat objednávky pizzy.
*
*
* @param login login uživatele
* @returns aktuální data pro uživatele
*/
@@ -149,7 +150,7 @@ export function lockPizzaDay(login: string) {
/**
* Odekmne možnost editovat objednávky pizzy.
*
*
* @param login login uživatele
* @returns aktuální data pro uživatele
*/
@@ -172,7 +173,7 @@ export function unlockPizzaDay(login: string) {
/**
* Nastaví stav pizza day na "pizzy objednány".
*
*
* @param login login uživatele
* @returns aktuální data pro uživatele
*/
@@ -190,12 +191,13 @@ export function finishPizzaOrder(login: string) {
}
clientData.pizzaDay.state = PizzaDayState.ORDERED;
db.set(today, clientData);
callNotifikace({input:{udalost:UdalostEnum.ZAHAJENA_PIZZA,user:clientData?.pizzaDay?.creator}})
return clientData;
}
/**
* Nastaví stav pizza day na "pizzy doručeny".
*
*
* @param login login uživatele
* @returns aktuální data pro uživatele
*/