@telstra/iot-connectivity-manager
Version:
Telstra IoT Connectivity Manager
136 lines (125 loc) • 3.79 kB
text/typescript
export interface PaginationParams {
pageNumber?: number;
pageSize?: number;
orderBy?: string;
orderDirection?: 'ASC' | 'DESC';
}
export type FilterValue = string | number | boolean | Date | (string | number | boolean | Date)[];
export interface FilterObject {
eq?: FilterValue;
eqOrNull?: FilterValue;
gt?: FilterValue;
gte?: FilterValue;
jq?: FilterValue;
lt?: FilterValue;
lte?: FilterValue;
match?: string;
range?: [FilterValue, FilterValue];
isNull?: boolean;
in?: FilterValue;
neq?: FilterValue;
}
export type QueryFilter = string | string[] | FilterObject;
export interface ServiceQueryParams extends PaginationParams {
accountNumber?: string | string[];
imsi?: QueryFilter;
iccid?: QueryFilter;
msisdn?: QueryFilter;
serialNumber?: QueryFilter;
serviceStatus?: QueryFilter;
lastConnected?: QueryFilter;
createdAt?: QueryFilter;
updatedAt?: QueryFilter;
imei?: QueryFilter;
imeiSv?: QueryFilter;
lastBillDate?: QueryFilter;
nextBillDate?: QueryFilter;
totalDataAllocation?: QueryFilter;
basePlanCode?: QueryFilter;
basePlanDescription?: QueryFilter;
basePlanAllocation?: QueryFilter;
basePlanCost?: QueryFilter;
bonusPlanCode?: QueryFilter;
bonusPlanDescription?: QueryFilter;
bonusPlanAllocation?: QueryFilter;
bonusPlanCost?: QueryFilter;
totalData?: QueryFilter;
uploadData?: QueryFilter;
downloadData?: QueryFilter;
dataCallCount?: QueryFilter;
incomingVoiceCallCount?: QueryFilter;
incomingVoiceCallDuration?: QueryFilter;
outgoingVoiceCallCount?: QueryFilter;
outgoingVoiceCallDuration?: QueryFilter;
incomingSmsCount?: QueryFilter;
outgoingSmsCount?: QueryFilter;
cellName?: QueryFilter;
cellLatitude?: QueryFilter;
cellLongitude?: QueryFilter;
groupId?: QueryFilter;
groupName?: QueryFilter;
inSession?: QueryFilter;
ipAddress?: QueryFilter;
blockStatus?: QueryFilter;
planType?: QueryFilter;
sourceSystem?: QueryFilter;
}
export type ServiceStatus = 'AC' | 'TS' | 'TD' | 'DE';
export type PlanType = 'STANDARD' | 'SHARED';
export type BlockStatus = 'BLOCKED' | 'PENDING_BLOCK' | 'PENDING_UNBLOCK' | 'UNBLOCKED';
export type SourceSystem = 'MICA' | 'B2B';
export interface ServiceSim {
imsi: string;
accountNumber: string;
iccid: string;
msisdn: string;
serialNumber: string;
serviceStatus: ServiceStatus;
lastConnected: string; // ISO date-time
createdAt: string; // ISO date-time
updatedAt: string; // ISO date-time
deletedAt: string | null; // ISO date-time or null
imei: string | null;
lastBillDate: string; // ISO date-time
nextBillDate: string; // ISO date-time
totalDataAllocation: string;
basePlanCode: string | null;
basePlanDescription: string | null;
basePlanAllocation: string | null;
basePlanCost: number | null;
bonusPlanCode: string | null;
bonusPlanDescription: string | null;
bonusPlanAllocation: string | null;
bonusPlanCost: number | null;
planType: PlanType;
totalData: string;
uploadData: string;
downloadData: string;
dataCallCount: number;
incomingVoiceCallCount: number;
incomingVoiceCallDuration: string;
outgoingVoiceCallCount: number;
outgoingVoiceCallDuration: string;
incomingSmsCount: number;
outgoingSmsCount: number;
cellName: string | null;
cellLatitude: string;
cellLongitude: string;
blockStatus: BlockStatus;
sourceSystem: SourceSystem;
}
export interface TGetAllServices {
pageNumber?: number;
pageSize?: number;
orderBy?: string;
orderDirection?: 'ASC' | 'DESC';
accountNumber?: string;
// Add other filters as needed
[key: string]: any;
}
export interface TGetAllServicesResponse {
sims: ServiceSim[];
count: number;
}
export type TGetServiceResponse = ServiceSim;
export type TGetAllServicesRequest = ServiceQueryParams;