Building out the skeleton for Clockify integration

This commit is contained in:
Mark Horninger
2020-02-03 17:11:35 -05:00
parent 56c8d4688f
commit d99e4a7bfb
9 changed files with 302 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
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;
}