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(
|
async create(
|
||||||
req:Request,
|
req:Request,
|
||||||
res:Response
|
res:Response
|
||||||
@ -79,9 +106,10 @@ export class RolePermissionController{
|
|||||||
|
|
||||||
res.status(201).json(rolePemission);
|
res.status(201).json(rolePemission);
|
||||||
|
|
||||||
}catch(error){
|
}catch(error:any){
|
||||||
res.status(500).json({
|
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){
|
}catch(error){
|
||||||
res.status(500).json({
|
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;
|
createdBy: Types.ObjectId;
|
||||||
|
|
||||||
updateBy: Types.ObjectId;
|
updatedBy: Types.ObjectId;
|
||||||
}
|
}
|
||||||
@ -10,11 +10,13 @@ const rolePermissionSchema = new mongoose.Schema({
|
|||||||
unique:true,
|
unique:true,
|
||||||
},
|
},
|
||||||
|
|
||||||
permissions:{
|
permissions:[
|
||||||
|
{
|
||||||
type: mongoose.Schema.Types.ObjectId,
|
type: mongoose.Schema.Types.ObjectId,
|
||||||
ref:"Permission",
|
ref:"Permission",
|
||||||
required:true
|
required:true
|
||||||
},
|
}
|
||||||
|
],
|
||||||
|
|
||||||
active:{
|
active:{
|
||||||
type:Boolean,
|
type:Boolean,
|
||||||
@ -27,7 +29,7 @@ const rolePermissionSchema = new mongoose.Schema({
|
|||||||
required:true
|
required:true
|
||||||
},
|
},
|
||||||
|
|
||||||
updateBy:{
|
updatedBy:{
|
||||||
type: mongoose.Schema.Types.ObjectId,
|
type: mongoose.Schema.Types.ObjectId,
|
||||||
ref:"User",
|
ref:"User",
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,21 +1,27 @@
|
|||||||
import { Router } from "express";
|
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();
|
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 rolePermissionModel from "./rolePermission.model";
|
||||||
|
import roleModel from "../roles/role.model";
|
||||||
import { IRolePermission } from "./rolePermission.interface";
|
import { IRolePermission } from "./rolePermission.interface";
|
||||||
|
|
||||||
export class RolePermissionService {
|
export class RolePermissionService {
|
||||||
@ -40,11 +41,10 @@ export class RolePermissionService {
|
|||||||
active: true
|
active: true
|
||||||
|
|
||||||
})
|
})
|
||||||
|
.populate("createdBy","userName")
|
||||||
|
.populate("updatedBy","userName")
|
||||||
.populate("roleId")
|
.populate("roleId")
|
||||||
.populate("permissions")
|
.populate("permissions")
|
||||||
.populate("createdBy", "userName")
|
|
||||||
.populate("updatedBy", "userName");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async getPermissionByRole(
|
async getPermissionByRole(
|
||||||
@ -70,6 +70,15 @@ export class RolePermissionService {
|
|||||||
data: IRolePermission
|
data: IRolePermission
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
const role = await roleModel.findById(
|
||||||
|
data.roleId
|
||||||
|
);
|
||||||
|
|
||||||
|
if(!role){
|
||||||
|
|
||||||
|
throw new Error("El rol no existe.");
|
||||||
|
|
||||||
|
}
|
||||||
const exists = await rolePermissionModel.findOne({
|
const exists = await rolePermissionModel.findOne({
|
||||||
|
|
||||||
roleId: data.roleId
|
roleId: data.roleId
|
||||||
|
|||||||
Reference in New Issue
Block a user