added new file alumno inscrito with, controllers and services
This commit is contained in:
@@ -8,7 +8,7 @@ export class AlumnoService {
|
||||
constructor(
|
||||
@InjectRepository(Alumno, 'dbAT')
|
||||
private readonly studentRepository: Repository<Alumno>,
|
||||
// @InjectRepository(Carrera)
|
||||
// @InjectRepository(Carrera, 'dbAT')
|
||||
// private readonly carreraRepository: Repository<Carrera>,
|
||||
) {}
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
import { Controller, Get, Post, Body, Param } from '@nestjs/common';
|
||||
import { AlumnoInscritoService } from './alumno_inscrito.service';
|
||||
import { CreateAlumnoInscritoDto } from './dto/create-alumno_inscrito.dto';
|
||||
import { AlumnoInscrito } from 'src/database/AT/entities/alumno_inscrito.entity';
|
||||
|
||||
@Controller('alumno-inscrito')
|
||||
export class AlumnoInscritoController {
|
||||
constructor(private readonly alumnoInscritoService: AlumnoInscritoService) {}
|
||||
|
||||
@Post()
|
||||
async create(@Body() dto: CreateAlumnoInscritoDto): Promise<AlumnoInscrito> {
|
||||
return this.alumnoInscritoService.create(dto);
|
||||
}
|
||||
|
||||
@Get()
|
||||
async findAll(): Promise<AlumnoInscrito[]> {
|
||||
return this.alumnoInscritoService.findAll();
|
||||
}
|
||||
|
||||
@Get(':id_cuenta')
|
||||
async findByAlumno(
|
||||
@Param('id_cuenta') id_cuenta: number,
|
||||
): Promise<AlumnoInscrito[]> {
|
||||
return this.alumnoInscritoService.findByAlumno(id_cuenta);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
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';
|
||||
|
||||
@Module({
|
||||
imports: [TypeOrmModule.forFeature([AlumnoInscrito], 'dbAT')],
|
||||
controllers: [AlumnoInscritoController],
|
||||
providers: [AlumnoInscritoService],
|
||||
})
|
||||
export class AlumnoInscritoModule {}
|
||||
@@ -0,0 +1,44 @@
|
||||
import { BadRequestException, Injectable } from '@nestjs/common';
|
||||
import { CreateAlumnoInscritoDto } from './dto/create-alumno_inscrito.dto';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import { AlumnoInscrito } from 'src/database/AT/entities/alumno_inscrito.entity';
|
||||
|
||||
@Injectable()
|
||||
export class AlumnoInscritoService {
|
||||
constructor(
|
||||
@InjectRepository(AlumnoInscrito, 'dbAT')
|
||||
private readonly alumnoInscritoRepo: Repository<AlumnoInscrito>,
|
||||
) {}
|
||||
|
||||
async create(dto: CreateAlumnoInscritoDto): Promise<AlumnoInscrito> {
|
||||
const existing = await this.alumnoInscritoRepo.findOne({
|
||||
where: {
|
||||
alumno: { id_cuenta: dto.id_cuenta },
|
||||
periodo: { id_periodo: dto.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);
|
||||
}
|
||||
|
||||
async findAll(): Promise<AlumnoInscrito[]> {
|
||||
return this.alumnoInscritoRepo.find({
|
||||
relations: ['alumno', 'periodo', 'plataforma'],
|
||||
});
|
||||
}
|
||||
|
||||
async findByAlumno(id_cuenta: number): Promise<AlumnoInscrito[]> {
|
||||
return this.alumnoInscritoRepo.find({
|
||||
where: { alumno: { id_cuenta }, periodo: { id_periodo: 27 } },
|
||||
relations: ['alumno', 'periodo', 'plataforma'],
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
import { IsNotEmpty, IsNumber, IsBoolean } from 'class-validator';
|
||||
|
||||
export class CreateAlumnoInscritoDto {
|
||||
@IsNotEmpty()
|
||||
@IsNumber()
|
||||
id_cuenta: number;
|
||||
|
||||
@IsNotEmpty()
|
||||
@IsNumber()
|
||||
id_periodo: number;
|
||||
|
||||
@IsNotEmpty()
|
||||
@IsNumber()
|
||||
id_plataforma: number;
|
||||
|
||||
@IsBoolean()
|
||||
realizo_pago?: boolean;
|
||||
|
||||
@IsBoolean()
|
||||
platica?: boolean;
|
||||
|
||||
@IsNumber()
|
||||
tiempo_disponible?: number;
|
||||
|
||||
@IsBoolean()
|
||||
ad?: boolean;
|
||||
}
|
||||
Reference in New Issue
Block a user