122 lines
4.5 KiB
TypeScript
122 lines
4.5 KiB
TypeScript
import { Result } from "sim-shared/domain/Result.js";
|
|
|
|
export type StatusEnum = 'error' | 'finished' | 'noRequestId' | 'running' | 'noMassID';
|
|
|
|
export interface IOperationsRepository {
|
|
createOperation(data: ObjeniousOperation): Promise<Result<string, ObjeniousOperation>>
|
|
updateOperation(data: ObjeniousOperationChange): Promise<Result<string, ObjeniousOperation>>
|
|
getPendingOperations(): Promise<Result<string, ObjeniousOperation[]>>
|
|
}
|
|
|
|
export type ObjeniousOperation = {
|
|
id?: number;
|
|
/** Uuid del mensaje asociado a la operacion */
|
|
correlation_id?: string;
|
|
operation: "activate" | "suspend" | "terminate" | string; // TODO: completar y actualizar
|
|
retry_count?: number;
|
|
max_retry?: number;
|
|
max_date_retry?: string | null;
|
|
iccids: string; // Deberia ser string[] pero no parseo la lista de iccids
|
|
request_id?: string;
|
|
mass_action_id?: string;
|
|
end_date?: string | null;
|
|
error?: string | null;
|
|
status: StatusEnum;
|
|
objenious_status?: string;
|
|
last_change_date?: string;
|
|
}
|
|
|
|
export type ObjeniousOperationChange = {
|
|
id?: number; operation_id: number;
|
|
info?: string | null;
|
|
error?: string | null;
|
|
new_status: StatusEnum;
|
|
previous_status?: StatusEnum;
|
|
new_objenious_status?: string;
|
|
previous_objenious_status?: string;
|
|
new_request_id?: string;
|
|
new_mass_action_id?: string;
|
|
}
|
|
|
|
export namespace Objenious {
|
|
export type Status = "En Cours" | "Terminé";
|
|
export type Identifier = "IMSI" | "MSISDN" | "REFERENCE" | "ICCID" | "IMEI"
|
|
export type ResponseGetRequestById = {
|
|
created: string,
|
|
status: "NEW" | "RUNNING" | "OK" | "KO" | "REPLAYED" | "CANCELLED" | "CLOSED" | "DISABLED",
|
|
statusDate: string,
|
|
actionType: ActionType
|
|
massActionIds: number[],
|
|
actionRequestReports:
|
|
{
|
|
requestId: string,
|
|
actionRequestReportDataDTOs: [
|
|
{
|
|
data: string,
|
|
newData: string | null,
|
|
iccid: string,
|
|
dataStatus: DataStatus
|
|
}
|
|
]
|
|
}[],
|
|
}
|
|
|
|
export type DataStatus = "DATA_INVALID_FORMAT" | "DATA_NOT_FOUND" | "DATA_NOT_ACTIVATED" | "SERVICE_DATA_NOT_ACTIVATED" |
|
|
"DATA_WRONG_STATUS" | "DATA_NOT_AUTHORIZED" | "DATA_CUSTOMER_ACCOUNT_NOT_AUTHORIZED" | "DATA_AMBIGUOUS" |
|
|
"NEW_DATA_INVALID_FORMAT" | "NEW_DATA_ALREADY_EXISTS" | "DUPLICATE_DATA" | "DATA_TERMINATION_VALIDATED" |
|
|
"DATA_TERMINATION_SECURISED" | "MAX_ALARM_INSTANCE" | "MAX_ALARM_INSTANCE_TO_CATCH_UP" |
|
|
"ACTIVATED_LINE_CANNOT_BE_TRANSFERED" | "ESIM_WRONG_STEP" | "ESIM_WRONG_PAIRED_VALUE" |
|
|
"ESIM_WRONG_DOWNLOAD_STATE" | "ESIM_WRONG_STATUS" | "ESIM_WRONG_FAMILY" | "ESIM_WRONG_CATEGORY" |
|
|
"ENTITY_STATUS_NOT_AUTHORIZED" | "LONG_LIFE_NOT_ALLOWED" | "RCARD_NOT_COMPATIBLE" | "APN_NOT_FOUND" |
|
|
"APN_OR_DNN_NOT_FOUND" | "APN_CONFIGURATION_NOT_FOUND" | "APN_CONFIGURATION_INVALID_PARAMETER_FILE" |
|
|
"IP_NOT_AVAILABLE" | "RADIUS_FIELD_LENGTH_NOT_ALLOWED" | "RADIUS_LOGIN_OR_PASSWORD_NOT_FOUND" | "RADIUS_PASSWORD_NOT_ALLOWED" |
|
|
"RADIUS_LOGIN_NOT_ALLOWED" | "NETWORK_NOT_ACTIVATED" | "CHANGE_CUSTOMER_ACCOUNT_NOT_AllOWED" | "CHANGE_OFFER_NOT_ALLOWED" |
|
|
"SIM_NOT_EUICC" | "OFFER_NOT_WSF_PALIER_FLOTTE_FR"
|
|
|
|
export type ActionType = "PREACTIVATION" | "PREACTIVATION_ACTIVATION" | "ACTIVATION" |
|
|
"STATUS_CHANGE" | "ICCID_CHANGE" | "EUICC_NOTIFICATION"
|
|
| "EUICC_AUDIT" | "MSISDN_CHANGE" | "ALARM_SETTING"
|
|
| "ALARM_UNSETTING" | "CUSTOM_FIELDS_UPDATE" | "SERVICE_CHANGE"
|
|
| "SEND_SMS" | "CHANGE_OFFER" | "PORT_IN"
|
|
| "PORT_OUT" | "CHANGE_CUSTOMER_ACCOUNT" | "SIMCARD_TRANSFER"
|
|
| "GEO_LOCATION" | "UPDATE_COMMITMENT" | "COACH_M2M"
|
|
| "PP_RECHARGE" | "TERMINATION_DFE" | "DO_ORDER_PAYMENT"
|
|
| "DO_TOP_UP" | "RADIUS_READ" | "RADIUS_UPDATE"
|
|
| "RADIUS_SYNCHRONIZE" | "NETWORK_RESET" | "UPDATE_YORK_COMMUNITY"
|
|
| "SUSPENSION" | "REACTIVATION" | "RESILIATION"
|
|
| "SORTIE_TEST" | "VALIDATION_RESILIATION" | "REFUS_RESILIATION";
|
|
|
|
export type ParametersGetMassAction = {
|
|
massActionId?: string,
|
|
unitActionId?: string,
|
|
createDateMin?: string,
|
|
createDateMax?: string,
|
|
dueDateMin?: string,
|
|
dueDateMax?: string,
|
|
endDateMin?: string,
|
|
endDateMax?: string,
|
|
"identifier.identifiers"?: string[],
|
|
"identifier.identifierType"?: Identifier,
|
|
actionTypes?: ActionType,
|
|
errorCodes?: string[],
|
|
pageNumber?: number,
|
|
pageSize?: number
|
|
}
|
|
|
|
export type ResponseGetMassAction = {
|
|
id: number,
|
|
loginCreator?: string,
|
|
longinCancellor?: string,
|
|
actionType: ActionType,
|
|
dueDate?: string,
|
|
targetActionNumber?: number,
|
|
created: string,
|
|
started?: string,
|
|
ended?: string,
|
|
status: string,
|
|
info?: string
|
|
}
|
|
}
|
|
|
|
|