@timesheet/sdk
Version:
Official TypeScript SDK for the Timesheet API
127 lines • 3.2 kB
TypeScript
import type { ListParams } from './common';
import type { Team } from './Team';
export interface ProjectPermission {
role?: string;
managerOrOwner?: boolean;
member?: boolean;
manager?: boolean;
owner?: boolean;
}
export interface Project {
id: string;
title: string;
description?: string;
color?: number;
employer?: string;
office?: string;
taskDefaultBillable?: boolean;
taskDefaultRateId?: string;
archived?: boolean;
salaryVisibility?: number;
salary?: string;
team?: Team;
permission?: ProjectPermission;
duration?: number;
durationBreak?: number;
salaryTotal?: string;
salaryBreak?: string;
expenses?: string;
expensesPaid?: string;
mileage?: string;
todoEstimatedDuration?: number;
todoTrackedDuration?: number;
todoCount?: number;
titleAndClient?: string;
salaryVisible?: boolean;
user?: string;
created?: number;
lastUpdate?: number;
deleted?: boolean;
}
export interface ProjectList {
items: Project[];
params: ProjectListParams;
}
export interface ProjectMember {
id: string;
user?: string;
email: string;
firstname?: string;
lastname?: string;
imageUrl?: string;
deleted?: boolean;
permission?: ProjectPermission;
lastUpdate?: number;
created?: number;
displayName?: string;
initials?: string;
}
export interface ProjectMemberList {
items: ProjectMember[];
params: ProjectMemberListParams;
}
export interface ProjectMemberCreateRequest {
projectId?: string;
email?: string;
userId?: string;
permission?: ProjectPermission;
}
export interface ProjectMemberUpdateRequest {
permission?: ProjectPermission;
}
export interface ProjectRegistration {
id?: string;
role?: string;
user?: string;
salaryActivated?: boolean;
salary?: string;
}
export interface ProjectCreateRequest {
title: string;
description?: string;
color?: number;
employer?: string;
office?: string;
taskDefaultBillable?: boolean;
taskDefaultRateId?: string;
archived?: boolean;
salaryVisibility?: number;
salary?: string;
teamId?: string;
}
export interface ProjectUpdateRequest {
title?: string;
description?: string;
color?: number;
employer?: string;
office?: string;
taskDefaultBillable?: boolean;
taskDefaultRateId?: string;
archived?: boolean;
salaryVisibility?: number;
salary?: string;
deleted?: boolean;
}
export interface ProjectListParams extends ListParams {
teamId?: string;
status?: 'all' | 'active' | 'inactive';
sort?: 'alpha' | 'alphaNum' | 'client' | 'duration' | 'created' | 'status';
order?: 'asc' | 'desc';
teamIds?: string[];
projectIds?: string[];
taskStartDate?: string;
taskEndDate?: string;
taskRateId?: string;
taskType?: string;
taskFilter?: string;
taskUserIds?: string[];
empty?: boolean;
}
export interface ProjectMemberListParams extends ListParams {
projectId?: string;
status?: string;
withoutMe?: boolean;
userIds?: string[];
withDeleted?: boolean;
}
//# sourceMappingURL=Project.d.ts.map