diff --git a/svelte-ui/src/clients/stufflog.ts b/svelte-ui/src/clients/stufflog.ts index c4ae943..2295bc7 100644 --- a/svelte-ui/src/clients/stufflog.ts +++ b/svelte-ui/src/clients/stufflog.ts @@ -5,6 +5,7 @@ import type { TaskFilter, TaskInput, TaskLink, TaskResult, TaskUpdate } from ".. import type { LogFilter, LogInput, LogResult, LogUpdate } from "../models/log"; import type { GroupInput, GroupResult, GroupUpdate } from "../models/group"; import type { ItemInput, ItemResult, ItemUpdate } from "../models/item"; +import type { ProjectGroupResult } from "../models/projectgroup"; export class StufflogClient { private root: string; @@ -98,6 +99,18 @@ export class StufflogClient { + async findProjectGroup(id: string): Promise { + const data = await this.fetch("GET", `/api/projectgroup/${id}`); + return data.projectGroup; + } + + async listProjectGroups(): Promise { + const data = await this.fetch("GET", `/api/projectgroup/`); + return data.projectGroups; + } + + + async findLog(id: string): Promise { const data = await this.fetch("GET", `/api/log/${id}`); return data.log; diff --git a/svelte-ui/src/models/projectgroup.ts b/svelte-ui/src/models/projectgroup.ts new file mode 100644 index 0000000..027fbe2 --- /dev/null +++ b/svelte-ui/src/models/projectgroup.ts @@ -0,0 +1,35 @@ +import type Project from "./project"; + +export default interface ProjectGroup { + id: string + name: string + description: string + abbreviation: string + categoryNames: ProjectGroupCategoryMap +} + +export interface ProjectGroupResult extends ProjectGroup { + projectCounts: ProjectGroupCountMap + taskCounts: ProjectGroupCountMap +} + +export interface ProjectGroupCategoryMap { + "completed"?: string + "failed"?: string + "on hold"?: string + "to do"?: string + "declined"?: string + "progress"?: string + "background"?: string +} + +export interface ProjectGroupCountMap { + total: number + "completed"?: number + "failed"?: number + "on hold"?: number + "to do"?: number + "declined"?: number + "progress"?: number + "background"?: number +} \ No newline at end of file diff --git a/svelte-ui/src/pages/FrontPage.svelte b/svelte-ui/src/pages/FrontPage.svelte index 8a859d8..7cab15b 100644 --- a/svelte-ui/src/pages/FrontPage.svelte +++ b/svelte-ui/src/pages/FrontPage.svelte @@ -1,4 +1,6 @@