PermissionsManager - IEEE-Team-3/map GitHub Wiki
The Permissions Manager allows administrators to manage who has access to various features and areas of the app. This includes configuring access to teams, tasks, chats, and other resources.
- Team Access: Manage which users or roles can access and manage specific teams.
- Task Permissions: Control who can view, create, assign, or complete tasks.
- Chat Permissions: Set up who can join or manage team chats.
- Role-Based Access Control (RBAC): Manage roles and the permissions associated with each role.
const PermissionsSchema = new Schema({
teamId: { type: Schema.Types.ObjectId, ref: 'Team' },
role: { type: String, enum: ['Admin', 'Member', 'Guest'] },
permissions: {
view: { type: Boolean, default: true },
create: { type: Boolean, default: false },
manage: { type: Boolean, default: false },
},
});
The UI will allow admins to configure permissions for each team, task, and chat. It will display a table with checkboxes or toggle switches for each permission.
+-------------------------------------------------+
| Permissions Manager |
| +------------+--------+--------+----------+----+ |
| | Team Name | Role | View | Edit | Add | |
| +------------+--------+--------+----------+----+ |
| | Team 1 | Admin | [x] | [x] | [ ] | |
| | Team 1 | Member | [x] | [ ] | [x] | |
+-------------------------------------------------+