import { QueryParams } from '../types/fetchResponse.type'; import { GroupDetail } from '../types/groupService.type'; import { Booleanish } from '../types/tsHelper.type'; interface ItemsToPlaceBody { itemSKU: string; capacity: number | null; } export interface PostCreateGroupBody extends Omit { name: string; parent?: string; image?: File; tagCode?: { rfid?: string; qr?: string; nfc?: string; }; items?: ItemsToPlaceBody[]; } export interface PutEditGroupBody extends Omit { image?: string | File; } export interface GetGroupDetailAndSubsByIdQueryParams extends QueryParams { isAdministrativeGroup?: Booleanish; isDisposalGroup?: Booleanish; tagType?: string; withoutData?: Booleanish; tag?: string; groupType?: 'parent' | 'storage'[]; } export interface PutSetItemToPlaceBody { items?: ItemsToPlaceBody[]; } export interface PatchGroupActivationStatusBody { groupIds: string[]; type: 'Administrative Group' | 'Disposal Group'; isActive: boolean; } export interface PutMoveGroupBody { destinationGroupId: string; includeSubgroup?: boolean; } export interface GetGroupedStockQueryParams extends QueryParams { tag?: string; itemName?: string; brand?: string; model?: string; tagType?: string; } export type GetGroupedPlacedStockQueryParams = GetGroupedStockQueryParams; export interface GetGroupedUnplacedStockQueryParams extends GetGroupedStockQueryParams { supplier?: string; batchNumber?: string; productionDate?: number; expiredDate?: number; } export interface GetGroupedStockOptionsQueryParams extends QueryParams { itemNameOptions: boolean; brandOptions: boolean; modelOptions: boolean; tagTypeOptions: boolean; } export type GetGroupedPlacedStockOptionsQueryParams = GetGroupedStockOptionsQueryParams; export interface GetGroupedUnplacedStockOptionsQueryParams extends GetGroupedPlacedStockOptionsQueryParams { supplierOptions: boolean; batchNumberOptions: boolean; } export interface GetGroupListByIdQueryParams extends GetGroupDetailAndSubsByIdQueryParams { search?: string; page?: string; limit?: string; sortOrder?: number; sortBy?: string; } export interface BodyRemoveItemGroupDetail { itemSKUIds: string[]; } export interface PutItemInGroupDetailBody { itemSKUIds: string[]; } export {};