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.
60 lines
1.2 KiB
60 lines
1.2 KiB
import type { IconName } from "../external/icons";
|
|
import type { TaskResult } from "./task";
|
|
|
|
export default interface Project {
|
|
id: string
|
|
groupId: string | null
|
|
name: string
|
|
description: string
|
|
icon: IconName
|
|
active: boolean
|
|
createdTime: string
|
|
favorite: boolean
|
|
subtractAmount: number
|
|
tags: string[]
|
|
startTime?: string
|
|
endTime?: string
|
|
statusTag?: string
|
|
}
|
|
|
|
export interface ProjectResult extends Project {
|
|
tasks: TaskResult[]
|
|
}
|
|
|
|
export interface ProjectFilter {
|
|
active?: boolean
|
|
favorite?: boolean
|
|
expiring?: boolean
|
|
includeSemiActive?: boolean
|
|
}
|
|
|
|
export interface ProjectInput {
|
|
name: string
|
|
groupId?: string
|
|
description: string
|
|
icon: IconName
|
|
active: boolean
|
|
subtractAmount: number
|
|
startTime?: string | Date
|
|
endTime?: string | Date
|
|
statusTag?: string
|
|
favorite?: boolean
|
|
tags?: string[]
|
|
}
|
|
|
|
export interface ProjectUpdate {
|
|
name?: string
|
|
description?: string
|
|
groupId?: string
|
|
icon?: string
|
|
active?: boolean
|
|
startTime?: string | Date
|
|
clearStartTime?: boolean
|
|
endTime?: string | Date
|
|
clearEndTime?: boolean
|
|
statusTag?: string
|
|
clearStatusTag?: boolean
|
|
subtractAmount?: number
|
|
favorite?: boolean
|
|
setTags?: string[]
|
|
}
|