import { BaseRepository } from "@leal.api/api_utils"; import { Ciudad, ResponseModel } from "@leal.api/api_models"; import { Connection } from "typeorm"; import { ICiudadRepository } from "../interfaces"; export class CiudadRepository extends BaseRepository implements ICiudadRepository { constructor(connection: Connection) { super(connection, Ciudad); } async ciudades(name: string = "", cod_pais: string = ""): Promise> { try { const data = await this.repo .createQueryBuilder("ciudades") .where("IF(:cod_pais <> '', cod_pais = :cod_pais, 1)", { cod_pais: cod_pais }) .andWhere("IF(:name <> '', ciudad LIKE CONCAT('%', :name, '%'), 1)", { name: name }) .getMany(); return new ResponseModel(200, data, "Todas las ciudades"); } catch (error) { return new ResponseModel(105, [], "Todas las ciudades"); } } }