You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
3.4 KiB
JavaScript
154 lines
3.4 KiB
JavaScript
export const roles = {
|
|
hnic:
|
|
{
|
|
"client_admin":
|
|
{
|
|
"create": true,
|
|
"read": true,
|
|
"update": true,
|
|
"delete": true
|
|
},
|
|
"client_user":
|
|
{
|
|
"create": true,
|
|
"read": true,
|
|
"update": true,
|
|
"delete": true
|
|
},
|
|
"client_project":
|
|
{
|
|
"create": true,
|
|
"read": true,
|
|
"update": true,
|
|
"delete": true
|
|
},
|
|
"folio_project":
|
|
{
|
|
"create": true,
|
|
"read": true,
|
|
"update": true,
|
|
"delete": true
|
|
},
|
|
"bookmark":
|
|
{
|
|
"create": true,
|
|
"read": true,
|
|
"update": true,
|
|
"delete": true
|
|
},
|
|
"post":
|
|
{
|
|
"create": true,
|
|
"read": true,
|
|
"update": true,
|
|
"delete": true
|
|
}
|
|
},
|
|
client:
|
|
{
|
|
"client_admin":
|
|
{
|
|
"create": false,
|
|
"read": true,
|
|
"update": false,
|
|
"delete": false
|
|
},
|
|
"client_user":
|
|
{
|
|
"create": true,
|
|
"read": true,
|
|
"update": true,
|
|
"delete": true
|
|
},
|
|
"client_project":
|
|
{
|
|
"create": true,
|
|
"read": true,
|
|
"update": true,
|
|
"delete": false
|
|
},
|
|
"folio_project":
|
|
{
|
|
"create": false,
|
|
"read": false,
|
|
"update": false,
|
|
"delete": false
|
|
}
|
|
},
|
|
user:
|
|
{
|
|
"client_admin":
|
|
{
|
|
"create": false,
|
|
"read": false,
|
|
"update": false,
|
|
"delete": false
|
|
},
|
|
"client_user":
|
|
{
|
|
"create": false,
|
|
"read": true,
|
|
"update": false,
|
|
"delete": false
|
|
},
|
|
"client_project":
|
|
{
|
|
"create": false,
|
|
"read": true,
|
|
"update": true,
|
|
"delete": false
|
|
},
|
|
"folio_project":
|
|
{
|
|
"create": false,
|
|
"read": false,
|
|
"update": false,
|
|
"delete": false
|
|
},
|
|
"bookmark":
|
|
{
|
|
"create": true,
|
|
"read": true,
|
|
"update": true,
|
|
"delete": true
|
|
},
|
|
"post":
|
|
{
|
|
"create": false,
|
|
"read": false,
|
|
"update": false,
|
|
"delete": false
|
|
}
|
|
}
|
|
};
|
|
export const TASK_CREATE = 'create'
|
|
export const TASK_UPDATE = 'update'
|
|
export const TASK_READ = 'read'
|
|
export const TASK_DELETE = 'delete'
|
|
export const OBJECT_CLIENT_ADMIN = 'client_admin'
|
|
export const OBJECT_CLIENT_USER = 'client_user'
|
|
export const OBJECT_PROJECT_CLIENT = 'client_project'
|
|
export const OBJECT_PROJECT_FOLIO = 'folio_project'
|
|
export const OBJECT_BOOKMARK = 'bookmark'
|
|
export const OBJECT_POST = 'post'
|
|
export default class RightsManager
|
|
{
|
|
//--------------------------
|
|
// constructor
|
|
//--------------------------
|
|
constructor()
|
|
{
|
|
var self = this;
|
|
}
|
|
//--------------------------
|
|
// methods
|
|
//--------------------------
|
|
check(role, object, task)
|
|
{
|
|
console.log(role + " *** " + object + " *** " + task);
|
|
return roles[role][object][task];
|
|
}
|
|
//--------------------------
|
|
// event handlers
|
|
//--------------------------
|
|
} |