Base de JWT de Objenious

This commit is contained in:
2026-01-26 15:04:17 +01:00
parent d445faab99
commit 1d8af66564
11 changed files with 283 additions and 11 deletions

View File

@@ -1,6 +1,16 @@
import { Request, Response } from "express"
import { SimUsecases } from "aplication/Sim.usecases"
// Partiendo del caracter 3 2 de pais + 2 de compañia
// Metiendolo a la BDD podria ser mas dinamico pero perderia
// tiempo de query
// Puede que esté bien crear un endpoint para administrarlo
const COMPAÑIASICCID = new Map<string, string>(
[
["3490", "alai"],
["3510", "nos"]
])
export class SimController {
private simUseCases: SimUsecases
@@ -18,7 +28,7 @@ export class SimController {
if (valido == false) return; // Si no es valido ya se ha enviado el error
const { iccid } = req.body
const compañia = "nos" // esto deberia ser un servcio
const compañia = this.compañiaFromIccid(iccid)
try {
await this.simUseCases.activation({ iccid, compañia })
@@ -159,4 +169,16 @@ export class SimController {
return valid;
}
/**
* A partir del iccid completo devuelve la compañia a la que pertenece
* @throws Error si no hay una compañia definida en COMPAÑIASICCID con el codigo
*/
private compañiaFromIccid(iccid: string) {
const caracteresCommpañia = iccid.slice(2, 6)
const compañia = COMPAÑIASICCID.get(caracteresCommpañia)
if (compañia == undefined) throw new Error("El la compañia es desconocida: " + caracteresCommpañia)
return compañia
}
}

View File

@@ -36,13 +36,12 @@ export class SimUsecases {
async activation(args: { iccid: string, compañia: string }) {
const activationEvent = <SimEvents.general>{
key: "sim.nos.activate",
key: `sim.${args.compañia}.activate`,
payload: {
iccid: args.iccid
}
}
console.log("publicando", activationEvent)
return this.eventBus.publish([activationEvent])
}