institucion día service final
This commit is contained in:
parent
825e235631
commit
528297ca48
@ -44,9 +44,7 @@ export class InstitucionDiaController {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarAdmin(admin);
|
||||
return this.institucionDiaService.findAllByIdInstitucion(
|
||||
admin.institucion.id_institucion,
|
||||
);
|
||||
return this.institucionDiaService.findAllAdmin(admin);
|
||||
}
|
||||
|
||||
@Serealize(InstitucionCarreaOutputDto)
|
||||
|
@ -20,26 +20,19 @@ export class InstitucionDiaService {
|
||||
private institucionService: InstitucionService,
|
||||
) {}
|
||||
|
||||
findAllByIdInstitucion(id_institucion: number) {
|
||||
return this.institucionService
|
||||
.findById(id_institucion)
|
||||
.then((institucion) =>
|
||||
this.repository.find({
|
||||
where: { institucion },
|
||||
findAllAdmin(admin: Operador): Promise<InstitucionDia[]> {
|
||||
return this.repository.find({
|
||||
where: { institucion: admin.institucion },
|
||||
order: { id_institucion_dia: 'ASC' },
|
||||
}),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
findById(id_institucion_dia: number) {
|
||||
findById(id_institucion_dia: number): Promise<InstitucionDia> {
|
||||
return this.repository
|
||||
.findOne({
|
||||
join: {
|
||||
alias: 'id',
|
||||
innerJoinAndSelect: {
|
||||
d: 'id.dia',
|
||||
i: 'id.institucion',
|
||||
},
|
||||
innerJoinAndSelect: { d: 'id.dia', i: 'id.institucion' },
|
||||
},
|
||||
where: { id_institucion_dia },
|
||||
})
|
||||
@ -50,17 +43,19 @@ export class InstitucionDiaService {
|
||||
});
|
||||
}
|
||||
|
||||
findByInstitucionDia(institucion: Institucion, id_dia: number) {
|
||||
findByInstitucionDia(
|
||||
institucion: Institucion,
|
||||
id_dia: number,
|
||||
): Promise<InstitucionDia> {
|
||||
return this.repository.findOne({ where: { institucion, dia: { id_dia } } });
|
||||
}
|
||||
|
||||
hoy(id_institucion: number) {
|
||||
hoy(id_institucion: number): Promise<InstitucionDia> {
|
||||
const ahora = moment();
|
||||
|
||||
// Validamos que no sea domingo
|
||||
if (ahora.weekday() === 0)
|
||||
throw new ConflictException('No hay servicio los días domingo.');
|
||||
// Buscamos un institucionDia apartir de la institución enviada y del día de hoy
|
||||
return this.institucionService
|
||||
.findById(id_institucion)
|
||||
.then((institucion) =>
|
||||
@ -68,17 +63,19 @@ export class InstitucionDiaService {
|
||||
);
|
||||
}
|
||||
|
||||
update(admin: Operador, attrs: Partial<InstitucionDia>) {
|
||||
update(
|
||||
admin: Operador,
|
||||
attrs: Partial<InstitucionDia>,
|
||||
): Promise<{ message: string }> {
|
||||
return this.findById(attrs.id_institucion_dia)
|
||||
.then((institucionDia) => {
|
||||
// Validamos que la institucionDia le pertenezca a la institución del
|
||||
// operador que realiza esta acción
|
||||
// Validamos que la institución día pertenezca a la institución del admin
|
||||
if (
|
||||
admin.institucion.id_institucion !=
|
||||
institucionDia.institucion.id_institucion
|
||||
)
|
||||
throw new ConflictException(
|
||||
'No puedes actualizar la información de este día porque no le pertenece a tu institución.',
|
||||
'No puedes acceder a esta información porque no le pertenece a tu institución.',
|
||||
);
|
||||
// Validamos que hora_inicio no sea mayor a hora_fin
|
||||
if (
|
||||
|
Loading…
Reference in New Issue
Block a user