import { MultiSelectOption } from '../../node_modules/tsv2-library/dist/src/types/options'; import { UserDataType } from './user.type'; export type PreListDataType = { _id: string; totalAssets: number; user: { _id: string; fullName: string; key: number; }; group: { _id: string; name: string; key: number; }; isManager: boolean; }; export type PreListParams = { user?: number[]; group?: number[]; tag?: string; type?: string; }; export type PreListFilterParams = Partial>; export type PreListOptionFilter = { userOptions?: MultiSelectOption[]; }; export type PreListOptionBoolean = { type?: 'Assign' | 'Unassign'; userOptions?: boolean; }; export type RequestDataType = { _id: string; asset?: string; request?: string; transaction?: string; assetImageSmall?: string; assetImageMedium?: string; assetImageBig?: string; status?: string; reportStatus?: string; isVerified?: boolean | string; serialNumber?: string; updatedAt?: string; children: RequestDataType[]; name: AssetBrandModelValue; brand: AssetBrandModelValue; model: AssetBrandModelValue; group: { _id: string; name: string; key: number; }; tagType?: string; assetTagType?: string; rfid: boolean | null; qr: boolean | null; user?: UserDataType; manager?: UserDataType; hasChildren?: boolean; isReportDone?: boolean; isManager?: boolean; isMonitoring?: boolean; isUnderRepair?: boolean; isUnderTracking?: boolean; repairId?: string; }; export type TransactionDetail = { manager?: { _id: string; fullName: string; key: number; }; group?: { _id: string; name: string; key: number; }; assignedTo?: { _id: string; fullName: string; key?: number; }; _id?: string; totalAssets?: number; transactionId?: string; status?: string; desc?: string; curApprovalLevel?: number; isVerified?: boolean; confirmationEmail?: string; confirmationEmailConfirmed?: boolean; confirmationEmailSentAt?: string; confirmationEmailExpiredAt?: string; updatedAt?: string; }; export type TransactionApproval = { _id: string; approvers: [ { user: { _id: string; fullName: string; key: number; }; approvedAt?: string; status: string; isNotInvolved: boolean; } ]; level: number; type: 'Or' | 'And'; transaction: string; isDone: boolean; }; export type AssetBrandModelValue = { _id: string; nameWithSequence?: string; sequence?: string; key: number; name?: string; aliasCode?: string; category?: { _id: string; name: string; key: number; }; tagType?: string; }; export type RequestParams = { name?: string[]; brand?: string[]; model?: string[]; mappedName?: string[]; mappedBrand?: string[]; mappedModel?: string[]; mappedGroup?: string[]; user?: string[]; group?: string[]; tag?: string[]; tagType?: string[]; assetTagType?: string[]; _id?: string[]; id?: string[]; status?: string[]; }; export type ParsedStaticFilter = { filter: RequestFilterParams; childrenFilter: RequestFilterParams; }; export type RequestFilterParams = { [key: string]: object; }; export type DetailFilterParams = Partial>; export type RequestOptionFilter = { brandOptions?: MultiSelectOption[]; modelOptions?: MultiSelectOption[]; nameOptions?: MultiSelectOption[]; tagOptions?: MultiSelectOption[]; statusOptions?: MultiSelectOption[]; }; export type RequestOptionBoolean = { brandOptions?: boolean; modelOptions?: boolean; nameOptions?: boolean; tagOptions?: boolean; statusOptions?: boolean; prelist?: string; _id?: string; id?: string; excludeId?: string; }; export type TransactionDataType = { _id: string; transactionId: string; isVerified?: boolean; isConfirmed?: boolean; isEmailSent?: boolean; isManager?: boolean; isMonitoring?: boolean; confirmationEmail?: string; totalAssets: number; status: 'Waiting for Approval' | 'Waiting for Handover' | 'Assigned' | 'Rejected' | 'Unassigned'; group: { _id: string; name: string; key: number; }; user: { _id: string; fullName: string; key: number; }; manager: { _id: string; fullName: string; key: number; }; updatedAt: Date; createdAt: Date; }; export type TransactionParams = { status?: string[]; manager?: number[]; user?: number[]; group?: number[]; requestDate?: number[]; lastUpdate?: number[]; }; export type TransactionFilterParams = Partial>; export type TransactionOptionFilter = { managerOptions?: MultiSelectOption[]; statusOptions?: MultiSelectOption[]; userOptions?: MultiSelectOption[]; }; export type TransactionOptionBoolean = { managerOptions?: boolean; statusOptions?: boolean; userOptions?: boolean; }; export type TimeLineLogs = { _id: string; type: string; transaction: string; transactionId: string; assetId: string; assetName: string; detail?: { [key: string]: string | object | number | null | undefined; }; action: string; userId: string; userFullName: string; group: string; createdAt: string; updatedAt: string; assignedTo: string; assetImageSmall: string; assetImageMedium: string; assetImageBig: string; }; export type TransactionLogRequest = { _id: string; transaction: string; transactionId: string; asset: string; manager: UserDataType; group: AssetBrandModelValue; assignedTo: UserDataType; assetName?: AssetBrandModelValue; assetBrand?: AssetBrandModelValue; assetModel?: AssetBrandModelValue; name?: AssetBrandModelValue; brand?: AssetBrandModelValue; model?: AssetBrandModelValue; status: string; assetTagType?: string; tagType?: string; assetQr: boolean; assetRfid: boolean; isVerified: boolean; isReportDone: boolean; createdAt: string; updatedAt: string; assetImageMedium: string; assetImageBig: string; assetImageSmall: string; firstImageMedium?: string; firstImageBig?: string; firstImageSmall?: string; assetId: string; }; export type HistoryParams = { name?: number[]; status?: string[]; group?: number[]; user?: number[]; manager?: number[]; lastUpdate?: number[]; }; export type HistoryFilterParams = Partial>; export type HistoryOptionFilter = { nameOptions?: MultiSelectOption[]; statusOptions?: MultiSelectOption[]; groupOptions?: MultiSelectOption[]; userOptions?: MultiSelectOption[]; managerOptions?: MultiSelectOption[]; }; export type HistoryOptionBoolean = { nameOptions?: boolean; statusOptions?: boolean; groupOptions?: boolean; userOptions?: boolean; managerOptions?: boolean; };