import { FetchDetailResponse, FetchListResponse, QueryParams } from '../types/fetchResponse.type'; export interface HandheldReaderQueryParams extends QueryParams { search?: string; page?: number; limit?: number; sortOrder?: number; sortBy?: string; deviceName?: string; type?: string; readerGroup?: string; excludeId?: string; status?: string; reportedBy?: string; reportedAt?: string; sku?: string; } export interface HandheldReaderList { _id: string; deviceName: string; nameWithSequence: string; image: string; aliasName: string; type: string; sku: string; status: string; readerGroup: { _id: string; name: string; key: number; }; reportedBy: { _id: string; fullName: string; key: number; }; reportedAt: string; permission: { create: boolean; view: boolean; delete: boolean; update: boolean; }; } export type HandheldListReaderResponse = FetchListResponse; export interface HandheldReaderListOptionsParams { deviceNameOptions?: boolean; typeOptions?: boolean; reportedByOptions?: boolean; skuOptions?: boolean; status?: string; } export type OptionsFilter = { label: string; value: string; }; export interface HandheldReaderListOptions { deviceNameOptions: OptionsFilter[]; skuOptions: OptionsFilter[]; typeOptions: OptionsFilter[]; reportedByOptions: OptionsFilter[]; } export type HandheldReaderListOptionsResponse = FetchDetailResponse; export interface ActivityLogQueryParams extends QueryParams { search?: string; page?: number; limit?: number; sortOrder?: number; sortBy?: string; createdAt?: string; deviceName?: string; group?: string; activity?: string; stock?: string; pic?: string; handheldId?: string; readerSKU?: string; supplier?: string; requester?: string; originGroup?: string; destinationGroup?: string; condition?: string; modifiedBy?: string; } export interface ActivityLog { _id: string; device: { _id: string; name: string; nameWithSequence: string; image: string; aliasName: string; type: string; sku: string; }; group: { _id: string; name: string; key: number; }; activity: string; transactionId: string; item: { _id: string; name: string; sku: string; key: number; }; stock: { _id: string; name: string; key: string; }; pic: { _id: string; fullName: string; key: number; }; supplier: { _id: string; name: string; key: number; }; requester: { _id: string; name: string; key: number; }; originGroup: { _id: string; name: string; key: number; }; destinationGroup: { _id: string; name: string; key: number; }; modifiedBy: { _id: string; fullName: string; key: number; }; condition: string; createdAt: string; } export type ActivityLogResponse = FetchListResponse; export interface ActivityLogOptions { deviceNameOptions: OptionsFilter[]; readerSKUOptions: OptionsFilter[]; groupOptions: OptionsFilter[]; activityOptions: OptionsFilter[]; stockOptions: OptionsFilter[]; picOptions: OptionsFilter[]; supplierOptions: OptionsFilter[]; requesterOptions: OptionsFilter[]; originGroupOptions: OptionsFilter[]; destinationGroupOptions: OptionsFilter[]; conditionOptions: OptionsFilter[]; modifiedByOptions: OptionsFilter[]; } export type ActivityLogOptionsResponse = FetchDetailResponse; export interface ActivityLogOptionsParams { deviceNameOptions?: boolean; groupOptions?: boolean; activityOptions?: boolean; stockOptions?: boolean; activity?: boolean; handheldId?: string; picOptions?: boolean; readerSKUOptions?: boolean; supplierOptions?: boolean; requesterOptions?: boolean; originGroupOptions?: boolean; destinationGroupOptions?: boolean; conditionOptions?: boolean; modifiedByOptions?: boolean; } export interface HandheldDetail { _id: string; name: string; nameWithSequence: string; aliasName: string; image: string; group: { _id: string; name: string; key: number; }; sku: string; status: string; } export type HandheldDetailResponse = FetchDetailResponse; export interface IotReaderQueryParams extends QueryParams { search?: string; page?: number; limit?: number; sortOrder?: number; sortBy?: string; status?: string; _id?: string; excludeId?: string; deviceName?: string; networkStatus?: string; brand?: string; model?: string; type?: string; readerGroup?: string; antennaGroup?: string; reportedBy?: string; reportedAt?: string; sku?: string; } export interface IotReaderList { _id: string; name: string; image: string; nameWithSequence: string; aliasName: string; sku: string; status: string; activePortLabel: string; networkStatus: string; brand: { _id: string; name: string; key: number; }; model: { _id: string; name: string; key: number; }; type: string; readerGroup: { _id: string; name: string; key: number; }; antennaGroup: [ { _id: string; name: string; key: number; } ]; reportedBy: { _id: string; fullName: string; key: number; }; reportedAt: string; permissions: { create: boolean; view: boolean; delete: boolean; update: boolean; }; } export type IotReaderListResponse = FetchListResponse; export interface IotReaderListOptionsParams { deviceNameOptions?: boolean; brandOptions?: boolean; modelOptions?: boolean; typeOptions?: boolean; reportedByOptions?: boolean; skuOptions?: boolean; status?: string; } export interface IotReaderListOptions { deviceNameOptions: OptionsFilter[]; skuOptions: OptionsFilter[]; brandOptions: OptionsFilter[]; modelOptions: OptionsFilter[]; typeOptions: OptionsFilter[]; reportedByOptions: OptionsFilter[]; } export type IotReaderListOptionsResponse = FetchDetailResponse; export interface IotAntennaQueryParams extends QueryParams { search?: string; page?: number; limit?: number; sortOrder?: number; sortBy?: string; status?: string; antenna?: string; sku?: string; brand?: string; model?: string; reportedBy?: string; reportedAt?: string; } export interface IotAntennaList { _id: string; name: string; nameWithSequence: string; image: string; sku: string; brand: { _id: string; name: string; key: number; }; model: { _id: string; name: string; key: number; }; status: string; reportedBy: { _id: string; fullName: string; key: number; }; reportedAt: string; permissions: { create: boolean; view: boolean; delete: boolean; update: boolean; }; } export type IotAntennaListResponse = FetchListResponse; export interface IotAntennaListOptionsParams { antennaOptions?: boolean; skuOptions?: boolean; brandOptions?: boolean; modelOptions?: boolean; reportedByOptions?: boolean; status?: string; } export interface IotAntennaListOptions { antennaOptions: OptionsFilter[]; skuOptions: OptionsFilter[]; brandOptions: OptionsFilter[]; modelOptions: OptionsFilter[]; reportedByOptions: OptionsFilter[]; } export type IotAntennaListOptionsResponse = FetchDetailResponse; export interface ActivityLogIotReaderParams extends QueryParams { search?: string; page?: number; limit?: number; sortOrder?: number; sortBy?: string; createdAt?: string; deviceName?: string; readerSKU?: string; group?: string; activity?: string; stock?: string; pic?: string; readerId?: string; port?: string; antennaGroup?: string; } export interface ActivityLogIotReader { _id: string; device: { _id: string; name: string; nameWithSequence: string; image: string; sku: string; }; group: { _id: string; name: string; key: number; }; activity: string; transactionId: string; stock: { _id: string; name: string; key: string; }; item: { _id: string; name: string; sku: string; key: number; }; pic: { _id: string; fullName: string; key: number; }; modifiedBy: { _id: string; fullName: string; key: number; }; createdAt: string; } export type ActivityLogIotReaderResponse = FetchListResponse; export interface ActivityLogOptionsIotReaderParams { deviceNameOptions?: boolean; readerSKUOptions?: boolean; groupOptions?: boolean; activityOptions?: boolean; stockOptions?: boolean; picOptions?: boolean; antennaGroupOptions?: boolean; modifiedByOptions?: boolean; portOptions?: boolean; readerId?: string; } export interface ActivityLogOptionsIotReader { deviceNameOptions: OptionsFilter[]; readerSKUOptions: OptionsFilter[]; groupOptions: OptionsFilter[]; activityOptions: OptionsFilter[]; stockOptions: OptionsFilter[]; picOptions: OptionsFilter[]; antennaGroupOptions: OptionsFilter[]; portOptions: OptionsFilter[]; modifiedByOptions: OptionsFilter[]; } export type ActivityLogOptionsIotReaderResponse = FetchDetailResponse; export interface IotReaderConnectedAntennaListParams extends QueryParams { search?: string; page?: number; limit?: number; sortOrder?: number; sortBy?: string; activeStatus?: string; group?: string; } export interface IotReaderConnectedAntennaList { _id: string; isActive: boolean; port: string; group: { _id: string; name: string; key: number; }; antennaPower: string; } export type IotReaderConnectedAntennaListResponse = FetchListResponse; export interface ParameterPingIOT { ids: string; } export interface BodyPatchReader { readerId: string[]; } export interface BodyPatchAntenna { antennaId: string[]; } export interface IOTReaderDetail { _id: string; name: string; nameWithSequence: string; aliasName: string; image: string; group: { _id: string; name: string; key: number; }; brand: { _id: string; name: string; key: number; }; model: { _id: string; name: string; key: number; }; status: string; } export type IOTReaderDetailResponse = FetchDetailResponse;