Actualización módulo rolePermission
This commit is contained in:
@ -68,6 +68,33 @@ export class RolePermissionController{
|
||||
}
|
||||
}
|
||||
|
||||
async getPermissionByRole(
|
||||
req: Request,
|
||||
res: Response
|
||||
) {
|
||||
|
||||
try {
|
||||
|
||||
const permissions = await service.getPermissionByRole(
|
||||
req.params.roleId as string
|
||||
);
|
||||
|
||||
res.status(200).json(permissions);
|
||||
|
||||
} catch (error: any) {
|
||||
|
||||
res.status(500).json({
|
||||
|
||||
message: error.message,
|
||||
|
||||
error
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
async create(
|
||||
req:Request,
|
||||
res:Response
|
||||
@ -79,9 +106,10 @@ export class RolePermissionController{
|
||||
|
||||
res.status(201).json(rolePemission);
|
||||
|
||||
}catch(error){
|
||||
}catch(error:any){
|
||||
res.status(500).json({
|
||||
message:"Error al crear configuración de permiso"
|
||||
message: error.message,
|
||||
error
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -132,7 +160,7 @@ export class RolePermissionController{
|
||||
|
||||
}catch(error){
|
||||
res.status(500).json({
|
||||
message:"Error al eliminar configuración de vehículo"
|
||||
message:"Error al eliminar configuración de permisos"
|
||||
|
||||
})
|
||||
|
||||
|
||||
@ -10,5 +10,5 @@ export interface IRolePermission{
|
||||
|
||||
createdBy: Types.ObjectId;
|
||||
|
||||
updateBy: Types.ObjectId;
|
||||
updatedBy: Types.ObjectId;
|
||||
}
|
||||
@ -10,11 +10,13 @@ const rolePermissionSchema = new mongoose.Schema({
|
||||
unique:true,
|
||||
},
|
||||
|
||||
permissions:{
|
||||
type: mongoose.Schema.Types.ObjectId,
|
||||
ref:"Permission",
|
||||
required:true
|
||||
},
|
||||
permissions:[
|
||||
{
|
||||
type: mongoose.Schema.Types.ObjectId,
|
||||
ref:"Permission",
|
||||
required:true
|
||||
}
|
||||
],
|
||||
|
||||
active:{
|
||||
type:Boolean,
|
||||
@ -27,7 +29,7 @@ const rolePermissionSchema = new mongoose.Schema({
|
||||
required:true
|
||||
},
|
||||
|
||||
updateBy:{
|
||||
updatedBy:{
|
||||
type: mongoose.Schema.Types.ObjectId,
|
||||
ref:"User",
|
||||
}
|
||||
|
||||
@ -1,21 +1,27 @@
|
||||
import { Router } from "express";
|
||||
import { RolePermissionController } from "./rolePermission.controller";
|
||||
import { authMiddleware } from "../auth/auth.middleware";
|
||||
|
||||
const rolePermissionRoute = Router();
|
||||
import { RolePermissionController } from "./rolePermission.controller";
|
||||
|
||||
import { authMiddleware } from "../auth/auth.middleware";
|
||||
import { permissionMiddleware } from "../auth/permission.middleware";
|
||||
|
||||
|
||||
const rolePermissionRouter = Router();
|
||||
|
||||
const controller = new RolePermissionController();
|
||||
|
||||
rolePermissionRoute.get("/", authMiddleware, controller.getAll);
|
||||
rolePermissionRouter.get("/", authMiddleware, permissionMiddleware("role-permissions", "read"), controller.getAll);
|
||||
|
||||
rolePermissionRoute.get("/role/:roleId", authMiddleware, controller.getByRole);
|
||||
rolePermissionRouter.get("/role/:roleId", authMiddleware, permissionMiddleware("role-permissions", "read"), controller.getByRole);
|
||||
|
||||
rolePermissionRoute.get("/:id", authMiddleware, controller.getById);
|
||||
rolePermissionRouter.get("/permissions/:roleId", authMiddleware, permissionMiddleware("role-permissions", "read"), controller.getPermissionByRole);
|
||||
|
||||
rolePermissionRoute.post("/", authMiddleware, controller.create);
|
||||
rolePermissionRouter.get("/:id", authMiddleware, permissionMiddleware("role-permissions", "read"), controller.getById);
|
||||
|
||||
rolePermissionRoute.put("/:id", authMiddleware, controller.update);
|
||||
rolePermissionRouter.post("/", authMiddleware, /*permissionMiddleware("role-permissions", "create"),*/ controller.create);
|
||||
|
||||
rolePermissionRoute.delete("/:id", authMiddleware, controller.delete);
|
||||
rolePermissionRouter.put("/:id", authMiddleware, permissionMiddleware("role-permissions", "update"), controller.update);
|
||||
|
||||
export default rolePermissionRoute;
|
||||
rolePermissionRouter.delete("/:id", authMiddleware, permissionMiddleware("role-permissions", "delete"), controller.delete);
|
||||
|
||||
export default rolePermissionRouter;
|
||||
@ -1,4 +1,5 @@
|
||||
import rolePermissionModel from "./rolePermission.model";
|
||||
import roleModel from "../roles/role.model";
|
||||
import { IRolePermission } from "./rolePermission.interface";
|
||||
|
||||
export class RolePermissionService {
|
||||
@ -40,11 +41,10 @@ export class RolePermissionService {
|
||||
active: true
|
||||
|
||||
})
|
||||
.populate("createdBy","userName")
|
||||
.populate("updatedBy","userName")
|
||||
.populate("roleId")
|
||||
.populate("permissions")
|
||||
.populate("createdBy", "userName")
|
||||
.populate("updatedBy", "userName");
|
||||
|
||||
}
|
||||
|
||||
async getPermissionByRole(
|
||||
@ -70,6 +70,15 @@ export class RolePermissionService {
|
||||
data: IRolePermission
|
||||
) {
|
||||
|
||||
const role = await roleModel.findById(
|
||||
data.roleId
|
||||
);
|
||||
|
||||
if(!role){
|
||||
|
||||
throw new Error("El rol no existe.");
|
||||
|
||||
}
|
||||
const exists = await rolePermissionModel.findOne({
|
||||
|
||||
roleId: data.roleId
|
||||
|
||||
Reference in New Issue
Block a user