import { CommonSim } from "sim-shared/domain/CommonSim.js"; import { ObjeniousLine } from "sim-shared/domain/objeniousLine.js"; type ObjeniousBillingStates = ObjeniousLine["status"]["billingStatus"] type ObjeniousNetworkStates = ObjeniousLine["status"]["networkStatus"] //"PREACTIVATED" | "ACTIVE" | "SUSPENDED" | "TERMINATED" | "UNKNOWN", const objeiousStates = new Map["billing_status"]>([ ["ACTIVATED", "ACTIVE"], ["CANCELED", "TERMINATED"], ["SUSPENDED", "SUSPENDED"], ["TEST", "PREACTIVATED"] ]) const objeiousNetworkStates = new Map["network_status"]>([ ["ACTIVATED", "ACTIVE"], ["CANCELED", "TERMINATED"], ["SUSPENDED", "SUSPENDED"], ["BARRED", "SUSPENDED"] ]) export function objeniousSimToCommon(objSim: ObjeniousLine): CommonSim { const status = objeiousStates.get(objSim.status.billingStatus) ?? "UNKNOWN" const networkStatus = objeiousNetworkStates.get(objSim.status.networkStatus) ?? "UNKNOWN" const preDate = objSim.status.preactivationDate const actDate = objSim.status.activationDate const preactivate = (preDate) ? new Date(preDate) : null const activate = (actDate) ? new Date(actDate) : null const common: CommonSim = { company: "OBJ", tariff: objSim.offer.code, iccid: objSim.identifier.iccid, msisdn: objSim.identifier.msisdn, billing_status: status, network_status: networkStatus, raw: objSim, imei: objSim.identifier.imei, preactivation_date: preactivate, activation_date: activate } return common }