diff --git a/src/alumno_inscrito/alumno_inscrito.controller.ts b/src/alumno_inscrito/alumno_inscrito.controller.ts index 2cbf6cb..020e47e 100644 --- a/src/alumno_inscrito/alumno_inscrito.controller.ts +++ b/src/alumno_inscrito/alumno_inscrito.controller.ts @@ -1,6 +1,9 @@ import { Controller, Get, Post, Body, Param, Patch } from '@nestjs/common'; import { AlumnoInscritoService } from './alumno_inscrito.service'; -import { CreateAlumnoInscritoDto } from './dto/create-alumno_inscrito.dto'; +import { + AddTimeDto, + CreateAlumnoInscritoDto, +} from './dto/create-alumno_inscrito.dto'; import { AlumnoInscrito } from './entities/alumno_inscrito.entity'; @Controller('alumno-inscrito') @@ -17,6 +20,16 @@ export class AlumnoInscritoController { return this.alumnoInscritoService.findAll(); } + @Post('/tiempo') + async addTime(@Body() body: AddTimeDto) { + const { idCuenta, idPlataforma, tiempoExtra } = body; + return this.alumnoInscritoService.addTime( + idCuenta, + idPlataforma, + tiempoExtra, + ); + } + @Get('/plataforma') async findAllPlataforma() { return this.alumnoInscritoService.findAllPlataforma(); diff --git a/src/alumno_inscrito/alumno_inscrito.service.ts b/src/alumno_inscrito/alumno_inscrito.service.ts index 8da2993..c135e3f 100644 --- a/src/alumno_inscrito/alumno_inscrito.service.ts +++ b/src/alumno_inscrito/alumno_inscrito.service.ts @@ -16,7 +16,7 @@ export class AlumnoInscritoService { private readonly alumnoInscritoRepo: Repository, @InjectRepository(Plataforma) private readonly plataformaRepo: Repository, - private readonly periodoService:PeriodoService + private readonly periodoService: PeriodoService, ) {} async create(dto: CreateAlumnoInscritoDto): Promise { @@ -94,4 +94,32 @@ export class AlumnoInscritoService { return { message: 'Plática marcada correctamente' }; } + + async addTime( + idCuenta: number, + idPlataforma: number, + tiempoExtra: number = 3600, + ) { + const periodoActivo = await this.periodoService.getPeriodoActivo(); + + const alumnoInscrito = await this.alumnoInscritoRepo.findOne({ + where: { + alumno: { id_cuenta: idCuenta }, + plataforma: { id_plataforma: idPlataforma }, + periodo: { id_periodo: periodoActivo.id_periodo }, + }, + }); + + if (!alumnoInscrito) { + throw new Error( + 'No existe inscripción para este alumno en el periodo y plataforma actual', + ); + } + + alumnoInscrito.tiempo_disponible += tiempoExtra; + + console.log(alumnoInscrito) + + return await this.alumnoInscritoRepo.save(alumnoInscrito); + } } diff --git a/src/alumno_inscrito/dto/create-alumno_inscrito.dto.ts b/src/alumno_inscrito/dto/create-alumno_inscrito.dto.ts index b9522c3..474ac87 100644 --- a/src/alumno_inscrito/dto/create-alumno_inscrito.dto.ts +++ b/src/alumno_inscrito/dto/create-alumno_inscrito.dto.ts @@ -12,3 +12,8 @@ export class CreateAlumnoInscritoDto { @IsBoolean() realizo_pago?: boolean; } +export class AddTimeDto { + idCuenta: number; + idPlataforma: number; + tiempoExtra?: number; +}