Skip to content

User Management

Auto-generated by IssAssist Documentation Bootstrap ยท 2026-06-25 Review this page and remove [TODO: verify] markers as you verify each detail.


User Management Guide for IssAssist Administrators

As an IssAssist administrator, you can manage user roles and permissions to ensure that users have the necessary access to perform their tasks efficiently.

User Roles and Permissions


IssAssist has three primary user roles:

  • Admin: Full administrative access to all features.
  • Operator: Access to most features with limited administrative capabilities.
  • ReadOnly: Read-only access to certain data, without the ability to modify or delete.

These roles are defined in our schema as follows:

// src/schema/user.js

const UserSchema = mongoose.Schema({
  role: {
    type: String,
    enum: ['admin', 'operator', 'read_only'],
    default: 'operator',
  },
  permissions: {
    read: true,
    write: false,
    delete: false,
  },
});

module.exports = UserSchema;

Creating a New User


To create a new user, follow these steps:

  1. Log in to the IssAssist web GUI as an administrator.
  2. Navigate to User Management > Create New User
  3. Fill in the required fields:
    • Username: A unique username for the user (e.g., "john.doe").
    • Email: The user's email address (e.g., "johndoe@example.com").
    • Password (optional): Set a password for the user, or leave blank to use the default password generation.
  4. Select the desired role:
    • Admin
    • Operator
    • ReadOnly
  5. Click Create User.

TODO: Verify screenshot placeholders and update with actual screenshots

Setting a User's Role and Permissions


To set a user's role and permissions, follow these steps:

  1. Log in to the IssAssist web GUI as an administrator.
  2. Navigate to User Management > Users
  3. Find the desired user in the list.
  4. Click on the three vertical dots next to the user's name and select Edit User.
  5. In the edit user form, update the role:
    • Select from the dropdown menu: Admin, Operator, or ReadOnly
  6. Update the permissions (if necessary):
    • Toggle the read, write, and delete checkboxes to enable or disable access accordingly.
  7. Click Save Changes

Resetting a User's Password


To reset a user's password, follow these steps:

  1. Log in to the IssAssist web GUI as an administrator.
  2. Navigate to User Management > Users
  3. Find the desired user in the list.
  4. Click on the three vertical dots next to the user's name and select Edit User.
  5. In the edit user form, click the Reset Password button.
  6. Enter a new password for the user (required).
  7. Confirm the new password.
  8. Click Save Changes

Deactivating / Deleting a User


To deactivate or delete a user, follow these steps:

  1. Log in to the IssAssist web GUI as an administrator.
  2. Navigate to User Management > Users
  3. Find the desired user in the list.
  4. Click on the three vertical dots next to the user's name and select Edit User.
  5. In the edit user form, toggle the Deactivate checkbox:
    • Checkmark: Deactivate the user
    • Uncheckmark: Reactivate the user
  6. Click Save Changes

Managing Your Own Profile (Change Password, Preferences)


To manage your own profile, follow these steps:

  1. Log in to the IssAssist web GUI as an administrator.
  2. Navigate to User Management > Profile
  3. Update your:
    • Password: Set a new password for yourself (optional).
    • Preferences: Update any other user preferences.

API-Based User Management


For automation purposes, you can use the following API endpoints:

  • POST /users: Create a new user.
    // src/api/users.js
    
    app.post('/users', async (req, res) => {
      const { username, email, password } = req.body;
      // TO DO: implement logic for creating users
    });
    
  • PUT /users/{userId}: Update an existing user's role and permissions.
    // src/api/users.js
    
    app.put('/users/:userId', async (req, res) => {
      const { userId } = req.params;
      const { role, permissions } = req.body;
      // TO DO: implement logic for updating users
    });
    
  • DELETE /users/{userId}: Deactivate or delete a user.
    // src/api/users.js
    
    app.delete('/users/:userId', async (req, res) => {
      const { userId } = req.params;
      // TO DO: implement logic for deactivating/deleting users
    });
    
    Note that this is just a starting point and may need to be adapted based on the specific requirements of your application.