import { TimesheetClassificationStatusEnum } from "../enums/timesheet_classification_status_enum"; import { TimesheetStatusEnum } from "../enums/timesheet_status_enum"; import { IEntityAuditColumn } from "./entity-audit-columns.interface"; import { Nullable } from "./entity.utils.interface"; export interface ITimesheetEntity extends IEntityAuditColumn { id: number; userId: number; projectId: number; task: string; description?: string; dateCode: string; totalDuration: number; status: TimesheetStatusEnum; remark?: string; billingId?: number; billedDuration?: number; notBilledDuration?: number; classificationStatus: TimesheetClassificationStatusEnum; classifiedBy?: Nullable; } export type PendingApprovalStatus = TimesheetStatusEnum.CREATE_APPROVAL_PENDING | TimesheetStatusEnum.UPDATE_APPROVAL_PENDING | TimesheetStatusEnum.DELETE_APPROVAL_PENDING | TimesheetStatusEnum.RESOLVED_REJECTED;