PermissionsManager - IEEE-Team-3/map GitHub Wiki

Overview

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.

Key Permissions

  • 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.

Example Permission Configuration

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 },
  },
});

Example Permissions Manager UI

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] | |
+-------------------------------------------------+
⚠️ **GitHub.com Fallback** ⚠️