2023-01-27 03:22:44 -08:00
|
|
|
import type { IHourlyRateDto, IMembershipDto } from './CommonDtos';
|
2020-02-03 14:11:35 -08:00
|
|
|
|
2023-04-21 04:23:15 -07:00
|
|
|
const enum AdminOnlyPagesEnum {
|
2020-10-04 07:32:12 -07:00
|
|
|
PROJECT = 'PROJECT',
|
2020-02-21 02:41:08 -08:00
|
|
|
TEAM = 'TEAM',
|
|
|
|
REPORTS = 'REPORTS',
|
2020-02-03 14:11:35 -08:00
|
|
|
}
|
|
|
|
|
2023-04-21 04:23:15 -07:00
|
|
|
const enum DaysOfWeekEnum {
|
2020-02-21 02:41:08 -08:00
|
|
|
MONDAY = 'MONDAY',
|
|
|
|
TUESDAY = 'TUESDAY',
|
|
|
|
WEDNESDAY = 'WEDNESDAY',
|
|
|
|
THURSDAY = 'THURSDAY',
|
|
|
|
FRIDAY = 'FRIDAY',
|
|
|
|
SATURDAY = 'SATURDAY',
|
|
|
|
SUNDAY = 'SUNDAY',
|
2020-02-03 14:11:35 -08:00
|
|
|
}
|
|
|
|
|
2023-04-21 04:23:15 -07:00
|
|
|
const enum DatePeriodEnum {
|
2020-02-21 02:41:08 -08:00
|
|
|
DAYS = 'DAYS',
|
|
|
|
WEEKS = 'WEEKS',
|
|
|
|
MONTHS = 'MONTHS',
|
2020-02-03 14:11:35 -08:00
|
|
|
}
|
|
|
|
|
2023-04-21 04:23:15 -07:00
|
|
|
const enum AutomaticLockTypeEnum {
|
2020-02-21 02:41:08 -08:00
|
|
|
WEEKLY = 'WEEKLY',
|
|
|
|
MONTHLY = 'MONTHLY',
|
|
|
|
OLDER_THAN = 'OLDER_THAN',
|
2020-02-03 14:11:35 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
interface IAutomaticLockDto {
|
|
|
|
changeDay: DaysOfWeekEnum;
|
|
|
|
dayOfMonth: number;
|
|
|
|
firstDay: DaysOfWeekEnum;
|
|
|
|
olderThanPeriod: DatePeriodEnum;
|
|
|
|
olderThanValue: number;
|
|
|
|
type: AutomaticLockTypeEnum;
|
|
|
|
}
|
|
|
|
|
|
|
|
interface IRound {
|
|
|
|
minutes: string;
|
|
|
|
round: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
interface IWorkspaceSettingsDto {
|
|
|
|
adminOnlyPages: AdminOnlyPagesEnum[];
|
|
|
|
automaticLock: IAutomaticLockDto;
|
|
|
|
canSeeTimeSheet: boolean;
|
|
|
|
defaultBillableProjects: boolean;
|
|
|
|
forceDescription: boolean;
|
|
|
|
forceProjects: boolean;
|
|
|
|
forceTags: boolean;
|
|
|
|
forceTasks: boolean;
|
|
|
|
lockTimeEntries: string;
|
|
|
|
onlyAdminsCreateProject: boolean;
|
|
|
|
onlyAdminsCreateTag: boolean;
|
|
|
|
onlyAdminsSeeAllTimeEntries: boolean;
|
|
|
|
onlyAdminsSeeBillableRates: boolean;
|
|
|
|
onlyAdminsSeeDashboard: boolean;
|
|
|
|
onlyAdminsSeePublicProjectsEntries: boolean;
|
|
|
|
projectFavorites: boolean;
|
|
|
|
projectGroupingLabel: string;
|
|
|
|
projectPickerSpecialFilter: boolean;
|
|
|
|
round: IRound;
|
|
|
|
timeRoundingInReports: boolean;
|
|
|
|
trackTimeDownToSecond: boolean;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface IWorkspaceDto {
|
|
|
|
hourlyRate: IHourlyRateDto;
|
|
|
|
id: string;
|
|
|
|
imageUrl: string;
|
2020-10-04 07:32:12 -07:00
|
|
|
memberships: IMembershipDto[];
|
2020-02-03 14:11:35 -08:00
|
|
|
name: string;
|
|
|
|
workspaceSettings: IWorkspaceSettingsDto;
|
|
|
|
}
|
2020-10-04 07:28:05 -07:00
|
|
|
|
|
|
|
export interface IClientDto {
|
|
|
|
id: string;
|
|
|
|
name: string;
|
|
|
|
workspaceId: string;
|
|
|
|
}
|