import { Connection } from 'typeorm'; import { BaseRepository } from '@leal.api/api_utils'; import { ResponseModel, UsuarioRegalos } from '@leal.api/api_models'; import { IUsuarioRegalosRepository } from '../interfaces'; import { UsuarioRegalosViewModel } from "../models"; export class UsuarioRegalosRepository extends BaseRepository implements IUsuarioRegalosRepository { constructor(connection: Connection) { super(connection, UsuarioRegalos); } //Traer los registros de los premios por comercios async consulta_usuario_regalos(uid: string, idComercio: number, limit: number): Promise> { try { //Consultar regalos comercios const result = (await this.repo.query( `SELECT a.aceptado, a.id_regalo, "regalo" as tipo, CONCAT(d.fullname, " ", c.premio, " en ", b.nombre) as descripcion FROM usu_regalos a INNER JOIN com_comercios b ON b.id_comercio = a.id_comercio INNER JOIN com_premios c ON c.id_premio = a.id_premio INNER JOIN usu_usuarios d ON d.uid = a.uid_origen WHERE a.uid_destino = ? AND a.canjeado = 'no' AND a.id_comercio = ? LIMIT ?`, [uid, idComercio, limit] )) as UsuarioRegalosViewModel[]; if (result.length > 0) { return new ResponseModel(100, result); } else { return new ResponseModel(104, undefined, "No se encontraron resultados de premios"); } } catch (error) { return new ResponseModel(105, undefined, error); } } }