diff --git a/api_v2/src/app.module.ts b/api_v2/src/app.module.ts index f4557e25..f9ec1c69 100644 --- a/api_v2/src/app.module.ts +++ b/api_v2/src/app.module.ts @@ -24,6 +24,7 @@ import { graphqlUploadExpress } from 'graphql-upload-ts'; import { WorkInterruptionModule } from './work-interruption/work-interruption.module'; import { APP_GUARD } from '@nestjs/core'; import { PositionsGuard } from './guards/position.guard'; +import { TimeRecordModule } from './time-record/time-record.module'; import { UserModule } from './user/user.module'; import { DtrManagementModule } from './dtr-management/dtr-management.module'; @@ -82,6 +83,7 @@ import { DtrManagementModule } from './dtr-management/dtr-management.module'; LogoutModule, FileUploadModule, WorkInterruptionModule, + TimeRecordModule, UserModule, DtrManagementModule, ], diff --git a/api_v2/src/graphql/graphql.ts b/api_v2/src/graphql/graphql.ts index 5e9c294e..e0231285 100644 --- a/api_v2/src/graphql/graphql.ts +++ b/api_v2/src/graphql/graphql.ts @@ -1,1199 +1,1199 @@ -/* - * ------------------------------------------------------- - * THIS FILE WAS AUTOMATICALLY GENERATED (DO NOT MODIFY) - * ------------------------------------------------------- - */ - -/* tslint:disable */ -/* eslint-disable */ - -export enum WorkStatusEnum { - ONDUTY = 'ONDUTY', - ABSENT = 'ABSENT', - REST = 'REST', - AWAITING = 'AWAITING', -} - -export class AddMemberToScheduleRequestInput { - userId: number; - employeeIds: number[]; - scheduleId: number; -} - -export class AddNewEmployeeRequestInput { - email: string; - positionId: number; - roleId: number; - scheduleId?: Nullable; - firstName: string; - middleName?: Nullable; - lastName: string; -} - -export class ApproveChangeShiftRequestInput { - userId: number; - notificationId: number; - isApproved: boolean; -} - -export class ApproveESLChangeShiftRequestInput { - teamLeaderId: number; - notificationId: number; - isApproved: boolean; -} - -export class ApproveLeaveUndertimeRequestInput { - userId: number; - notificationId: number; - isApproved: boolean; -} - -export class ApproveOvertimeRequestInput { - userId: number; - overtimeId?: Nullable; - notificationId?: Nullable; - approvedMinutes?: Nullable; - isApproved: boolean; - managerRemarks?: Nullable; -} - -export class ApproveOvertimeSummaryRequestInput { - approveOvertimeRequests: ApproveOvertimeRequestInput[]; -} - -export class CancelLeaveRequestInput { - userId: number; - leaveId: number; -} - -export class ChangeSchedRequestInput { - leaderIds: number[]; - workingDays: WorkingDayTimesRequestInput[]; -} - -export class CreateBulkOvertimeRequestInput { - managerId: number; - otherProject?: Nullable; - requestedMinutes: number; - remarks: string; - date: string; - employeeIds: number[]; - projectId: number; -} - -export class CreateChangeShiftRequestInput { - userId: number; - timeEntryId: number; - managerId: number; - timeIn: string; - timeOut: string; - otherProject?: Nullable; - description: string; - projects: MultiProjectRequestInput[]; -} - -export class CreateESLChangeShiftRequestInput { - userId: number; - timeEntryId: number; - teamLeaderId: number; - timeIn: string; - timeOut: string; - description: string; - eslOffsetIDs: number[]; -} - -export class CreateESLOffsetRequestInput { - userId: number; - timeEntryId: number; - teamLeaderId: number; - timeIn: string; - timeOut: string; - title: string; - description: string; -} - -export class CreateEmployeeScheduleRequestInput { - userId: number; - scheduleName?: Nullable; - workingDays: WorkingDayTimesRequestInput[]; -} - -export class CreateInterruptionRequestInput { - timeEntryId: number; - workInterruptionTypeId: number; - timeOut?: Nullable; - timeIn?: Nullable; - remarks?: Nullable; - otherReason?: Nullable; -} - -export class CreateLeaveRequestInput { - userId: number; - leaveTypeId: number; - managerId: number; - otherProject?: Nullable; - reason?: Nullable; - leaveProjects: MultiProjectRequestInput[]; - leaveDates: LeaveDateRequestInput[]; -} - -export class CreateOvertimeRequestInput { - userId: number; - managerId: number; - timeEntryId: number; - otherProject?: Nullable; - requestedMinutes: number; - remarks?: Nullable; - date: string; - overtimeProjects: MultiProjectRequestInput[]; -} - -export class CreateSummaryRequestInput { - startDate: string; - endDate: string; -} - -export class DeleteEmployeeScheduleRequestInput { - userId: number; - employeeScheduleId: number; -} - -export class LeaveDateRequestInput { - leaveDate: string; - isWithPay: boolean; - days: number; -} - -export class LogoutRequestInput { - token: string; -} - -export class MultiProjectRequestInput { - projectId: number; - projectLeaderId: number; -} - -export class NotificationRequestInput { - id: number; - readAt?: Nullable; -} - -export class SearchEmployeesByScheduleRequestInput { - employeeScheduleId: number; - searchKey: string; -} - -export class ShowInterruptionRequestInput { - timeEntryId: number; -} - -export class TimeInRequestInput { - id: number; - userId: number; - timeHour: TimeSpan; - date: DateTime; - startTime: TimeSpan; - endTime: TimeSpan; - remarks?: Nullable; - files?: Nullable; -} - -export class TimeOutRequestInput { - userId: number; - timeEntryId?: Nullable; - timeHour: TimeSpan; - remarks?: Nullable; - workedHours?: Nullable; -} - -export class UpdateEmployeeScheduleRequestInput { - userId: number; - employeeScheduleId: number; - scheduleName?: Nullable; - workingDays: WorkingDayTimesRequestInput[]; -} - -export class UpdateInterruptionRequestInput { - id: number; - workInterruptionTypeId: number; - timeOut?: Nullable; - timeIn?: Nullable; - remarks?: Nullable; - otherReason?: Nullable; -} - -export class UpdateLeaveRequestInput { - userId: number; - leaveTypeId: number; - leaveId: number; - managerId: number; - otherProject?: Nullable; - reason?: Nullable; - leaveProjects: MultiProjectRequestInput[]; - leaveDates: LeaveDateRequestInput[]; -} - -export class UpdateMemberScheduleRequestInput { - userId: number; - employeeId: number; - scheduleId: number; -} - -export class UpdateTimeEntryInput { - userId: number; - timeEntryId: number; - timeIn?: Nullable; - timeOut?: Nullable; -} - -export class WorkingDayTimesRequestInput { - day?: Nullable; - from?: Nullable; - to?: Nullable; - breakFrom?: Nullable; - breakTo?: Nullable; -} - -export class ChangeScheduleRequest { - id: number; - userId: number; - isManagerApproved?: Nullable; - isLeaderApproved?: Nullable; - data: string; - user: User; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class ChangeShiftDTO { - timeIn: string; - timeOut: string; - id: number; - userId: number; - timeEntryId: number; - managerId: number; - otherProject?: Nullable; - description: string; - isManagerApproved?: Nullable; - isLeaderApproved?: Nullable; - user: User; - manager: User; - timeEntry: TimeEntry; - multiProjects: MultiProject[]; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class ChangeShiftNotification { - changeShiftRequestId: number; - changeShiftRequest: ChangeShiftRequest; - id: number; - recipientId?: Nullable; - relatedEntityId?: Nullable; - type: string; - data: string; - readAt?: Nullable; - isRead: boolean; - recipient?: Nullable; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class ChangeShiftRequest { - id: number; - userId: number; - timeEntryId: number; - managerId: number; - timeIn: TimeSpan; - timeOut: TimeSpan; - otherProject?: Nullable; - description: string; - isManagerApproved?: Nullable; - isLeaderApproved?: Nullable; - user: User; - manager: User; - timeEntry: TimeEntry; - multiProjects: MultiProject[]; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class Day { - isDaySelected?: Nullable; - workingDay?: Nullable; - timeIn?: Nullable; - timeOut?: Nullable; - breakFrom?: Nullable; - breakTo?: Nullable; -} - -export class ESLChangeShiftDTO { - timeIn: string; - timeOut: string; - id: number; - userId: number; - timeEntryId: number; - teamLeaderId: number; - description: string; - isLeaderApproved?: Nullable; - user: User; - teamLeader: User; - timeEntry: TimeEntry; - eslOffsets: ESLOffset[]; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class ESLChangeShiftNotification { - eslChangeShiftRequestId: number; - eslChangeShiftRequest: ESLChangeShiftRequest; - id: number; - recipientId?: Nullable; - relatedEntityId?: Nullable; - type: string; - data: string; - readAt?: Nullable; - isRead: boolean; - recipient?: Nullable; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class ESLChangeShiftRequest { - id: number; - userId: number; - timeEntryId: number; - teamLeaderId: number; - timeIn: TimeSpan; - timeOut: TimeSpan; - description: string; - isLeaderApproved?: Nullable; - user: User; - teamLeader: User; - timeEntry: TimeEntry; - eslOffsets: ESLOffset[]; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class ESLOffset { - id: number; - userId: number; - timeEntryId: number; - teamLeaderId: number; - eslChangeShiftRequestId?: Nullable; - timeIn: TimeSpan; - timeOut: TimeSpan; - title: string; - description: string; - isLeaderApproved?: Nullable; - isUsed: boolean; - user: User; - teamLeader: User; - timeEntry: TimeEntry; - eslChangeShiftRequest: ESLChangeShiftRequest; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class ESLOffsetDTO { - timeIn: string; - timeOut: string; - id: number; - userId: number; - timeEntryId: number; - teamLeaderId: number; - eslChangeShiftRequestId?: Nullable; - title: string; - description: string; - isLeaderApproved?: Nullable; - isUsed: boolean; - user: User; - teamLeader: User; - timeEntry: TimeEntry; - eslChangeShiftRequest: ESLChangeShiftRequest; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class ESLOffsetNotification { - eslOffsetId: number; - eslOffset: ESLOffset; - id: number; - recipientId?: Nullable; - relatedEntityId?: Nullable; - type: string; - data: string; - readAt?: Nullable; - isRead: boolean; - recipient?: Nullable; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class EmployeeSchedule { - id: number; - name?: Nullable; - users: User[]; - workingDayTimes: WorkingDayTime[]; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class EmployeeScheduleDTO { - id?: Nullable; - scheduleName?: Nullable; - days: Day[]; - memberCount: number; - employeeScheduleId: number; - day?: Nullable; - from: TimeSpan; - to: TimeSpan; - breakFrom: TimeSpan; - breakTo: TimeSpan; - employeeSchedule: EmployeeSchedule; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class File { - mimeType: string; - link: string; - fileName: string; -} - -export class HeatMapDTO { - leaveValue?: number; - day: number; - value: number; - leaveName?: Nullable; -} - -export class Leave { - id: number; - userId: number; - leaveTypeId: number; - managerId?: Nullable; - otherProject?: Nullable; - reason?: Nullable; - leaveDate: DateTime; - days: number; - isWithPay: boolean; - isLeaderApproved?: Nullable; - isManagerApproved?: Nullable; - isDeleted: boolean; - leaveProjects: MultiProject[]; - leaveType: LeaveType; - manager: User; - user: User; - leaveNotifications: LeaveNotification[]; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class LeaveBreakdownDTO { - sickLeave: number; - undertime: number; - vacationLeave: number; - emergencyLeave: number; - bereavementLeave: number; - maternityLeave: number; - withoutPayTotal: number; - withPayTotal: number; - pending: number; -} - -export class LeaveDTO { - userId?: Nullable; - avatar?: Nullable; - userName?: Nullable; - userRole?: Nullable; - leaveType?: Nullable; - manager?: Nullable; - reason?: Nullable; - leaveDate?: Nullable; - isWithPay?: Nullable; - isLeaderApproved?: Nullable; - isManagerApproved?: Nullable; - days?: Nullable; - createdAt?: Nullable; - id: number; - leaveTypeId: number; - managerId?: Nullable; - otherProject?: Nullable; - isDeleted: boolean; - leaveProjects: MultiProject[]; - user: User; - leaveNotifications: LeaveNotification[]; - updatedAt?: Nullable; -} - -export class LeaveHeatMapDTO { - january: HeatMapDTO[]; - february: HeatMapDTO[]; - march: HeatMapDTO[]; - april: HeatMapDTO[]; - may: HeatMapDTO[]; - june: HeatMapDTO[]; - july: HeatMapDTO[]; - august: HeatMapDTO[]; - september: HeatMapDTO[]; - october: HeatMapDTO[]; - november: HeatMapDTO[]; - december: HeatMapDTO[]; -} - -export class LeaveNotification { - leaveId: number; - leave: Leave; - id: number; - recipientId?: Nullable; - relatedEntityId?: Nullable; - type: string; - data: string; - readAt?: Nullable; - isRead: boolean; - recipient?: Nullable; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class LeaveType { - id: number; - name: string; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class LeavesDTO { - heatmap: LeaveHeatMapDTO; - table: LeavesTableDTO[]; - breakdown: LeaveBreakdownDTO; - user?: Nullable; - totalNumberOfFiledLeaves?: Nullable; -} - -export class LeavesTableDTO { - date?: Nullable; - createdAt?: Nullable; - leaveTypeId: number; - isWithPay: boolean; - reason?: Nullable; - status?: Nullable; - numLeaves: number; - userName?: Nullable; - leaveName?: Nullable; - isLeaderApproved?: Nullable; - isManagerApproved?: Nullable; - leaveId: number; - userId: number; -} - -export class Media { - id: number; - collectionName?: Nullable; - name?: Nullable; - fileName?: Nullable; - mimeType?: Nullable; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class MultiProject { - id: number; - type: string; - projectId?: Nullable; - projectLeaderId?: Nullable; - leaveId?: Nullable; - overtimeId?: Nullable; - changeShiftRequestId?: Nullable; - project: Project; - projectLeader: User; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export abstract class IMutation { - abstract updateTimeIn(timeIn: TimeInRequestInput): string | Promise; - - abstract updateTimeOut( - timeOut: TimeOutRequestInput, - ): string | Promise; - - abstract createSignIn(): string | Promise; - - abstract logout(logOut: LogoutRequestInput): string | Promise; - - abstract createWorkInterruption( - interruption: CreateInterruptionRequestInput, - ): WorkInterruptionDTO | Promise; - - abstract updateWorkInterruption( - interruption: UpdateInterruptionRequestInput, - ): boolean | Promise; - - abstract deleteWorkInterruption(id: number): boolean | Promise; - - abstract updateOneTimeEntry( - updatedTimeEntry: UpdateTimeEntryInput, - ): string | Promise; - - abstract createLeave( - leave: CreateLeaveRequestInput, - ): Leave[] | Promise; - - abstract updateLeave( - leave: UpdateLeaveRequestInput, - ): Nullable | Promise>; - - abstract cancelLeave( - request: CancelLeaveRequestInput, - ): string | Promise; - - abstract readNotification( - notification: NotificationRequestInput, - ): string | Promise; - - abstract isReadAll(id: number): Notification[] | Promise; - - abstract createOvertime( - overtime: CreateOvertimeRequestInput, - ): Overtime | Promise; - - abstract createSummarizedOvertime( - overtimeSummary: CreateSummaryRequestInput, - ): string | Promise; - - abstract createBulkOvertime( - request: CreateBulkOvertimeRequestInput, - ): Overtime[] | Promise; - - abstract approveDisapproveOvertime( - approvingData: ApproveOvertimeRequestInput, - ): boolean | Promise; - - abstract approveDisapproveAllOvertimeSummary( - approvingDatas: ApproveOvertimeSummaryRequestInput, - ): string | Promise; - - abstract approveDisapproveLeave( - approvingData: ApproveLeaveUndertimeRequestInput, - ): boolean | Promise; - - abstract approveDisapproveUndertime( - approvingData: ApproveLeaveUndertimeRequestInput, - ): boolean | Promise; - - abstract approveDisapproveChangeShift( - approvingData: ApproveChangeShiftRequestInput, - ): boolean | Promise; - - abstract createChangeShift( - request: CreateChangeShiftRequestInput, - ): ChangeShiftRequest | Promise; - - abstract createESLChangeShift( - request: CreateESLChangeShiftRequestInput, - ): ESLChangeShiftRequest | Promise; - - abstract approveDisapproveESLChangeShiftStatus( - request: ApproveESLChangeShiftRequestInput, - ): ESLChangeShiftRequest | Promise; - - abstract createESLOffset( - request: CreateESLOffsetRequestInput, - ): ESLOffset | Promise; - - abstract approveDisapproveChangeOffsetStatus( - request: ApproveESLChangeShiftRequestInput, - ): ESLOffset | Promise; - - abstract createEmployeeSchedule( - request: CreateEmployeeScheduleRequestInput, - ): string | Promise; - - abstract updateEmployeeSchedule( - request: UpdateEmployeeScheduleRequestInput, - ): string | Promise; - - abstract addMembersToSchedule( - request: AddMemberToScheduleRequestInput, - ): string | Promise; - - abstract updateMemberSchedule( - request: UpdateMemberScheduleRequestInput, - ): string | Promise; - - abstract deleteEmployeeSchedule( - request: DeleteEmployeeScheduleRequestInput, - ): string | Promise; - - abstract changeScheduleRequest( - request: ChangeSchedRequestInput, - ): ChangeScheduleRequest | Promise; - - abstract addNewEmployee( - request: AddNewEmployeeRequestInput, - ): boolean | Promise; -} - -export class MyOvertimeDTO { - id: number; - projects: MultiProject[]; - otherProject?: Nullable; - supervisor: string; - dateFiled?: Nullable; - remarks: string; - overtimeDate?: Nullable; - requestedMinutes?: Nullable; - approvedMinutes?: Nullable; - isLeaderApproved?: Nullable; - isManagerApproved?: Nullable; - userId: number; - managerId?: Nullable; - timeEntryId: number; - managerRemarks?: Nullable; - multiProjects: MultiProject[]; - manager: User; - user: User; - timeEntry: TimeEntry; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class Notification { - id: number; - recipientId?: Nullable; - relatedEntityId?: Nullable; - type: string; - data: string; - readAt?: Nullable; - isRead: boolean; - recipient?: Nullable; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class Over { - id: number; - link: string; - name: string; - roleId: number; - roleName: string; -} - -export class Overtime { - id: number; - userId: number; - managerId?: Nullable; - timeEntryId: number; - otherProject?: Nullable; - remarks?: Nullable; - overtimeDate: DateTime; - requestedMinutes: number; - approvedMinutes?: Nullable; - isLeaderApproved?: Nullable; - isManagerApproved?: Nullable; - managerRemarks?: Nullable; - multiProjects: MultiProject[]; - manager: User; - user: User; - timeEntry: TimeEntry; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class OvertimeDTO { - user?: Nullable; - id: number; - projects: MultiProject[]; - otherProject?: Nullable; - supervisor: string; - dateFiled?: Nullable; - remarks: string; - overtimeDate?: Nullable; - approvedMinutes?: Nullable; - isLeaderApproved?: Nullable; - isManagerApproved?: Nullable; - managerRemarks?: Nullable; - userId: number; - managerId?: Nullable; - timeEntryId: number; - requestedMinutes: number; - multiProjects: MultiProject[]; - manager: User; - timeEntry: TimeEntry; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class OvertimeNotification { - overtimeId: number; - overtime: Overtime; - id: number; - recipientId?: Nullable; - relatedEntityId?: Nullable; - type: string; - data: string; - readAt?: Nullable; - isRead: boolean; - recipient?: Nullable; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class Position { - id: number; - name: string; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class Project { - id: number; - projectLeaderId?: Nullable; - projectSubLeaderId?: Nullable; - name: string; - projectLeader?: Nullable; - projectSubLeader?: Nullable; - leaves: Leave[]; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export abstract class IQuery { - abstract getHello(): string | Promise; - - abstract userById(id: number): Nullable | Promise>; - - abstract userByEmail( - email: string, - ): Nullable | Promise>; - - abstract allUsers(): User[] | Promise; - - abstract allESLUsers( - exceptUserId?: Nullable, - ): User[] | Promise; - - abstract timeById( - id: number, - ): Nullable | Promise>; - - abstract specificTimeEntryById( - id: number, - ): Nullable | Promise>; - - abstract specificUserProfileDetail( - id: number, - ): Nullable | Promise>; - - abstract timeEntriesByEmployeeId( - id: number, - ): Nullable | Promise>; - - abstract timeEntries( - date?: Nullable, - status?: Nullable, - ): TimeEntryDTO[] | Promise; - - abstract timesheetSummary( - startDate?: Nullable, - endDate?: Nullable, - ): TimeEntriesSummaryDTO[] | Promise; - - abstract allWorkInterruptionTypes(): - | WorkInterruptionType[] - | Promise; - - abstract interruptionsByTimeEntryId( - interruption: ShowInterruptionRequestInput, - ): WorkInterruptionDTO[] | Promise; - - abstract allLeaves(): LeaveDTO[] | Promise; - - abstract leaveTypes(): LeaveType[] | Promise; - - abstract leaves( - userId: number, - year: number, - leaveTypeId: number, - ): LeavesDTO | Promise; - - abstract leavesByDate( - userId: number, - date: string, - ): LeavesDTO | Promise; - - abstract yearlyAllLeaves( - year: number, - leaveTypeId: number, - ): LeavesDTO | Promise; - - abstract yearlyAllLeavesByDate(date: string): LeavesDTO | Promise; - - abstract paidLeaves(id: number): number | Promise; - - abstract userLeave(leaveId: number): LeaveDTO[] | Promise; - - abstract projects(): Project[] | Promise; - - abstract allLeaders(projectId?: Nullable): User[] | Promise; - - abstract notificationByRecipientId( - id: number, - ): Notification[] | Promise; - - abstract overtime(userId: number): MyOvertimeDTO[] | Promise; - - abstract allOvertime(): OvertimeDTO[] | Promise; - - abstract changeShiftByTimeEntry( - timeEntryId: number, - ): ChangeShiftRequest | Promise; - - abstract eslOffsetsByTimeEntry( - timeEntryId: number, - onlyUnused: boolean, - ): ESLOffsetDTO[] | Promise; - - abstract allESLOffsets( - isUsed?: Nullable, - ): ESLOffsetDTO[] | Promise; - - abstract eslChangeShiftByTimeEntry( - timeEntryId: number, - ): ESLChangeShiftRequest | Promise; - - abstract allEmployeeScheduleDetails(): - | EmployeeScheduleDTO[] - | Promise; - - abstract employeeScheduleDetails( - employeeScheduleId: number, - ): EmployeeScheduleDTO[] | Promise; - - abstract employeesBySchedule( - employeeScheduleId: number, - ): UserDTO[] | Promise; - - abstract employeeChangeScheduleRequest( - userId: number, - ): - | Nullable - | Promise>; - - abstract searchEmployeesBySchedule( - request: SearchEmployeesByScheduleRequestInput, - ): UserDTO[] | Promise; -} - -export class Role { - id: number; - name?: Nullable; - users: User[]; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class SpecificTimeDTO { - media?: Nullable; - id: number; - timeHour?: Nullable; - remarks?: Nullable; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class SubscriptionObjectType { - subscribeAllLeave: Leave; - overtimeSummaryCreated?: Notification; - leaveCreated?: LeaveNotification; - overtimeCreated?: OvertimeNotification; - changeShiftCreated?: ChangeShiftNotification; - eslChangeShiftCreated?: ESLChangeShiftNotification; - eslOffsetCreated?: ESLOffsetNotification; - notificationCreated?: Notification; -} - -export class Time { - id: number; - timeHour: TimeSpan; - remarks?: Nullable; - media?: Nullable; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class TimeDTO { - timeHour?: Nullable; - id: number; - remarks?: Nullable; - media?: Nullable; - createdAt?: Nullable; - updatedAt?: Nullable; -} - -export class TimeEntriesSummaryDTO { - user: UserDTO; - leave: number; - absences: number; - late?: Nullable; - undertime?: Nullable; - overtime?: Nullable; -} - -export class TimeEntry { - id: number; - userId: number; - timeInId?: Nullable; - timeOutId?: Nullable; - startTime: TimeSpan; - endTime: TimeSpan; - breakStartTime: TimeSpan; - breakEndTime: TimeSpan; - date: DateTime; - workedHours?: Nullable; - trackedHours: TimeSpan; - user: User; - timeIn?: Nullable