maquetador-graficas/resources/js/rolePermission.js
Juan Felipe Zapata Moreno c6c2f78d16 Initial Commit
2025-08-12 09:36:02 -06:00

59 lines
1.3 KiB
JavaScript

import { router } from '@inertiajs/vue3';
let startRoles = false;
let startPermissions = false;
let userRoles = [];
let userPermissions = [];
/**
* Permite consultar si un usuario tiene un role
*/
const hasRole = (roles) => {
if(!startRoles) {
let userRolesModel = router.page.props.user.roles;
userRolesModel.forEach((model) => {
userRoles.push(model.name);
});
}
let verifyRoles = roles.split('|');
for (let role in verifyRoles) {
if(userRoles.length != 0) {
if(userRoles.indexOf(verifyRoles[role]) != -1) {
return true;
}
}
}
return false;
}
/**
* Permite consultar si un usuario tiene un permiso especifico
*/
const hasPermission = (permisions) => {
if(!startPermissions) {
let userPermissionsModel = router.page.props.shareUserPermissions;
userPermissionsModel.forEach((model) => {
userPermissions.push(model.name);
});
}
let verifyPermissions = permisions.split('|');
for (let permision in verifyPermissions) {
if(userPermissions.length != 0) {
if(userPermissions.indexOf(verifyPermissions[permision]) != -1) {
return true;
}
}
}
return false;
}
export { hasRole, hasPermission };