Oprava stahování pizz pro Pizza day
This commit is contained in:
parent
e78f9cfd3a
commit
45bd84f96f
@ -284,6 +284,7 @@ function App() {
|
|||||||
<li>Oprava přesměrování při přihlášení přes Authelia</li>
|
<li>Oprava přesměrování při přihlášení přes Authelia</li>
|
||||||
<li>Zobrazení jména uživatele místo loginu při přihlášení přes Authelia</li>
|
<li>Zobrazení jména uživatele místo loginu při přihlášení přes Authelia</li>
|
||||||
<li>Funkční odhlášení přes Authelia</li>
|
<li>Funkční odhlášení přes Authelia</li>
|
||||||
|
<li>Oprava stahování pizz z Pizza Chefie</li>
|
||||||
</ul>
|
</ul>
|
||||||
</Alert>
|
</Alert>
|
||||||
<h1 className='title'>Dnes je {data.date}</h1>
|
<h1 className='title'>Dnes je {data.date}</h1>
|
||||||
|
@ -152,8 +152,7 @@ app.post("/api/addPizza", async (req, res) => {
|
|||||||
const pizzaSizeIndex = req.body.pizzaSizeIndex;
|
const pizzaSizeIndex = req.body.pizzaSizeIndex;
|
||||||
let pizzy = await getPizzaList();
|
let pizzy = await getPizzaList();
|
||||||
if (!pizzy) {
|
if (!pizzy) {
|
||||||
pizzy = await downloadPizzy();
|
throw Error("Selhalo získání seznamu dostupných pizz.");
|
||||||
savePizzaList(pizzy);
|
|
||||||
}
|
}
|
||||||
if (!pizzy[pizzaIndex]) {
|
if (!pizzy[pizzaIndex]) {
|
||||||
throw Error("Neplatný index pizzy: " + pizzaIndex);
|
throw Error("Neplatný index pizzy: " + pizzaIndex);
|
||||||
|
@ -4,6 +4,7 @@ import { generateQr } from "./qr";
|
|||||||
import { ClientData, PizzaDayState, UdalostEnum, Pizza, PizzaSize, Order, PizzaOrder, Locations, Restaurants, Food, Menu } from "../../types";
|
import { ClientData, PizzaDayState, UdalostEnum, Pizza, PizzaSize, Order, PizzaOrder, Locations, Restaurants, Food, Menu } from "../../types";
|
||||||
import getStorage from "./storage";
|
import getStorage from "./storage";
|
||||||
import { getMenuSladovnicka, getMenuTechTower, getMenuUMotliku } from "./restaurants";
|
import { getMenuSladovnicka, getMenuTechTower, getMenuUMotliku } from "./restaurants";
|
||||||
|
import { downloadPizzy } from "./chefie";
|
||||||
|
|
||||||
const storage = getStorage();
|
const storage = getStorage();
|
||||||
|
|
||||||
@ -29,11 +30,15 @@ export async function getData(): Promise<ClientData> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Vrátí seznam dostupných pizz pro dnešní den.
|
* Vrátí seznam dostupných pizz pro dnešní den.
|
||||||
|
* Stáhne je, pokud je pro dnešní den nemá.
|
||||||
*/
|
*/
|
||||||
export async function getPizzaList(): Promise<Pizza[] | undefined> {
|
export async function getPizzaList(): Promise<Pizza[] | undefined> {
|
||||||
await initIfNeeded();
|
await initIfNeeded();
|
||||||
const today = formatDate(getToday());
|
const today = formatDate(getToday());
|
||||||
const clientData: ClientData = await storage.getData(today);
|
let clientData: ClientData = await storage.getData(today);
|
||||||
|
if (!clientData.pizzaList) {
|
||||||
|
clientData = await savePizzaList(await downloadPizzy());
|
||||||
|
}
|
||||||
return Promise.resolve(clientData.pizzaList);
|
return Promise.resolve(clientData.pizzaList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,7 +103,9 @@ export async function createPizzaDay(creator: string): Promise<ClientData> {
|
|||||||
if (clientData.pizzaDay) {
|
if (clientData.pizzaDay) {
|
||||||
throw Error("Pizza day pro dnešní den již existuje");
|
throw Error("Pizza day pro dnešní den již existuje");
|
||||||
}
|
}
|
||||||
const data: ClientData = { pizzaDay: { state: PizzaDayState.CREATED, creator, orders: [] }, ...clientData };
|
// TODO berka rychlooprava, vyřešit lépe - stahovat jednou, na jediném místě!
|
||||||
|
const pizzaList = await getPizzaList();
|
||||||
|
const data: ClientData = { pizzaDay: { state: PizzaDayState.CREATED, creator, orders: [] }, pizzaList, ...clientData };
|
||||||
await storage.setData(today, data);
|
await storage.setData(today, data);
|
||||||
callNotifikace({ input: { udalost: UdalostEnum.ZAHAJENA_PIZZA, user: creator } })
|
callNotifikace({ input: { udalost: UdalostEnum.ZAHAJENA_PIZZA, user: creator } })
|
||||||
return data;
|
return data;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user