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.

41 lines
791 B

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. import type { IconName } from "../external/icons";
  2. import type { TaskResult } from "./task";
  3. export default interface Project {
  4. id: string
  5. name: string
  6. description: string
  7. icon: IconName
  8. active: boolean
  9. createdTime: string
  10. endTime?: string
  11. statusTag?: string
  12. }
  13. export interface ProjectResult extends Project {
  14. tasks: TaskResult[]
  15. }
  16. export interface ProjectFilter {
  17. active?: boolean
  18. expiring?: boolean
  19. }
  20. export interface ProjectInput {
  21. name: string
  22. description: string
  23. icon: IconName
  24. active: boolean
  25. endTime?: string | Date
  26. statusTag?: string
  27. }
  28. export interface ProjectUpdate {
  29. name?: string
  30. description?: string
  31. icon?: string
  32. active?: boolean
  33. endTime?: string | Date
  34. clearEndTime?: boolean
  35. statusTag?: string
  36. clearStatusTag?: boolean
  37. }