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.
62 lines
1.2 KiB
62 lines
1.2 KiB
import type Item from "./item"
|
|
import type { StatValueInput, StatProgress, StatProgressWithPlanned } from "./stat"
|
|
import type Status from "./status"
|
|
|
|
export default interface Project extends ProjectEntry {
|
|
description: string
|
|
ownerName: string
|
|
totalAcquired: number
|
|
totalRequired: number
|
|
totalPlanned: number
|
|
|
|
requirements: Requirement[]
|
|
}
|
|
|
|
export interface ProjectEntry {
|
|
id: number
|
|
ownerId: string
|
|
createdTime: string
|
|
name: string
|
|
status: number
|
|
statusName: string
|
|
tags: string[]
|
|
}
|
|
|
|
export interface ProjectInput {
|
|
createdTime?: string
|
|
name: string
|
|
description: string
|
|
status: number
|
|
tags: string[]
|
|
addTags?: string[]
|
|
removeTags?: string[]
|
|
}
|
|
|
|
export interface Requirement {
|
|
id: number
|
|
name: string
|
|
description: string
|
|
status: Status
|
|
statusName: string
|
|
totalAcquired: number
|
|
totalRequired: number
|
|
totalPlanned: number
|
|
isCoarse: boolean
|
|
aggregateRequired: number
|
|
stats: StatProgressWithPlanned[]
|
|
items: Item[]
|
|
tags: string[]
|
|
}
|
|
|
|
export interface RequirementInput {
|
|
name: string
|
|
description: string
|
|
status: Status
|
|
isCoarse: boolean
|
|
aggregateRequired: number
|
|
stats: StatValueInput[]
|
|
tags: string[]
|
|
addTags?: string[]
|
|
removeTags?: string[]
|
|
projectId?: number
|
|
}
|