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.

50 lines
1.1 KiB

  1. import type { ProjectResult } from "./project";
  2. export default interface ProjectGroup {
  3. id: string
  4. name: string
  5. description: string
  6. abbreviation: string
  7. categoryNames: ProjectGroupCategoryMap
  8. }
  9. export interface ProjectGroupInput {
  10. name: string
  11. abbreviation: string
  12. description?: string
  13. categoryNames?: ProjectGroupCategoryMap
  14. }
  15. export interface ProjectGroupUpdate {
  16. name?: string
  17. abbreviation?: string
  18. description?: string
  19. setCategoryNames?: ProjectGroupCategoryMap
  20. }
  21. export interface ProjectGroupResult extends ProjectGroup {
  22. projects: ProjectResult[]
  23. projectCounts: ProjectGroupCountMap
  24. taskCounts: ProjectGroupCountMap
  25. }
  26. export interface ProjectGroupCategoryMap {
  27. "deadlines"?: string
  28. "completed"?: string
  29. "failed"?: string
  30. "on hold"?: string
  31. "to do"?: string
  32. "declined"?: string
  33. "progress"?: string
  34. "background"?: string
  35. }
  36. export interface ProjectGroupCountMap {
  37. total: number
  38. "completed"?: number
  39. "failed"?: number
  40. "on hold"?: number
  41. "to do"?: number
  42. "declined"?: number
  43. "progress"?: number
  44. "background"?: number
  45. }