mirror of
https://github.com/SyncrowIOT/backend.git
synced 2026-10-24 23:57:55 +00:00
Add permission and role management features
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
export const PermissionMapping = {
|
||||
DEVICE_MANAGEMENT: {
|
||||
DEVICE: ['SINGLE_CONTROL', 'VIEW', 'DELETE', 'UPDATE', 'BATCH_CONTROL'],
|
||||
FIRMWARE: ['CONTROL', 'VIEW'],
|
||||
},
|
||||
COMMUNITY_MANAGEMENT: {
|
||||
COMMUNITY: ['VIEW', 'ADD', 'UPDATE', 'DELETE'],
|
||||
},
|
||||
SPACE_MANAGEMENT: {
|
||||
SPACE: [
|
||||
'VIEW',
|
||||
'ADD',
|
||||
'UPDATE',
|
||||
'DELETE',
|
||||
'MODULE_ADD',
|
||||
'ASSIGN_USER_TO_SPACE',
|
||||
'DELETE_USER_FROM_SPACE',
|
||||
],
|
||||
SUBSPACE: [
|
||||
'VIEW',
|
||||
'ADD',
|
||||
'UPDATE',
|
||||
'DELETE',
|
||||
'ASSIGN_DEVICE_TO_SUBSPACE',
|
||||
'DELETE_DEVICE_FROM_SUBSPACE',
|
||||
],
|
||||
},
|
||||
DEVICE_WIZARD: {
|
||||
DEVICE_WIZARD: ['VIEW_DEVICE_WIZARD'],
|
||||
SPACE_DEVICE: ['VIEW_DEVICE_IN_SPACE', 'ASSIGN_DEVICE_TO_SPACE'],
|
||||
SUBSPACE_DEVICE: ['VIEW_DEVICE_IN_SUBSPACE', 'UPDATE_DEVICE_IN_SUBSPACE'],
|
||||
},
|
||||
AUTOMATION_MANAGEMENT: {
|
||||
AUTOMATION: ['VIEW', 'ADD', 'UPDATE', 'DELETE', 'CONTROL'],
|
||||
SCENES: ['VIEW', 'ADD', 'UPDATE', 'DELETE', 'CONTROL'],
|
||||
},
|
||||
VISITOR_PASSWORD_MANAGEMENT: {
|
||||
VISITOR_PASSWORD: ['VIEW', 'ADD', 'UPDATE', 'DELETE'],
|
||||
},
|
||||
USER_MANAGEMENT: {
|
||||
USER: ['ADD'],
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,130 @@
|
||||
import { RoleType } from './role.type.enum';
|
||||
|
||||
export const RolePermissions = {
|
||||
[RoleType.SUPER_ADMIN]: [
|
||||
'DEVICE_SINGLE_CONTROL',
|
||||
'DEVICE_VIEW',
|
||||
'DEVICE_DELETE',
|
||||
'DEVICE_UPDATE',
|
||||
'DEVICE_BATCH_CONTROL',
|
||||
'COMMUNITY_VIEW',
|
||||
'COMMUNITY_ADD',
|
||||
'COMMUNITY_UPDATE',
|
||||
'COMMUNITY_DELETE',
|
||||
'FIRMWARE_CONTROL',
|
||||
'SPACE_VIEW',
|
||||
'SPACE_ADD',
|
||||
'SPACE_UPDATE',
|
||||
'SPACE_DELETE',
|
||||
'SPACE_MODULE_ADD',
|
||||
'ASSIGN_USER_TO_SPACE',
|
||||
'DELETE_USER_FROM_SPACE',
|
||||
'SUBSPACE_VIEW',
|
||||
'SUBSPACE_ADD',
|
||||
'SUBSPACE_UPDATE',
|
||||
'SUBSPACE_DELETE',
|
||||
'ASSIGN_DEVICE_TO_SUBSPACE',
|
||||
'DELETE_DEVICE_FROM_SUBSPACE',
|
||||
'VIEW_DEVICE_WIZARD',
|
||||
'VIEW_DEVICE_IN_SUBSPACE',
|
||||
'VIEW_DEVICE_IN_SPACE',
|
||||
'UPDATE_DEVICE_IN_SUBSPACE',
|
||||
'ASSIGN_DEVICE_TO_SPACE',
|
||||
'AUTOMATION_VIEW',
|
||||
'AUTOMATION_ADD',
|
||||
'AUTOMATION_UPDATE',
|
||||
'AUTOMATION_DELETE',
|
||||
'AUTOMATION_CONTROL',
|
||||
'SCENES_VIEW',
|
||||
'SCENES_ADD',
|
||||
'SCENES_UPDATE',
|
||||
'SCENES_DELETE',
|
||||
'SCENES_CONTROL',
|
||||
'VISITOR_PASSWORD_VIEW',
|
||||
'VISITOR_PASSWORD_ADD',
|
||||
'USER_ADD',
|
||||
],
|
||||
[RoleType.ADMIN]: [
|
||||
'DEVICE_SINGLE_CONTROL',
|
||||
'DEVICE_VIEW',
|
||||
'DEVICE_DELETE',
|
||||
'DEVICE_UPDATE',
|
||||
'DEVICE_BATCH_CONTROL',
|
||||
'COMMUNITY_VIEW',
|
||||
'COMMUNITY_ADD',
|
||||
'COMMUNITY_UPDATE',
|
||||
'COMMUNITY_DELETE',
|
||||
'FIRMWARE_CONTROL',
|
||||
'SPACE_VIEW',
|
||||
'SPACE_ADD',
|
||||
'SPACE_UPDATE',
|
||||
'SPACE_DELETE',
|
||||
'SPACE_MODULE_ADD',
|
||||
'ASSIGN_USER_TO_SPACE',
|
||||
'DELETE_USER_FROM_SPACE',
|
||||
'SUBSPACE_VIEW',
|
||||
'SUBSPACE_ADD',
|
||||
'SUBSPACE_UPDATE',
|
||||
'SUBSPACE_DELETE',
|
||||
'ASSIGN_DEVICE_TO_SUBSPACE',
|
||||
'DELETE_DEVICE_FROM_SUBSPACE',
|
||||
'VIEW_DEVICE_WIZARD',
|
||||
'VIEW_DEVICE_IN_SUBSPACE',
|
||||
'VIEW_DEVICE_IN_SPACE',
|
||||
'UPDATE_DEVICE_IN_SUBSPACE',
|
||||
'ASSIGN_DEVICE_TO_SPACE',
|
||||
'AUTOMATION_VIEW',
|
||||
'AUTOMATION_ADD',
|
||||
'AUTOMATION_UPDATE',
|
||||
'AUTOMATION_DELETE',
|
||||
'AUTOMATION_CONTROL',
|
||||
'SCENES_VIEW',
|
||||
'SCENES_ADD',
|
||||
'SCENES_UPDATE',
|
||||
'SCENES_DELETE',
|
||||
'SCENES_CONTROL',
|
||||
'VISITOR_PASSWORD_VIEW',
|
||||
'VISITOR_PASSWORD_ADD',
|
||||
'USER_ADD',
|
||||
],
|
||||
[RoleType.SPACE_MEMBER]: [
|
||||
'DEVICE_SINGLE_CONTROL',
|
||||
'DEVICE_VIEW',
|
||||
'SPACE_VIEW',
|
||||
'SUBSPACE_VIEW',
|
||||
'VIEW_DEVICE_WIZARD',
|
||||
'VIEW_DEVICE_IN_SUBSPACE',
|
||||
'VIEW_DEVICE_IN_SPACE',
|
||||
'AUTOMATION_VIEW',
|
||||
'AUTOMATION_CONTROL',
|
||||
'SCENES_VIEW',
|
||||
'SCENES_CONTROL',
|
||||
'VISITOR_PASSWORD_VIEW',
|
||||
],
|
||||
[RoleType.SPACE_OWNER]: [
|
||||
'DEVICE_SINGLE_CONTROL',
|
||||
'DEVICE_VIEW',
|
||||
'FIRMWARE_CONTROL',
|
||||
'FIRMWARE_VIEW',
|
||||
'SPACE_VIEW',
|
||||
'SPACE_MEMBER_ADD',
|
||||
'SUBSPACE_VIEW',
|
||||
'SUBSPACE_ADD',
|
||||
'SUBSPACE_UPDATE',
|
||||
'SUBSPACE_DELETE',
|
||||
'AUTOMATION_VIEW',
|
||||
'AUTOMATION_ADD',
|
||||
'AUTOMATION_UPDATE',
|
||||
'AUTOMATION_DELETE',
|
||||
'AUTOMATION_CONTROL',
|
||||
'SCENES_VIEW',
|
||||
'SCENES_ADD',
|
||||
'SCENES_UPDATE',
|
||||
'SCENES_DELETE',
|
||||
'SCENES_CONTROL',
|
||||
'VISITOR_PASSWORD_VIEW',
|
||||
'VISITOR_PASSWORD_ADD',
|
||||
'VISITOR_PASSWORD_UPDATE',
|
||||
'VISITOR_PASSWORD_DELETE',
|
||||
],
|
||||
};
|
||||
Reference in New Issue
Block a user