This commit is contained in:
IO
2024-07-03 23:46:11 -06:00
parent 97fd5b27eb
commit 3be07318ea
2 changed files with 11 additions and 39 deletions
+3 -3
View File
@@ -11,9 +11,9 @@ export class ProfesorController {
constructor(private profesorService: ProfesorService) {}
@Post()
@Roles(Role.Responsable,Role.Admin)
async register(@Body() data: profesorDto,file) {
return this.profesorService.register(data,file);
// @Roles(Role.Responsable,Role.Admin)
async register(@Body() data: profesorDto) {
return this.profesorService.register(data);
}
@Get()
+8 -36
View File
@@ -29,36 +29,18 @@ export class ProfesorService {
) {}
//register teacher
async register(data: profesorDto, file: Express.Multer.File) {
const { num_trabajador, rfc, proyectosAcademicos, datosAcademicos, lineasInvestigacion, nombre } = data;
async register(data: profesorDto) {
const { num_trabajador, rfc, proyectosAcademicos, datosAcademicos, lineasInvestigacion} = data;
const existrfc = await this.profesorRepository.findOne({ where: { rfc } });
if (existrfc) {
throw new HttpException('rfc already exist', 403);
if (await this.profesorRepository.findOne({ where: { rfc } })) {
throw new HttpException('rfc already exist', 410);
}
const existnumber = await this.profesorRepository.findOne({ where: { num_trabajador } });
if (existnumber) {
throw new HttpException('number of worker already exist', 403);
if (await this.profesorRepository.findOne({ where: { num_trabajador } })) {
throw new HttpException('number of worker already exist', 410);
}
let imageUrl = '';
if (file) {
const profesorName = nombre.toLowerCase().replace(/ /g, '_');
const fileExtName = path.extname(file.originalname);
const fileName = `${profesorName}${fileExtName}`;
const filePath = path.join(__dirname, '..', 'imagenes', fileName);
// Save the image
fs.writeFileSync(filePath, file.buffer);
imageUrl = `/imagenes/${fileName}`;
}
const newProfesor = this.profesorRepository.create({
...data,
fotografia: imageUrl,
});
const savedProfesor = await this.profesorRepository.save(newProfesor);
const savedProfesor = await this.profesorRepository.save(data);
if (proyectosAcademicos && proyectosAcademicos.length > 0) {
const proyectos = proyectosAcademicos.map(proyecto => {
@@ -109,7 +91,7 @@ export class ProfesorService {
}
//modify teacher
async modify(id_profesor: number, data: profesorDto, file?: Express.Multer.File) {
async modify(id_profesor: number, data: profesorDto) {
const profesor = await this.profesorRepository.findOne({ where: { id_profesor } });
if (!profesor) {
throw new HttpException('Profesor not found', 404);
@@ -118,16 +100,6 @@ export class ProfesorService {
const { proyectosAcademicos, datosAcademicos, lineasInvestigacion, ...profesorData } = data;
Object.assign(profesor, profesorData);
if (file) {
const profesorName = profesor.nombre.toLowerCase().replace(/ /g, '_');
const fileExtName = path.extname(file.originalname);
const fileName = `${profesorName}${fileExtName}`;
const filePath = path.join(__dirname, '..', 'imagenes', fileName);
fs.writeFileSync(filePath, file.buffer);
profesor.fotografia = `/imagenes/${fileName}`;
}
const savedProfesor = await this.profesorRepository.save(profesor);
if (proyectosAcademicos) {