added error

This commit is contained in:
2025-10-29 17:16:27 -06:00
parent 3a3e145642
commit dbd3657acb
6 changed files with 52 additions and 3 deletions
@@ -1,6 +1,7 @@
import { Controller, Get, Post, Body, Param } from '@nestjs/common';
import { AlumnoInscritoService } from './alumno_inscrito.service';
import { AlumnoInscrito } from 'src/database/AT/entities/alumno_inscrito.entity';
import { CreateAlumnoInscritoDto } from './dto/create-alumno_inscrito.dto';
@Controller('alumno-inscrito')
export class AlumnoInscritoController {
@@ -3,10 +3,12 @@ import { AlumnoInscritoService } from './alumno_inscrito.service';
import { AlumnoInscritoController } from './alumno_inscrito.controller';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AlumnoInscrito } from 'src/database/AT/entities/alumno_inscrito.entity';
import { Periodo } from 'src/database/AT/entities/periodo.entity';
@Module({
imports: [TypeOrmModule.forFeature([AlumnoInscrito], 'dbAT')],
imports: [TypeOrmModule.forFeature([AlumnoInscrito, Periodo], 'dbAT')],
controllers: [AlumnoInscritoController],
providers: [AlumnoInscritoService],
exports: [AlumnoInscritoService],
})
export class AlumnoInscritoModule {}
@@ -1,13 +1,17 @@
import { Injectable } from '@nestjs/common';
import { BadRequestException, Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { AlumnoInscrito } from 'src/database/AT/entities/alumno_inscrito.entity';
import { CreateAlumnoInscritoDto } from './dto/create-alumno_inscrito.dto';
import { Periodo } from 'src/database/AT/entities/periodo.entity';
@Injectable()
export class AlumnoInscritoService {
constructor(
@InjectRepository(AlumnoInscrito, 'dbAT')
private readonly alumnoInscritoRepo: Repository<AlumnoInscrito>,
@InjectRepository(Periodo, 'dbAT')
private readonly periodoRepository: Repository<Periodo>,
) {}
async findAll(): Promise<AlumnoInscrito[]> {
@@ -22,4 +26,28 @@ export class AlumnoInscritoService {
relations: ['alumno', 'periodo', 'plataforma'],
});
}
async create(dto: CreateAlumnoInscritoDto): Promise<AlumnoInscrito> {
const periodo = await this.periodoRepository.findOne({
order: {
id_periodo: 'DESC',
},
});
const existing = await this.alumnoInscritoRepo.findOne({
where: {
alumno: { id_cuenta: dto.id_cuenta },
periodo: { id_periodo: periodo?.id_periodo },
},
});
if (existing) {
throw new BadRequestException(
'El alumno ya está inscrito en este periodo y plataforma',
);
}
const alumnoInscrito = this.alumnoInscritoRepo.create(dto);
return this.alumnoInscritoRepo.save(alumnoInscrito);
}
}
@@ -23,7 +23,10 @@ export class PersonaController {
const persona = req.user;
if (!persona) {
return res.redirect(`${process.env.FRONTEND_URL}?error=oauth_failed`);
const error = req.query.error || 'oauth_denied';
return res.redirect(
`${process.env.FRONTEND_URL}/oauth-callback?error=${error}`,
);
}
const jwt = await this.personaService.generateJwt(persona);
+5
View File
@@ -5,6 +5,9 @@ import { TransaccionModule } from 'src/modules/Monedero/transaccion/transaccion.
import { PersonaModule } from 'src/modules/Monedero/persona/persona.module';
import { PagoPatronatoModule } from 'src/modules/Monedero/pago-patronato/pago-patronato.module';
import { PagoKioscoModule } from 'src/modules/Monedero/pago-kiosco/pago-kiosco.module';
import { AlumnoModule } from 'src/modules/AT/alumno/student.module';
import { AlumnoInscritoService } from 'src/modules/AT/alumno_inscrito/alumno_inscrito.service';
import { AlumnoInscritoModule } from 'src/modules/AT/alumno_inscrito/alumno_inscrito.module';
@Module({
imports: [
@@ -12,6 +15,8 @@ import { PagoKioscoModule } from 'src/modules/Monedero/pago-kiosco/pago-kiosco.m
PagoKioscoModule,
PersonaModule,
PagoPatronatoModule,
AlumnoModule,
AlumnoInscritoModule,
],
controllers: [OperationsController],
providers: [OperationsService],
+10
View File
@@ -1,4 +1,6 @@
import { Injectable } from '@nestjs/common';
import { AlumnoService } from 'src/modules/AT/alumno/student.service';
import { AlumnoInscritoService } from 'src/modules/AT/alumno_inscrito/alumno_inscrito.service';
import { PagoKioscoService } from 'src/modules/Monedero/pago-kiosco/pago-kiosco.service';
import { PersonaService } from 'src/modules/Monedero/persona/persona.service';
import { TransaccionService } from 'src/modules/Monedero/transaccion/transaccion.service';
@@ -9,6 +11,8 @@ export class OperationsService {
private readonly transaccionService: TransaccionService,
private readonly pagoKioscoService: PagoKioscoService,
private readonly personaService: PersonaService,
private readonly alumnoInscritoServie: AlumnoInscritoService,
private readonly alumnoService: AlumnoService,
) {}
async depositKiosco({ cantidad, idKiosco, transaccion }, idPersona: number) {
@@ -36,6 +40,12 @@ export class OperationsService {
let newSaldo: number;
if (transaccion === 'Inscripcion') {
newSaldo = await this.personaService.saldo(idPersona);
const persona = await this.personaService.findById(idPersona);
console.log(persona);
const alumno = await this.alumnoService.findOneById(
Number(persona.numeroIdentificar),
);
} else {
newSaldo = await this.personaService.updateSaldo(idPersona, cantidad);
}