* Scaffold project states * fixup! Scaffold project states * Fix blinking project modal * fixup! Fix blinking project modal * fixup! fixup! Fix blinking project modal * Fix an issue with the tag input autosuggest * fixup! Fix an issue with the tag input autosuggest * fixup! fixup! Fix an issue with the tag input autosuggest * Add state to project details * fixup! Add state to project details * Add state indicator on project cards * fixup! Add state indicator on project cards
35 lines
880 B
TypeScript
35 lines
880 B
TypeScript
import { Area } from './Area';
|
|
import { Tag } from './Tag';
|
|
import { PriorityType, Task } from './Task';
|
|
import { Note } from './Note';
|
|
|
|
export type ProjectState =
|
|
| 'idea'
|
|
| 'planned'
|
|
| 'in_progress'
|
|
| 'blocked'
|
|
| 'completed';
|
|
|
|
export interface Project {
|
|
id?: number;
|
|
uid?: string;
|
|
name: string;
|
|
description?: string;
|
|
pin_to_sidebar?: boolean;
|
|
area?: Area;
|
|
area_id?: number | null;
|
|
area_uid?: string | null;
|
|
tags?: Tag[];
|
|
priority?: PriorityType;
|
|
tasks?: Task[];
|
|
Tasks?: Task[]; // Sequelize association naming (capitalized)
|
|
notes?: Note[];
|
|
Notes?: Note[]; // Sequelize association naming (capitalized)
|
|
due_date_at?: string | null;
|
|
image_url?: string;
|
|
task_show_completed?: boolean;
|
|
task_sort_order?: string;
|
|
state?: ProjectState;
|
|
created_at?: string;
|
|
updated_at?: string;
|
|
}
|