Misma info de sim para el /select

This commit is contained in:
2026-05-08 14:49:43 +02:00
parent 410f659db0
commit 63698ee1aa
8 changed files with 174 additions and 7 deletions

View File

@@ -7,6 +7,8 @@ import { ActionData } from "#domain/DTOs/objeniousapi.js";
import { Request, Response } from "express"
import { PaginationArgs, QueryPaginationArgs } from "sim-shared/domain/PaginationArgs.js";
import { paginationValidator } from "./httpValidators.js";
import { error } from "node:console";
import { objeniousSimToCommon } from "#domain/transformers.js";
/**
* La clase usa generadores de funciones para mantener el contexto
@@ -236,7 +238,7 @@ export class SimController {
const validationRes = paginationValidator.validate(paginationArgs)
if (validationRes.error != undefined) {
res.status(402).json(validationRes)
res.status(422).json(validationRes)
return;
}
@@ -252,6 +254,28 @@ export class SimController {
}
}
/**
* Una única linea para /select
*/
public queryLine() {
return async (req: Request, res: Response) => {
const queryParams = req.query
const queryArgs = {
iccid: queryParams.iccid as string // La validacion de iccid se ha tenido que hacer en el gateway
}
const line = await this.useCases.getLineByIccid(queryArgs.iccid)
if (line.error != undefined) {
res.status(line.error.code).json(line)
return;
}
const commonLine = objeniousSimToCommon(line.data)
res.status(200).json({ data: commonLine })
}
}
/**
* TODO:
* - Loguear motivos de la no validacion