36 lines
773 B
TypeScript
36 lines
773 B
TypeScript
import { uuidV4 } from "../util/uuid"
|
|
|
|
export type TaskID = string
|
|
|
|
export enum EstimationConfidence {
|
|
Optimistic = "optimistic",
|
|
Likely = "likely",
|
|
Pessimistic = "pessimistic"
|
|
}
|
|
|
|
export interface Task {
|
|
id: TaskID
|
|
label: string
|
|
category: CategoryID
|
|
estimations: { [confidence in EstimationConfidence]: number }
|
|
}
|
|
|
|
export type CategoryID = string
|
|
|
|
export interface TaskCategory {
|
|
id: CategoryID
|
|
label: string
|
|
}
|
|
|
|
export function newTask(label: string, category: CategoryID): Task {
|
|
return {
|
|
id: uuidV4(),
|
|
label,
|
|
category,
|
|
estimations: {
|
|
[EstimationConfidence.Optimistic]: 0,
|
|
[EstimationConfidence.Likely]: 0,
|
|
[EstimationConfidence.Pessimistic]: 0,
|
|
}
|
|
};
|
|
} |