From bae9f030b231ec3a44fe54dc5a3a94d2b134c4a6 Mon Sep 17 00:00:00 2001 From: Jan Bader Date: Sun, 11 Sep 2022 21:02:06 +0000 Subject: [PATCH] Add category store --- web/src/stores/category.ts | 44 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 web/src/stores/category.ts diff --git a/web/src/stores/category.ts b/web/src/stores/category.ts new file mode 100644 index 0000000..0960e5e --- /dev/null +++ b/web/src/stores/category.ts @@ -0,0 +1,44 @@ +import { defineStore } from "pinia"; +import { GET, POST } from "../api"; +import { useAccountStore } from "./budget-account"; +import { Budget, useSessionStore } from "./session"; + +interface State { + Categories: Map; +} + +export interface Category { + ID: string; + Group: string; + Name: string; + AvailableLastMonth: number; + Assigned: number; + Activity: number; +} + +export const useCategoryStore = defineStore("category", { + state: (): State => ({ + Categories: new Map(), + }), + getters: { + }, + actions: { + async CreateCategory( + group: string, + name: string, + ) { + const result = await POST( + "/category/new", + JSON.stringify({ + name: name, + group: group, + }) + ); + const response = await result.json(); + useCategoryStore().AddCategory(response); + }, + async AddCategory(category : Category){ + this.Categories.set(category.ID, category); + } + }, +}); \ No newline at end of file