501stLegionA3 / FiveOhFirstDataCore

A Web App designed to manage the 501st Legion StarSim Roster.
https://dc.501stlegion-a3.com/
MIT License
8 stars 12 forks source link

Implement the Dynamic Permissions System #339

Closed Soyvolon closed 2 years ago

Soyvolon commented 2 years ago

Summary

Implement the dynamic permission system from the old Data Core into the new project.

Details

The dynamic permissions system should support determining access to pages based on:

As the data will need to be loaded for checking, an initial load of all user data when they log in should be performed. Any updates to values on the account should occur when they reload the page, but never when navigating pages as that would increase load times.

Permission settings should only be updated when the permissions themselves are updated and should be cached to prevent long load times for individual pages.

The old routing component logic can be reused, but due to CSS changes the components themselves will need to be rebuilt. These components will be tied directly into the core router, and all components that use it. Each individual component will allow for customization of permissions to control who views what.