Some checks failed
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
61 lines
1.2 KiB
TypeScript
61 lines
1.2 KiB
TypeScript
import type { IHourlyRateDto, IMembershipDto } from './CommonDtos';
|
|
|
|
const Estimates = {
|
|
AUTO: 'AUTO',
|
|
MANUAL: 'MANUAL',
|
|
} as const;
|
|
|
|
type EstimateEnum = (typeof Estimates)[keyof typeof Estimates];
|
|
|
|
interface IEstimateDto {
|
|
estimate: string;
|
|
type: EstimateEnum;
|
|
}
|
|
|
|
export interface IProjectDto {
|
|
archived: boolean;
|
|
billable: boolean;
|
|
clientId: string;
|
|
clientName: string | undefined;
|
|
color: string;
|
|
duration: string | undefined;
|
|
estimate: IEstimateDto | undefined;
|
|
hourlyRate: IHourlyRateDto | undefined;
|
|
id: string;
|
|
memberships: IMembershipDto[] | undefined;
|
|
name: string;
|
|
isPublic: boolean;
|
|
workspaceId: string;
|
|
note: string | undefined;
|
|
}
|
|
|
|
export interface IProjectRequest {
|
|
name: string;
|
|
clientId: string;
|
|
isPublic: boolean;
|
|
estimate: IEstimateDto;
|
|
color: string;
|
|
note: string;
|
|
billable: boolean;
|
|
hourlyRate: IHourlyRateDto;
|
|
memberships: IMembershipDto;
|
|
tasks: ITaskDto;
|
|
}
|
|
|
|
const TaskStatuses = {
|
|
ACTIVE: 'ACTIVE',
|
|
DONE: 'DONE',
|
|
} as const;
|
|
|
|
type TaskStatusEnum = (typeof TaskStatuses)[keyof typeof TaskStatuses];
|
|
|
|
export interface ITaskDto {
|
|
assigneeIds: object;
|
|
estimate: string;
|
|
id: string;
|
|
name: string;
|
|
projectId: string;
|
|
status: TaskStatusEnum;
|
|
'is-active': boolean;
|
|
}
|