update institucion programa listo

This commit is contained in:
xXpuma99Xx
2022-06-01 11:42:57 -05:00
parent 6ba36ac6bd
commit 55d4b5d74e
6 changed files with 51 additions and 4 deletions
@@ -34,7 +34,7 @@ export class CarreraProgramaController {
'Endpoint que borra la asociación entre una carrera y un programa.',
})
@ApiBody({
description: '',
description: 'Es obligatorio mandar la variable id_carrera_programa.',
examples: { ejemplo: { value: { id_carrera_programa: 1 } } },
})
delete(@Body() body: CarreraProgramaDeleteDto) {
@@ -20,7 +20,7 @@ export class Carrera {
@Column({ type: String, nullable: false, length: 3 })
clave: string;
@ManyToOne(() => Nivel, (nivel) => nivel.carreras)
@ManyToOne(() => Nivel, (nivel) => nivel.carreras, { eager: true })
@JoinColumn({ name: 'id_nivel' })
nivel: Nivel;
@@ -0,0 +1,9 @@
import { IsBoolean, IsInt } from 'class-validator';
export class ProgramaUpdateDto {
@IsInt()
id_institucion_programa: number;
@IsBoolean()
mostrar: boolean;
}
@@ -1,8 +1,9 @@
import { Body, Controller, Get, Post, Query } from '@nestjs/common';
import { Body, Controller, Get, Post, Put, Query } from '@nestjs/common';
import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger';
import { InstitucionProgramaService } from './institucion-programa.service';
import { IdInstitucionDto } from 'src/dto/id-institucion.dto';
import { ProgramaCreateDto } from '../institucion-programa/dto/programa-create.dto';
import { ProgramaUpdateDto } from '../institucion-programa/dto/programa-update.dto';
@Controller('institucion-programa')
@ApiTags('institucion-programa')
@@ -55,4 +56,19 @@ export class InstitucionProgramaController {
parseInt(query.id_institucion),
);
}
@Put()
@ApiOperation({
description:
'Endpoint que actualiza la información de una institución programa.',
})
@ApiBody({
description: 'Es obligatorio mandar la varible programa.',
examples: {
ejemplo: { value: { id_institucion_programa: 130, mostrar: true } },
},
})
update(@Body() body: ProgramaUpdateDto) {
return this.institucionProgramaService.update(body);
}
}
@@ -47,6 +47,16 @@ export class InstitucionProgramaService {
return this.programaRepository.find();
}
findById(id_institucion_programa: number) {
return this.institucionProgramaRepository
.findOne({ id_institucion_programa })
.then((institucionPrograma) => {
if (!institucionPrograma)
throw new NotFoundException('No existe esta institucion programa.');
return institucionPrograma;
});
}
findProgramaById(id_programa: number) {
return this.programaRepository.findOne({ id_programa }).then((programa) => {
if (!programa) throw new NotFoundException('No existe este programa.');
@@ -77,4 +87,16 @@ export class InstitucionProgramaService {
this.institucionProgramaRepository.find({ institucion, mostrar: true }),
);
}
update(attrs: Partial<InstitucionPrograma>) {
return this.findById(attrs.id_institucion_programa)
.then((institucionPrograma) => {
Object.assign(institucionPrograma, attrs);
return this.institucionProgramaRepository.save(institucionPrograma);
})
.then((_) => ({
message:
'Se actualizó correctamente la información de esta institución programa.',
}));
}
}
+1 -1
View File
@@ -69,7 +69,7 @@ export class ModuloService {
return this.repository.save(modulo);
})
.then((_) => ({
message: 'Se actualizo correctamente la información del módulo.',
message: 'Se actualizó correctamente la información del módulo.',
}));
}
}