From 8a30bcbdf9264d235bf93da3df8e170cfde53d02 Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Thu, 12 Dec 2024 08:26:53 +0000 Subject: Removes web GUI --- gui/src/ajax/backend.ts | 66 ------------------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 gui/src/ajax/backend.ts (limited to 'gui/src/ajax/backend.ts') diff --git a/gui/src/ajax/backend.ts b/gui/src/ajax/backend.ts deleted file mode 100644 index 4a2462f..0000000 --- a/gui/src/ajax/backend.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { BalanceMap, newCategoryBalanceMapFromDto } from "../types/balanceMap"; -import { BudgetMap, newBudgetMapFromDto } from "../types/budgetMap"; -import { BudgetUpdate, newBudgetUpdateFromDto } from "../types/budgetUpdate"; -import { Category, newCategoryFromDto } from "../types/category"; - -const backendUrl = "http://localhost:8000"; - -function makeGetter(params: FetcherMakerParams): Getter { - const parser = - "parser" in params - ? params.parser - : (dto: unknown[]) => dto.map(params.elementParser); - - return async function () { - const response = await fetch(`${backendUrl}${params.path}`); - const dto = await response.json(); - - try { - return parser(dto); - } catch (err) { - console.error(`Error parsing DTO. ${err?.toString() ?? ""}`); - return null; - } - }; -} - -export const getAllBudgetUpdates: Getter = makeGetter< - BudgetUpdate[] ->({ - path: "/budget-update", - elementParser: newBudgetUpdateFromDto, -}); - -export const getAllCategories: Getter = async () => { - const balances = await getAllCategoryBalances(); - const budgets = await getAllCurrentCategoryBudgets(); - return makeGetter({ - path: "/category", - elementParser: newCategoryFromDto(balances, budgets), - })(); -}; - -export const getAllCategoryBalances: Getter> = makeGetter< - BalanceMap ->({ - path: "/balance/category", - parser: newCategoryBalanceMapFromDto, -}); - -export const getAllCurrentCategoryBudgets: Getter> = - makeGetter>({ - path: "/budget/category?current", - parser: newBudgetMapFromDto, - }); - -type FetcherMakerParams = { - path: string; -} & AnyParser; - -type Parser = { parser: (dto: unknown) => T | null }; -type ElementParser = { elementParser: (dto: unknown) => T | null }; -type AnyParser = T extends any[] - ? Parser | ElementParser - : Parser; - -type Getter = () => Promise; -- cgit v1.2.3