Files
sf-sim/packages/sim-consumidor-nos/domain/transformers.ts
2026-05-08 12:06:24 +02:00

40 lines
1.2 KiB
TypeScript

import { CommonSim } from "sim-shared/domain/CommonSim.js";
import { NosApi } from "./NosAPI.js";
const billingStates = new Map<
NosApi.LineData["billingState"]["currentState"],
CommonSim<any>["billing_status"]>([
["active", "ACTIVE"],
["terminated", "TERMINATED"]
])
const networkStates = new Map<
NosApi.LineData["networkState"]["currentState"],
CommonSim<any>["network_status"]
>([
["active", "ACTIVE"],
["terminated", "TERMINATED"],
["barred", "SUSPENDED"]
])
export function nosSimToCommonSim(nosSim: NosApi.LineData): CommonSim<NosApi.LineData> {
const billingState = billingStates.get(nosSim.billingState.currentState) ?? "UNKNOWN"
const networkState = networkStates.get(nosSim.networkState.currentState) ?? "UNKNOWN"
const commonSim: CommonSim<NosApi.LineData> = {
company: "NOS",
tariff: nosSim.tariffName,
iccid: nosSim.physicalId,
msisdn: nosSim.subscriberId,
billing_status: billingState!,
network_status: networkState!,
raw: nosSim,
imei: nosSim.imei,
activation_date: new Date(nosSim.connectionDate),
termination_date: new Date(nosSim.terminateDate),
suspension_date: null // NOS no especifica la fecha de de 'barred' que equivale a la suspension
}
return commonSim
}