e-picsa / picsa-apps

Monorepo for building tools to support E-PICSA Apps
https://picsa.app
GNU General Public License v3.0
5 stars 1 forks source link

Feat(dashboard) role-based user permissions #258

Closed chrismclarke closed 3 months ago

chrismclarke commented 3 months ago

Description

This PR lays the groundwork for a role-based permission system that will be used to provide fine-grained controls over which users can access specific dashboard features.

Most of the work is in the backend to create database tables and authentication system triggers that link a signed-in user to available permissions.

Some initial UI elements have been added including a user profile which shows available deployment permissions, and reusable code to handle hiding from view specific features dependent on user role (not fully implement for all existing pages)

Main Changes

Follow-ups (TODO)

Discussion

Preview

Link to app preview if relevant

Screenshots / Videos

Example - sign-in and sign-out, profile display page with available deployments and specific per-deployment permissions. Example UI update to hide Deployments navbar menu item when user does not have deployments admin permission

Screenity video - Apr 1, 2024.webm