is not empty

This commit is contained in:
xXpuma99Xx
2022-07-24 22:35:00 -05:00
parent 79996060ef
commit 254504f7a9
77 changed files with 511 additions and 301 deletions
+23 -23
View File
@@ -36,7 +36,7 @@ export class EquipoProgramaService {
? await this.institucionProgramaService.findProgramaById(id_programa)
: id_programa;
return this.existeEquipoPrograma(equipo, programa)
return this.findEquipoProgramaByEquipoPrograma(equipo, programa)
.then((_) =>
this.repository.save(this.repository.create({ equipo, programa })),
)
@@ -60,38 +60,22 @@ export class EquipoProgramaService {
return this.create(equipoPrograma.equipo, 1);
}
});
return this.repository
.remove(equipoPrograma)
.then((_) => ({
message: 'Se eliminó correctamente el programa de este equipo.',
}));
return this.repository.remove(equipoPrograma).then((_) => ({
message: 'Se eliminó correctamente el programa de este equipo.',
}));
}
eliminarEquipoSinPrograma(equipo: Equipo) {
return this.institucionProgramaService
.findProgramaById(1)
.then((programa) => this.repository.findOne({ equipo, programa }))
.then((programa) =>
this.findEquipoProgramaByEquipoPrograma(equipo, programa, false),
)
.then((equipoPrograma) => {
if (equipoPrograma) return this.delete(equipoPrograma);
});
}
existeEquipoPrograma(
equipo: Equipo,
programa: Programa,
validarExistencia = true,
) {
return this.repository
.findOne({ equipo, programa })
.then((equipoPrograma) => {
if (validarExistencia && equipoPrograma)
throw new ConflictException(
'Este programa ya fue asignado a este equipo.',
);
return equipoPrograma;
});
}
findById(id_equipo_programa: number) {
return this.repository
.findOne({
@@ -104,4 +88,20 @@ export class EquipoProgramaService {
return equipoPrograma;
});
}
findEquipoProgramaByEquipoPrograma(
equipo: Equipo,
programa: Programa,
validarExistencia = true,
) {
return this.repository
.findOne({ equipo, programa })
.then((equipoPrograma) => {
if (validarExistencia && equipoPrograma)
throw new ConflictException(
'Este programa ya fue asignado a este equipo.',
);
return equipoPrograma;
});
}
}