auth service final
This commit is contained in:
parent
53ef5893c6
commit
f893493b80
@ -24,12 +24,12 @@ export class AuthService {
|
|||||||
private usuarioService: UsuarioService,
|
private usuarioService: UsuarioService,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
loginAdmin(admin: string, password: string) {
|
loginAdmin(admin: string, password: string): Promise<{ token: string }> {
|
||||||
return this.operadorService.findAdmin(admin).then((admin) => {
|
return this.operadorService.findAdmin(admin).then((admin) => {
|
||||||
this.validacionBasica(admin, password);
|
this.validacionBasica(admin, password);
|
||||||
this.validacionOperador(admin);
|
this.validacionOperador(admin);
|
||||||
|
|
||||||
// Creo payload apartir de la interface que le corresponde a este tipo de usaurio
|
// Creamos payload apartir de la interface que le corresponde a este tipo de usaurio
|
||||||
const JwtPayload: JwtPayloadAdmin = {
|
const JwtPayload: JwtPayloadAdmin = {
|
||||||
Operador: {
|
Operador: {
|
||||||
id_operador: admin.id_operador,
|
id_operador: admin.id_operador,
|
||||||
@ -44,12 +44,15 @@ export class AuthService {
|
|||||||
JwtPayload.Operador.institucion = {
|
JwtPayload.Operador.institucion = {
|
||||||
id_institucion: admin.institucion.id_institucion,
|
id_institucion: admin.institucion.id_institucion,
|
||||||
};
|
};
|
||||||
// "Firmo"/creo el token
|
return { token: this.jwtService.sign(JwtPayload) }; // "Firmamos"/creamos el token
|
||||||
return { token: this.jwtService.sign(JwtPayload) };
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async loginOperador(id_modulo: number, operador: string, password: string) {
|
async loginOperador(
|
||||||
|
id_modulo: number,
|
||||||
|
operador: string,
|
||||||
|
password: string,
|
||||||
|
): Promise<{ token: string }> {
|
||||||
const modulo = await this.moduloService.findById(id_modulo);
|
const modulo = await this.moduloService.findById(id_modulo);
|
||||||
|
|
||||||
return this.operadorService
|
return this.operadorService
|
||||||
@ -58,7 +61,7 @@ export class AuthService {
|
|||||||
this.validacionBasica(operador, password);
|
this.validacionBasica(operador, password);
|
||||||
this.validacionOperador(operador);
|
this.validacionOperador(operador);
|
||||||
|
|
||||||
// Creo payload apartir de la interface que le corresponde a este tipo de usaurio
|
// Creamos payload apartir de la interface que le corresponde a este tipo de usaurio
|
||||||
const JwtPayload: JwtPayloadOperador = {
|
const JwtPayload: JwtPayloadOperador = {
|
||||||
Operador: {
|
Operador: {
|
||||||
id_operador: operador.id_operador,
|
id_operador: operador.id_operador,
|
||||||
@ -71,23 +74,20 @@ export class AuthService {
|
|||||||
id_tipo_usuario: operador.tipoUsuario.id_tipo_usuario,
|
id_tipo_usuario: operador.tipoUsuario.id_tipo_usuario,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
Modulo: { id_modulo: modulo.id_modulo },
|
||||||
};
|
};
|
||||||
|
return { token: this.jwtService.sign(JwtPayload) }; // "Firmamos"/creamos el token
|
||||||
if (operador.tipoUsuario.id_tipo_usuario === 4)
|
|
||||||
JwtPayload.Modulo = { id_modulo: modulo.id_modulo };
|
|
||||||
// "Firmo"/creo el token
|
|
||||||
return { token: this.jwtService.sign(JwtPayload) };
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
loginUsuario(usuario: string, password: string) {
|
loginUsuario(usuario: string, password: string): Promise<{ token: string }> {
|
||||||
return this.usuarioService.findByUsuario(usuario).then((usuario) => {
|
return this.usuarioService.findByUsuario(usuario).then((usuario) => {
|
||||||
// Sin password = no registrado, valido que este registrado
|
// Validamos que este registrado. Sin password = no registrado
|
||||||
if (usuario && !usuario.password)
|
if (usuario && !usuario.password)
|
||||||
throw new BadRequestException('Este usuario no ha sido registrado.');
|
throw new BadRequestException('Este usuario no ha sido registrado.');
|
||||||
this.validacionBasica(usuario, password);
|
this.validacionBasica(usuario, password);
|
||||||
|
|
||||||
// Creo payload apartir de la interface que le corresponde a este tipo de usaurio
|
// Creamos payload apartir de la interface que le corresponde a este tipo de usaurio
|
||||||
const JwtPayload: JwtPayloadUsuario = {
|
const JwtPayload: JwtPayloadUsuario = {
|
||||||
Usuario: {
|
Usuario: {
|
||||||
id_usuario: usuario.id_usuario,
|
id_usuario: usuario.id_usuario,
|
||||||
@ -99,16 +99,15 @@ export class AuthService {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
// "Firmo"/creo el token
|
return { token: this.jwtService.sign(JwtPayload) }; // "Firmamos"/creamos el token
|
||||||
return { token: this.jwtService.sign(JwtPayload) };
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private validacionBasica(
|
private validacionBasica(
|
||||||
operadorUsuario: Operador | Usuario,
|
operadorUsuario: Operador | Usuario,
|
||||||
password: string,
|
password: string,
|
||||||
) {
|
): void {
|
||||||
// Valido que el operador o usuario existan y que el password sea el correcto
|
// Validamos que el operador o usuario existan y que el password que se envió coincida con el de la db
|
||||||
if (
|
if (
|
||||||
!operadorUsuario ||
|
!operadorUsuario ||
|
||||||
!this.bcryptService.comparar(password, operadorUsuario.password)
|
!this.bcryptService.comparar(password, operadorUsuario.password)
|
||||||
@ -116,11 +115,13 @@ export class AuthService {
|
|||||||
throw new BadRequestException(
|
throw new BadRequestException(
|
||||||
'Usuario y/o password incorrectos, ingresa unas credenciales válidas.',
|
'Usuario y/o password incorrectos, ingresa unas credenciales válidas.',
|
||||||
);
|
);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
private validacionOperador(operador: Operador) {
|
private validacionOperador(operador: Operador): void {
|
||||||
// Valido que el operador este activo
|
// Validamos que la cuenta del operador esta activa
|
||||||
if (!operador.activo)
|
if (!operador.activo)
|
||||||
throw new UnauthorizedException('Esta cuenta se encuentra desactivada.');
|
throw new UnauthorizedException('Esta cuenta se encuentra desactivada.');
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,5 +6,5 @@ export interface JwtPayloadOperador {
|
|||||||
institucion: { id_institucion: number };
|
institucion: { id_institucion: number };
|
||||||
tipoUsuario: { id_tipo_usuario: number };
|
tipoUsuario: { id_tipo_usuario: number };
|
||||||
};
|
};
|
||||||
Modulo?: { id_modulo: number };
|
Modulo: { id_modulo: number };
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ export class CarreraProgramaService {
|
|||||||
id_programa,
|
id_programa,
|
||||||
);
|
);
|
||||||
|
|
||||||
// Valido que el admin que esta realizando esta acción le pertenezca la carrera
|
// Validamos que el admin que esta realizando esta acción le pertenezca la carrera
|
||||||
if (
|
if (
|
||||||
admin.institucion.id_institucion !=
|
admin.institucion.id_institucion !=
|
||||||
institucionCarrera.institucion.id_institucion
|
institucionCarrera.institucion.id_institucion
|
||||||
@ -73,7 +73,7 @@ export class CarreraProgramaService {
|
|||||||
delete(admin: Operador, id_carrera_programa: number) {
|
delete(admin: Operador, id_carrera_programa: number) {
|
||||||
return this.findById(id_carrera_programa)
|
return this.findById(id_carrera_programa)
|
||||||
.then((carreraPrograma) => {
|
.then((carreraPrograma) => {
|
||||||
// Valido que la asociación entre una carrera y un programa le
|
// Validamos que la asociación entre una carrera y un programa le
|
||||||
// pertenezcan al admin que realiza esta acción
|
// pertenezcan al admin que realiza esta acción
|
||||||
if (
|
if (
|
||||||
admin.institucion.id_institucion !=
|
admin.institucion.id_institucion !=
|
||||||
@ -109,7 +109,7 @@ export class CarreraProgramaService {
|
|||||||
.then(async (institucion) => {
|
.then(async (institucion) => {
|
||||||
// Si es un Operador
|
// Si es un Operador
|
||||||
if (usuarioOperador instanceof Operador) {
|
if (usuarioOperador instanceof Operador) {
|
||||||
// Valido que la info le pertenezca al operador que la solicita
|
// Validamos que la info le pertenezca al operador que la solicita
|
||||||
if (
|
if (
|
||||||
usuarioOperador.institucion.id_institucion !=
|
usuarioOperador.institucion.id_institucion !=
|
||||||
institucion.id_institucion
|
institucion.id_institucion
|
||||||
|
@ -53,7 +53,7 @@ export class CarritoService {
|
|||||||
const marca = await this.marcaService.findById(id_marca, 'c');
|
const marca = await this.marcaService.findById(id_marca, 'c');
|
||||||
const modelo = await this.modeloService.findById(id_modelo, 'c');
|
const modelo = await this.modeloService.findById(id_modelo, 'c');
|
||||||
|
|
||||||
// Valido que el módulo seleccionado pertenezca a la institutción del admin
|
// Validamos que el módulo seleccionado pertenezca a la institutción del admin
|
||||||
if (admin.institucion.id_institucion != modulo.institucion.id_institucion)
|
if (admin.institucion.id_institucion != modulo.institucion.id_institucion)
|
||||||
throw new ForbiddenException(
|
throw new ForbiddenException(
|
||||||
'No puedes crear carritos para este módulo porque no pertenece a tu institución.',
|
'No puedes crear carritos para este módulo porque no pertenece a tu institución.',
|
||||||
@ -219,7 +219,7 @@ export class CarritoService {
|
|||||||
) {
|
) {
|
||||||
return this.findById(attrs.id_carrito)
|
return this.findById(attrs.id_carrito)
|
||||||
.then(async (carrito) => {
|
.then(async (carrito) => {
|
||||||
// Valido que el carrito pertenezca a la institución del operador
|
// Validamos que el carrito pertenezca a la institución del operador
|
||||||
if (
|
if (
|
||||||
operador.institucion.id_institucion !=
|
operador.institucion.id_institucion !=
|
||||||
carrito.modulo.institucion.id_institucion
|
carrito.modulo.institucion.id_institucion
|
||||||
@ -227,7 +227,7 @@ export class CarritoService {
|
|||||||
throw new ForbiddenException(
|
throw new ForbiddenException(
|
||||||
'No puedes modificar la información este carrito porque no pertenece a tu institución.',
|
'No puedes modificar la información este carrito porque no pertenece a tu institución.',
|
||||||
);
|
);
|
||||||
// Valido que se mande el motivo de desactivación
|
// Validamos que se mande el motivo de desactivación
|
||||||
if (attrs.activo === false && !motivo)
|
if (attrs.activo === false && !motivo)
|
||||||
throw new ForbiddenException(
|
throw new ForbiddenException(
|
||||||
'No se mandó el motivo de desactivación',
|
'No se mandó el motivo de desactivación',
|
||||||
|
@ -419,7 +419,7 @@ export class EquipoService {
|
|||||||
? await this.statusService.findById(id_status)
|
? await this.statusService.findById(id_status)
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
// Valido que el equipo pertenezca a la institución del operador
|
// Validamos que el equipo pertenezca a la institución del operador
|
||||||
// que realiza esta acción
|
// que realiza esta acción
|
||||||
if (
|
if (
|
||||||
operador.tipoUsuario.id_tipo_usuario > 2 &&
|
operador.tipoUsuario.id_tipo_usuario > 2 &&
|
||||||
|
@ -29,7 +29,7 @@ export class HoraExcepcionService {
|
|||||||
id_institucion_dia,
|
id_institucion_dia,
|
||||||
);
|
);
|
||||||
|
|
||||||
// Valido que el id institución día mandado sea de la institución a la que
|
// Validamos que el id institución día mandado sea de la institución a la que
|
||||||
// pertenece el operador que realiza esta acción
|
// pertenece el operador que realiza esta acción
|
||||||
if (
|
if (
|
||||||
admin.institucion.id_institucion !=
|
admin.institucion.id_institucion !=
|
||||||
@ -88,7 +88,7 @@ export class HoraExcepcionService {
|
|||||||
delete(admin: Operador, id_hora_excepcion: number) {
|
delete(admin: Operador, id_hora_excepcion: number) {
|
||||||
return this.findById(id_hora_excepcion)
|
return this.findById(id_hora_excepcion)
|
||||||
.then((horaExcepcion) => {
|
.then((horaExcepcion) => {
|
||||||
// Valido que el id hora excepción pertenezca a la institución del operador
|
// Validamos que el id hora excepción pertenezca a la institución del operador
|
||||||
// que realiza esta acción
|
// que realiza esta acción
|
||||||
if (
|
if (
|
||||||
admin.institucion.id_institucion !=
|
admin.institucion.id_institucion !=
|
||||||
|
@ -57,7 +57,7 @@ export class InstitucionDiaService {
|
|||||||
hoy(id_institucion: number) {
|
hoy(id_institucion: number) {
|
||||||
const ahora = moment();
|
const ahora = moment();
|
||||||
|
|
||||||
// Valido que no sea domingo
|
// Validamos que no sea domingo
|
||||||
if (ahora.weekday() === 0)
|
if (ahora.weekday() === 0)
|
||||||
throw new ConflictException('No hay servicio los días domingo.');
|
throw new ConflictException('No hay servicio los días domingo.');
|
||||||
// Busco un institucionDia apartir de la institución enviada y del día de hoy
|
// Busco un institucionDia apartir de la institución enviada y del día de hoy
|
||||||
@ -71,7 +71,7 @@ export class InstitucionDiaService {
|
|||||||
update(admin: Operador, attrs: Partial<InstitucionDia>) {
|
update(admin: Operador, attrs: Partial<InstitucionDia>) {
|
||||||
return this.findById(attrs.id_institucion_dia)
|
return this.findById(attrs.id_institucion_dia)
|
||||||
.then((institucionDia) => {
|
.then((institucionDia) => {
|
||||||
// Valido que la institucionDia le pertenezca a la institución del
|
// Validamos que la institucionDia le pertenezca a la institución del
|
||||||
// operador que realiza esta acción
|
// operador que realiza esta acción
|
||||||
if (
|
if (
|
||||||
admin.institucion.id_institucion !=
|
admin.institucion.id_institucion !=
|
||||||
@ -80,7 +80,7 @@ export class InstitucionDiaService {
|
|||||||
throw new ConflictException(
|
throw new ConflictException(
|
||||||
'No puedes actualizar la información de este día porque no le pertenece a tu institución.',
|
'No puedes actualizar la información de este día porque no le pertenece a tu institución.',
|
||||||
);
|
);
|
||||||
// Valido que hora_inicio no sea mayor a hora_fin
|
// Validamos que hora_inicio no sea mayor a hora_fin
|
||||||
if (
|
if (
|
||||||
// Si se mando hora_inicio u hora_fin
|
// Si se mando hora_inicio u hora_fin
|
||||||
(attrs.hora_inicio || attrs.hora_fin) &&
|
(attrs.hora_inicio || attrs.hora_fin) &&
|
||||||
@ -92,7 +92,7 @@ export class InstitucionDiaService {
|
|||||||
throw new BadRequestException(
|
throw new BadRequestException(
|
||||||
'La hora inicio no puede ser mayor que la hora fin.',
|
'La hora inicio no puede ser mayor que la hora fin.',
|
||||||
);
|
);
|
||||||
// Valido que hora_fin no sea mayor a hora_extra
|
// Validamos que hora_fin no sea mayor a hora_extra
|
||||||
if (
|
if (
|
||||||
// Si se mando hora_fin u hora_extra
|
// Si se mando hora_fin u hora_extra
|
||||||
(attrs.hora_fin || attrs.hora_extra) &&
|
(attrs.hora_fin || attrs.hora_extra) &&
|
||||||
@ -104,7 +104,7 @@ export class InstitucionDiaService {
|
|||||||
throw new BadRequestException(
|
throw new BadRequestException(
|
||||||
'La hora fin no puede ser mayor que la hora extra.',
|
'La hora fin no puede ser mayor que la hora extra.',
|
||||||
);
|
);
|
||||||
// Valido que hora_extra no sea mayor a hora_tope
|
// Validamos que hora_extra no sea mayor a hora_tope
|
||||||
if (
|
if (
|
||||||
// Si se hora_extra hora_fin u hora_tope
|
// Si se hora_extra hora_fin u hora_tope
|
||||||
(attrs.hora_extra || attrs.hora_tope) &&
|
(attrs.hora_extra || attrs.hora_tope) &&
|
||||||
|
@ -105,7 +105,7 @@ export class InstitucionInfraccionService {
|
|||||||
update(admin: Operador, attrs: Partial<InstitucionInfraccion>) {
|
update(admin: Operador, attrs: Partial<InstitucionInfraccion>) {
|
||||||
return this.findById(attrs.id_institucion_infraccion)
|
return this.findById(attrs.id_institucion_infraccion)
|
||||||
.then((institucionInfraccion) => {
|
.then((institucionInfraccion) => {
|
||||||
// Valido que la institucionInfraccion le pertenezca al operador que
|
// Validamos que la institucionInfraccion le pertenezca al operador que
|
||||||
// realiza esta acción
|
// realiza esta acción
|
||||||
if (
|
if (
|
||||||
admin.institucion.id_institucion !=
|
admin.institucion.id_institucion !=
|
||||||
|
@ -114,7 +114,7 @@ export class InstitucionProgramaService {
|
|||||||
update(admin: Operador, attrs: Partial<InstitucionPrograma>) {
|
update(admin: Operador, attrs: Partial<InstitucionPrograma>) {
|
||||||
return this.findById(attrs.id_institucion_programa)
|
return this.findById(attrs.id_institucion_programa)
|
||||||
.then((institucionPrograma) => {
|
.then((institucionPrograma) => {
|
||||||
// Valido que la institucionPrograma le pertenezca al operador que
|
// Validamos que la institucionPrograma le pertenezca al operador que
|
||||||
// realiza esta acción
|
// realiza esta acción
|
||||||
if (
|
if (
|
||||||
admin.institucion.id_institucion !=
|
admin.institucion.id_institucion !=
|
||||||
|
@ -120,7 +120,7 @@ export class InstitucionTipoCarritoService {
|
|||||||
attrs.id_institucion_tipo_carrito,
|
attrs.id_institucion_tipo_carrito,
|
||||||
)
|
)
|
||||||
.then((institucionTipoCarrito) => {
|
.then((institucionTipoCarrito) => {
|
||||||
// Valido que la institucionTipoCarrito le pertenezca al operador que
|
// Validamos que la institucionTipoCarrito le pertenezca al operador que
|
||||||
// realiza esta acción
|
// realiza esta acción
|
||||||
if (
|
if (
|
||||||
admin.institucion.id_institucion !=
|
admin.institucion.id_institucion !=
|
||||||
|
@ -110,7 +110,7 @@ export class InstitucionTipoEntradaService {
|
|||||||
update(admin: Operador, attrs: Partial<InstitucionTipoEntrada>) {
|
update(admin: Operador, attrs: Partial<InstitucionTipoEntrada>) {
|
||||||
return this.findById(attrs.id_institucion_tipo_entrada)
|
return this.findById(attrs.id_institucion_tipo_entrada)
|
||||||
.then((institucionTipoEntrada) => {
|
.then((institucionTipoEntrada) => {
|
||||||
// Valido que la institucionTipoEntrada le pertenezca al operador que
|
// Validamos que la institucionTipoEntrada le pertenezca al operador que
|
||||||
// realiza esta acción
|
// realiza esta acción
|
||||||
if (
|
if (
|
||||||
admin.institucion.id_institucion !=
|
admin.institucion.id_institucion !=
|
||||||
|
@ -144,7 +144,7 @@ export class ModuloService {
|
|||||||
throw new ConflictException('No se mandó toda la información necesaria.');
|
throw new ConflictException('No se mandó toda la información necesaria.');
|
||||||
return this.findById(attrs.id_modulo)
|
return this.findById(attrs.id_modulo)
|
||||||
.then(async (modulo) => {
|
.then(async (modulo) => {
|
||||||
// Valido que el modulo enviado sea del admin que realiza esta acción
|
// Validamos que el modulo enviado sea del admin que realiza esta acción
|
||||||
if (
|
if (
|
||||||
admin.institucion.id_institucion != modulo.institucion.id_institucion
|
admin.institucion.id_institucion != modulo.institucion.id_institucion
|
||||||
)
|
)
|
||||||
|
@ -106,7 +106,7 @@ export class MultaService {
|
|||||||
);
|
);
|
||||||
const fecha_fin = moment();
|
const fecha_fin = moment();
|
||||||
|
|
||||||
// Valido que este prestamo le pertenezca al operador
|
// Validamos que este prestamo le pertenezca al operador
|
||||||
if (
|
if (
|
||||||
operador.institucion.id_institucion !=
|
operador.institucion.id_institucion !=
|
||||||
prestamo.equipo.carrito.modulo.institucion.id_institucion
|
prestamo.equipo.carrito.modulo.institucion.id_institucion
|
||||||
@ -314,7 +314,7 @@ export class MultaService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private validacionMultaCancelacion(prestamo: Prestamo) {
|
private validacionMultaCancelacion(prestamo: Prestamo) {
|
||||||
// Valido que este prestamo no haya sido cancelado poer el usuario u operador
|
// Validamos que este prestamo no haya sido cancelado poer el usuario u operador
|
||||||
if (prestamo.cancelado_operador || prestamo.cancelado_usuario)
|
if (prestamo.cancelado_operador || prestamo.cancelado_usuario)
|
||||||
throw new ConflictException(
|
throw new ConflictException(
|
||||||
'No se puede multar a un usuario con un préstamo que fue cancelado.',
|
'No se puede multar a un usuario con un préstamo que fue cancelado.',
|
||||||
|
@ -188,7 +188,7 @@ export class OperadorService {
|
|||||||
id_institucion: true,
|
id_institucion: true,
|
||||||
id_tipo_usuario: true,
|
id_tipo_usuario: true,
|
||||||
},
|
},
|
||||||
where: { operador, institucion },
|
where: { operador, institucion, tipoUsuario: { id_tipo_usuario: 4 } },
|
||||||
})
|
})
|
||||||
.then((operador) => this.llenarIds(operador));
|
.then((operador) => this.llenarIds(operador));
|
||||||
}
|
}
|
||||||
@ -273,7 +273,7 @@ export class OperadorService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
validarUpdate(admin: Operador, operador: Operador) {
|
validarUpdate(admin: Operador, operador: Operador) {
|
||||||
// Valido que el super admin solo puedar modificar admins
|
// Validamos que el super admin solo puedar modificar admins
|
||||||
if (
|
if (
|
||||||
admin.tipoUsuario.id_tipo_usuario === 2 &&
|
admin.tipoUsuario.id_tipo_usuario === 2 &&
|
||||||
operador.tipoUsuario.id_tipo_usuario != 3
|
operador.tipoUsuario.id_tipo_usuario != 3
|
||||||
@ -282,12 +282,12 @@ export class OperadorService {
|
|||||||
`El super admin solo puede modificar la infomración de los admins.`,
|
`El super admin solo puede modificar la infomración de los admins.`,
|
||||||
);
|
);
|
||||||
if (admin.tipoUsuario.id_tipo_usuario === 3) {
|
if (admin.tipoUsuario.id_tipo_usuario === 3) {
|
||||||
// Valido que el admin no pueda modificar otro admin
|
// Validamos que el admin no pueda modificar otro admin
|
||||||
if (operador.tipoUsuario.id_tipo_usuario === 3)
|
if (operador.tipoUsuario.id_tipo_usuario === 3)
|
||||||
throw new ConflictException(
|
throw new ConflictException(
|
||||||
`No puedes actualizar la información de otro admin.`,
|
`No puedes actualizar la información de otro admin.`,
|
||||||
);
|
);
|
||||||
// Valido que el admin solo pueda modificar operadores de su institución
|
// Validamos que el admin solo pueda modificar operadores de su institución
|
||||||
if (
|
if (
|
||||||
admin.institucion.id_institucion != operador.institucion.id_institucion
|
admin.institucion.id_institucion != operador.institucion.id_institucion
|
||||||
)
|
)
|
||||||
|
@ -169,10 +169,10 @@ export class PrestamoService {
|
|||||||
)
|
)
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
// Valido que no sea domingo
|
// Validamos que no sea domingo
|
||||||
if (ahora.weekday() === 0)
|
if (ahora.weekday() === 0)
|
||||||
throw new ConflictException('No hay servicio los días domingo.');
|
throw new ConflictException('No hay servicio los días domingo.');
|
||||||
// Valido si ese día se encuentra activo
|
// Validamos si ese día se encuentra activo
|
||||||
if (!institucionDia.activo)
|
if (!institucionDia.activo)
|
||||||
throw new ConflictException(
|
throw new ConflictException(
|
||||||
'El día de hoy no hay servicio de préstamo de equipos.',
|
'El día de hoy no hay servicio de préstamo de equipos.',
|
||||||
@ -946,17 +946,17 @@ export class PrestamoService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
validacionBasicaPrestamo(prestamo: Prestamo) {
|
validacionBasicaPrestamo(prestamo: Prestamo) {
|
||||||
// Valido si el préstamo fue cancelado por el usuario
|
// Validamos si el préstamo fue cancelado por el usuario
|
||||||
if (prestamo.cancelado_usuario)
|
if (prestamo.cancelado_usuario)
|
||||||
throw new ConflictException(
|
throw new ConflictException(
|
||||||
'Este préstamo fue cancelado por el usuario.',
|
'Este préstamo fue cancelado por el usuario.',
|
||||||
);
|
);
|
||||||
// Valido si el préstamo fue cancelado por el operador
|
// Validamos si el préstamo fue cancelado por el operador
|
||||||
if (prestamo.cancelado_operador)
|
if (prestamo.cancelado_operador)
|
||||||
throw new ConflictException(
|
throw new ConflictException(
|
||||||
'Este préstamo fue cancelado por un operador.',
|
'Este préstamo fue cancelado por un operador.',
|
||||||
);
|
);
|
||||||
// Valido si el préstamo esta inactivo
|
// Validamos si el préstamo esta inactivo
|
||||||
if (!prestamo.activo)
|
if (!prestamo.activo)
|
||||||
throw new ConflictException('Este préstamo ya no se encuentra activo.');
|
throw new ConflictException('Este préstamo ya no se encuentra activo.');
|
||||||
}
|
}
|
||||||
@ -990,7 +990,7 @@ export class PrestamoService {
|
|||||||
operador: Operador,
|
operador: Operador,
|
||||||
modulo: Modulo,
|
modulo: Modulo,
|
||||||
) {
|
) {
|
||||||
// Valido que el prestamo pertenezca a la institución
|
// Validamos que el prestamo pertenezca a la institución
|
||||||
if (
|
if (
|
||||||
operador.institucion.id_institucion !=
|
operador.institucion.id_institucion !=
|
||||||
prestamo.equipo.carrito.modulo.institucion.id_institucion
|
prestamo.equipo.carrito.modulo.institucion.id_institucion
|
||||||
@ -998,7 +998,7 @@ export class PrestamoService {
|
|||||||
throw new ConflictException(
|
throw new ConflictException(
|
||||||
'Este préstamo no pertenece a esta institución.',
|
'Este préstamo no pertenece a esta institución.',
|
||||||
);
|
);
|
||||||
// Valido que el prestamo pertenezca al módulo del operador
|
// Validamos que el prestamo pertenezca al módulo del operador
|
||||||
if (modulo && prestamo.equipo.carrito.modulo.id_modulo != modulo.id_modulo)
|
if (modulo && prestamo.equipo.carrito.modulo.id_modulo != modulo.id_modulo)
|
||||||
throw new ConflictException('Este préstamo no pertenece a tu módulo.');
|
throw new ConflictException('Este préstamo no pertenece a tu módulo.');
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user