This commit is contained in:
2026-01-22 11:49:09 -06:00
parent 2b754d28be
commit 2ce9d159d2
3 changed files with 48 additions and 2 deletions
@@ -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();
+29 -1
View File
@@ -16,7 +16,7 @@ export class AlumnoInscritoService {
private readonly alumnoInscritoRepo: Repository<AlumnoInscrito>,
@InjectRepository(Plataforma)
private readonly plataformaRepo: Repository<Plataforma>,
private readonly periodoService:PeriodoService
private readonly periodoService: PeriodoService,
) {}
async create(dto: CreateAlumnoInscritoDto): Promise<AlumnoInscrito> {
@@ -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);
}
}
@@ -12,3 +12,8 @@ export class CreateAlumnoInscritoDto {
@IsBoolean()
realizo_pago?: boolean;
}
export class AddTimeDto {
idCuenta: number;
idPlataforma: number;
tiempoExtra?: number;
}