login whit api
This commit is contained in:
+1
-1
@@ -8,6 +8,6 @@ async function bootstrap() {
|
|||||||
app.useGlobalPipes(new ValidationPipe());
|
app.useGlobalPipes(new ValidationPipe());
|
||||||
await app.listen(process.env.PORT ?? 3000);
|
await app.listen(process.env.PORT ?? 3000);
|
||||||
|
|
||||||
console.log(`successfully connected at the port ${process.env.PORT}`);
|
console.log(`successfully connected at the port ${process.env.PORT ?? 3000}`);
|
||||||
}
|
}
|
||||||
bootstrap();
|
bootstrap();
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ export class OperationsController {
|
|||||||
@Post('abonoKiosco')
|
@Post('abonoKiosco')
|
||||||
depositKiosco(@Body() abonoKiosco: abonoKioscoDto, @Req() req) {
|
depositKiosco(@Body() abonoKiosco: abonoKioscoDto, @Req() req) {
|
||||||
const idPersona = req.user.idPersona;
|
const idPersona = req.user.idPersona;
|
||||||
const token = req.headers.authorization?.split(' ')[1];
|
return this.operationsService.depositKiosco(abonoKiosco, idPersona);
|
||||||
return this.operationsService.depositKiosco(abonoKiosco, idPersona, token);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
import { Injectable } from '@nestjs/common';
|
import { Injectable, InternalServerErrorException } from '@nestjs/common';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import { AbonoTicketService } from 'src/abono-ticket/abono-ticket.service';
|
|
||||||
import { PagoKioscoService } from 'src/pago-kiosco/pago-kiosco.service';
|
import { PagoKioscoService } from 'src/pago-kiosco/pago-kiosco.service';
|
||||||
import { PagoPatronato } from 'src/pago-patronato/entities/pago-patronato.entity';
|
|
||||||
import { PagoPatronatoService } from 'src/pago-patronato/pago-patronato.service';
|
import { PagoPatronatoService } from 'src/pago-patronato/pago-patronato.service';
|
||||||
import { PersonaService } from 'src/persona/persona.service';
|
import { PersonaService } from 'src/persona/persona.service';
|
||||||
import { TransaccionService } from 'src/transaccion/transaccion.service';
|
import { TransaccionService } from 'src/transaccion/transaccion.service';
|
||||||
@@ -16,11 +14,39 @@ export class OperationsService {
|
|||||||
private readonly pagoPatronatoService: PagoPatronatoService,
|
private readonly pagoPatronatoService: PagoPatronatoService,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
async depositKiosco(
|
async login() {
|
||||||
{ cantidad, idKiosco, transaccion },
|
try {
|
||||||
idPersona: number,
|
const response = await axios.post(`${process.env.API_AT_URL}/user`, {
|
||||||
token: string,
|
usuario: process.env.USER,
|
||||||
) {
|
password: process.env.PASS,
|
||||||
|
});
|
||||||
|
|
||||||
|
return response.data.access_token;
|
||||||
|
} catch (error) {
|
||||||
|
throw new InternalServerErrorException(
|
||||||
|
'Error al autenticar con API externa',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async addCredit(token: string, data: any) {
|
||||||
|
try {
|
||||||
|
const response = await axios.post(
|
||||||
|
`${process.env.API_AT_URL}/operations/receipt`,
|
||||||
|
data,
|
||||||
|
{
|
||||||
|
headers: { Authorization: `Bearer ${token}` },
|
||||||
|
},
|
||||||
|
);
|
||||||
|
return response.data;
|
||||||
|
} catch (error) {
|
||||||
|
throw new InternalServerErrorException(
|
||||||
|
'Error al registrar crédito en API externa',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async depositKiosco({ cantidad, idKiosco, transaccion }, idPersona: number) {
|
||||||
const today = new Date().toString();
|
const today = new Date().toString();
|
||||||
|
|
||||||
const transaction = {
|
const transaction = {
|
||||||
@@ -48,24 +74,14 @@ export class OperationsService {
|
|||||||
(await pagoK).idPagoKiosco,
|
(await pagoK).idPagoKiosco,
|
||||||
);
|
);
|
||||||
|
|
||||||
const res = await axios.post(
|
const token = await this.login();
|
||||||
`${process.env.API_AT_URL}/operations/receipt`,
|
|
||||||
{
|
|
||||||
id_cuenta: idPersona,
|
|
||||||
monto: cantidad,
|
|
||||||
fecha_recibo: today,
|
|
||||||
folio_recibo: (await pagoP)?.folio,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
headers: {
|
|
||||||
Authorization: `Bearer ${token}`,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
if (res.status !== 200) {
|
await this.addCredit(token, {
|
||||||
throw new Error('Error al registrar crédito en API externa');
|
id_cuenta: idPersona,
|
||||||
}
|
monto: cantidad,
|
||||||
|
fecha_recibo: today,
|
||||||
|
folio_recibo: (await pagoP)?.folio,
|
||||||
|
});
|
||||||
|
|
||||||
return newSaldo;
|
return newSaldo;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user