import { Connection } from 'typeorm'; import moment from 'moment'; import { BaseRepository } from '@leal.api/api_utils'; import { UsuarioTarjeta, ResponseModel } from '@leal.api/api_models'; import { IUsuarioTarjetaRepository } from '../interfaces'; import { UsuarioTarjetaViewModel } from "../models"; export class UsuarioTarjetaRepository extends BaseRepository implements IUsuarioTarjetaRepository { constructor(connection: Connection) { super(connection, UsuarioTarjeta); } //Validacion de cedula del usuario async insertar_usuario_tarjeta(id: string): Promise> { try { var str = '' + moment().dayOfYear(); while (str.length < 3) { //Validamos qu el dia del año tenga 3 digitos str = '0' + str; // Si no tiene 3 digitos le completara con cero } //Retorna el codigo de la tarjeta let idtarjeta: string = 'AL-' + moment().format("YY") + str + moment().format('hmmss') + moment().valueOf().toString().substring(-4, 3) + Math.random().toString(31).substring(2, 3) + Math.random().toString(31).substring(2, 3); //Asignacion de tarjeta usuario await this.repo.createQueryBuilder() .insert() .into(UsuarioTarjeta) .values([{ id: id, tarjeta: idtarjeta, plataforma: 'app', fechaAlta: new Date(), estado: "activa" }]) .execute(); return new ResponseModel(100, undefined, idtarjeta); } catch (error) { return new ResponseModel(105, undefined, error); } } }