diff --git a/docs/sim-api/Nos/Select.bru b/docs/sim-api/Nos/Select.bru index 5b1e92c..e9a2699 100644 --- a/docs/sim-api/Nos/Select.bru +++ b/docs/sim-api/Nos/Select.bru @@ -5,7 +5,7 @@ meta { } get { - url: + url: {{baseurl}}/portugal/select body: none auth: inherit } diff --git a/docs/sim-api/Select.bru b/docs/sim-api/Select.bru index 27796fa..fb4b492 100644 --- a/docs/sim-api/Select.bru +++ b/docs/sim-api/Select.bru @@ -5,13 +5,13 @@ meta { } get { - url: {{baseurl}}/sim/select?iccid=8935103196306448300 + url: {{baseurl}}/sim/select?iccid=8934909001500561503 body: none auth: inherit } params:query { - iccid: 8935103196306448300 + iccid: 8934909001500561503 } settings { diff --git a/packages/sim-consumidor-alai/aplication/AlaiTokenManager.ts b/packages/sim-consumidor-alai/aplication/AlaiTokenManager.ts index d622e98..ebb1cc9 100644 --- a/packages/sim-consumidor-alai/aplication/AlaiTokenManager.ts +++ b/packages/sim-consumidor-alai/aplication/AlaiTokenManager.ts @@ -1,7 +1,7 @@ import { AlaiRepository } from "#infrastructure/AlaiRepository.js"; import { JWTToken } from "sim-shared/domain/JWT.js"; import { JWTProvider } from "sim-shared/infrastructure/HTTPClient.js"; - +import { httpsAgent } from "#config/httpsAgent.js"; export class AlaiTokenManager implements JWTProvider<{}> { @@ -11,7 +11,7 @@ export class AlaiTokenManager implements JWTProvider<{}> { private async getNewAuthToken() { // TODO: Si no funcionase hay que reprogramar los mensajes para ser // consumidos mas tarde. - const res = await AlaiRepository.login(); + const res = await AlaiRepository.login(httpsAgent); if (res.error != undefined) { console.error("Error obteniendo el token de ALAI", res.error) diff --git a/packages/sim-consumidor-alai/config/httpClient.config.ts b/packages/sim-consumidor-alai/config/httpClient.config.ts index d0402a1..e0182b1 100644 --- a/packages/sim-consumidor-alai/config/httpClient.config.ts +++ b/packages/sim-consumidor-alai/config/httpClient.config.ts @@ -5,13 +5,13 @@ import { httpsAgent } from "./httpsAgent.js" import { DebugTokenManager } from "#aplication/DebugTokenManager.js"; const tokenManager = new AlaiTokenManager() -const debugTokenManagr = new DebugTokenManager() -console.error("USANDO DebugTokenManager! Eliminar en prod") +//const debugTokenManagr = new DebugTokenManager() +//console.error("USANDO DebugTokenManager! Eliminar en prod") export const alaiHttp = new HttpClient({ baseURL: env.ALAI_API_URL as string, headers: {}, - jwtManager: debugTokenManagr, + jwtManager: tokenManager, httpsAgent: httpsAgent }) diff --git a/packages/sim-consumidor-alai/infrastructure/AlaiRepository.ts b/packages/sim-consumidor-alai/infrastructure/AlaiRepository.ts index 892d0bf..932412f 100644 --- a/packages/sim-consumidor-alai/infrastructure/AlaiRepository.ts +++ b/packages/sim-consumidor-alai/infrastructure/AlaiRepository.ts @@ -3,6 +3,7 @@ import axios, { AxiosError, AxiosResponse } from "axios"; import { Result } from "sim-shared/domain/Result.js"; import { env } from "#config/env/env.js"; import { HttpClient } from "sim-shared/infrastructure/HTTPClient.js"; +import https from "https" export class AlaiRepository { constructor( @@ -30,7 +31,7 @@ export class AlaiRepository { } } - public static async login(): Promise> { + public static async login(httpsAgent: https.Agent): Promise> { const alaiUrl = env.ALAI_API_URL const endpoint = "/v1/auth/login" const fullUrl = alaiUrl + endpoint @@ -41,7 +42,7 @@ export class AlaiRepository { } try { - const loginRes = await axios.post(fullUrl, data) + const loginRes = await axios.post(fullUrl, data, { httpsAgent }) return { data: loginRes.data } diff --git a/packages/sim-consumidor-nos/aplication/SimNOS.controller.ts b/packages/sim-consumidor-nos/aplication/SimNOS.controller.ts index 18dc8b8..9eebb4f 100644 --- a/packages/sim-consumidor-nos/aplication/SimNOS.controller.ts +++ b/packages/sim-consumidor-nos/aplication/SimNOS.controller.ts @@ -127,7 +127,7 @@ export class SimNosController { const validateBody = iccidValidator.validate(body); if (validateBody.error != undefined) { - res.status(402).json(validateBody) + res.status(422).json(validateBody) return; } diff --git a/packages/sim-entrada-eventos/aplication/Sim.controller.ts b/packages/sim-entrada-eventos/aplication/Sim.controller.ts index 285dfae..39a2e58 100644 --- a/packages/sim-entrada-eventos/aplication/Sim.controller.ts +++ b/packages/sim-entrada-eventos/aplication/Sim.controller.ts @@ -219,15 +219,16 @@ export class SimController { */ public select() { return async (req: Request, res: Response) => { + console.log("SELECT: ", req.query) const iccid = req.query.iccid as string - try { - iccidValidator.validate({ iccid: iccid }) - } catch (e) { + const validationRes = iccidValidator.validate({ iccid: iccid }) + if (validationRes.error != undefined) { res.status(422).json({ errors: { - msg: e + ...validationRes.error } }) + return; } const company = companyFromIccid(iccid) @@ -239,9 +240,9 @@ export class SimController { } try { - const respSelect = await axios.get(url + endpoint) + const respSelect = await axios.get(url + endpoint, { params: req.query }) res.json(respSelect.data) - // TODO: 200 + } catch (err) { if (isAxiosError(err)) { const axiosErr = err as AxiosError diff --git a/packages/sim-entrada-eventos/index.ts b/packages/sim-entrada-eventos/index.ts index cd2e6c7..7a48307 100644 --- a/packages/sim-entrada-eventos/index.ts +++ b/packages/sim-entrada-eventos/index.ts @@ -39,6 +39,8 @@ app.use("/france", franceRoutes) // Rutas especificas de España (Alai) app.use("/spain", spainRoutes) +//TODO: app.use("/portugal", portugalRoutes) + app.get("/health", (req, res) => { res.status(200).json({ status: "ok" }) }) diff --git a/packages/sim-shared/domain/CommonSim.ts b/packages/sim-shared/domain/CommonSim.ts new file mode 100644 index 0000000..e233fde --- /dev/null +++ b/packages/sim-shared/domain/CommonSim.ts @@ -0,0 +1,14 @@ +export type CommonSim = { + company: "NOS" | "OBJ" | "ALAI", + iccid: string, + msisdn: string, + tariff: string, // Depende de la compañia + billing_state: "AVAILABLE" | "PREACTIVATED" | "ACTIVATED" | "SUSPENDED" | "TERMINATED" | "UNKNOWN", + network_state: "AVAILABLE" | "PREACTIVATED" | "ACTIVATED" | "SUSPENDED" | "TERMINATED" | "UNKNOWN", + preactivation_date?: Date | null, + activation_date?: Date | null, + suspension_date?: Date | null, + termination_date?: Date | null, + imei: string, + raw: any +} diff --git a/packages/sim-shared/domain/SimCard.ts b/packages/sim-shared/domain/SimCard.ts deleted file mode 100644 index 08f86f6..0000000 --- a/packages/sim-shared/domain/SimCard.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { User } from "./User.js" - -export type SimCard = { - iccid: string, - imei: string, - - /* Pedido de shopify */ - orderdId?: string, // Pasar a tipo - - /* Subscripcion de shopify */ - subscriptionId?: string, // Pasar a tipo - - user?: User - - createdAt?: Date, - updatedAt?: Date, - - codigoOrigen?: string, -} - diff --git a/packages/sim-shared/domain/SimEvents.ts b/packages/sim-shared/domain/SimEvents.ts index e59a15e..9911f04 100644 --- a/packages/sim-shared/domain/SimEvents.ts +++ b/packages/sim-shared/domain/SimEvents.ts @@ -12,7 +12,8 @@ export namespace SimEvents { key: `sim.${string}.activate`, payload: { iccid: string, - offer?: string + offer?: string, + orderId?: string }, } diff --git a/packages/sim-shared/domain/SimOrder.ts b/packages/sim-shared/domain/SimOrder.ts deleted file mode 100644 index e69de29..0000000 diff --git a/packages/sim-shared/domain/User.ts b/packages/sim-shared/domain/User.ts deleted file mode 100644 index b3199ef..0000000 --- a/packages/sim-shared/domain/User.ts +++ /dev/null @@ -1,6 +0,0 @@ -export type User = { - userId: string, - userName?: string, - email?: string, - tlfn?: string, -}