import { IHourlyRateDto, IMembershipDto } from './CommonDtos'; enum AdminOnlyPagesEnum { PROJECT = 'PROJECT', TEAM = 'TEAM', REPORTS = 'REPORTS', } enum DaysOfWeekEnum { MONDAY = 'MONDAY', TUESDAY = 'TUESDAY', WEDNESDAY = 'WEDNESDAY', THURSDAY = 'THURSDAY', FRIDAY = 'FRIDAY', SATURDAY = 'SATURDAY', SUNDAY = 'SUNDAY', } enum DatePeriodEnum { DAYS = 'DAYS', WEEKS = 'WEEKS', MONTHS = 'MONTHS', } enum AutomaticLockTypeEnum { WEEKLY = 'WEEKLY', MONTHLY = 'MONTHLY', OLDER_THAN = 'OLDER_THAN', } 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; memberships: IMembershipDto[]; name: string; workspaceSettings: IWorkspaceSettingsDto; } export interface IClientDto { id: string; name: string; workspaceId: string; }