You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.1 KiB
51 lines
1.1 KiB
import type { ProjectResult } from "./project";
|
|
|
|
export default interface ProjectGroup {
|
|
id: string
|
|
name: string
|
|
description: string
|
|
abbreviation: string
|
|
categoryNames: ProjectGroupCategoryMap
|
|
}
|
|
|
|
export interface ProjectGroupInput {
|
|
name: string
|
|
abbreviation: string
|
|
description?: string
|
|
categoryNames?: ProjectGroupCategoryMap
|
|
}
|
|
|
|
export interface ProjectGroupUpdate {
|
|
name?: string
|
|
abbreviation?: string
|
|
description?: string
|
|
setCategoryNames?: ProjectGroupCategoryMap
|
|
}
|
|
|
|
export interface ProjectGroupResult extends ProjectGroup {
|
|
projects: ProjectResult[]
|
|
projectCounts: ProjectGroupCountMap
|
|
taskCounts: ProjectGroupCountMap
|
|
}
|
|
|
|
export interface ProjectGroupCategoryMap {
|
|
"deadlines"?: string
|
|
"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
|
|
}
|