frigate/web/src/pages
Josh Hawkins ed1e3a7c9a
Enhance user roles to limit camera access (#20024)
* update config for roles and add validator

* ensure admin and viewer are never overridden

* add class method to user to retrieve all allowed cameras

* enforce config roles in auth api endpoints

* add camera access api dependency functions

* protect review endpoints

* protect preview endpoints

* rename param name for better fastapi injection matching

* remove unneeded

* protect export endpoints

* protect event endpoints

* protect media endpoints

* update auth hook for allowed cameras

* update default app view

* ensure anonymous user always returns all cameras

* limit cameras in explore

* cameras is already a list

* limit cameras in review/history

* limit cameras in live view

* limit cameras in camera groups

* only show face library and classification in sidebar for admin

* remove check in delete reviews

since admin role is required, no need to check camera access. fixes failing test

* pass request with camera access for tests

* more async

* camera access tests

* fix proxy auth tests

* allowed cameras for review tests

* combine event tests and refactor for camera access

* fix post validation for roles

* don't limit roles in create user dialog

* fix triggers endpoints

no need to run require camera access dep since the required role is admin

* fix type

* create and edit role dialogs

* delete role dialog

* fix role change dialog

* update settings view for roles

* i18n changes

* minor spacing tweaks

* docs

* use badges and camera name label component

* clarify docs

* display all cameras badge for admin and viewer

* i18n fix

* use validator to prevent reserved and empty roles from being assigned

* split users and roles into separate tabs in settings

* tweak docs

* clarify docs

* change icon

* don't memoize roles

always recalculate on component render
2025-09-12 05:19:29 -06:00
..
AccessDenied.tsx feat: add i18n (translation/localization) (#16877) 2025-03-16 10:36:20 -05:00
ClassificationModel.tsx Classification Model UI (#18571) 2025-08-16 10:20:33 -05:00
ConfigEditor.tsx Cleanup 2025-08-16 10:20:33 -05:00
Events.tsx feat: add i18n (translation/localization) (#16877) 2025-03-16 10:36:20 -05:00
Explore.tsx Consolidate documentation i18n keys (#19714) 2025-08-22 17:19:00 -05:00
Exports.tsx Constrain width of export preview dialog (#19908) 2025-09-04 08:08:07 -05:00
FaceLibrary.tsx Semantic Search Triggers (#18969) 2025-08-16 10:20:33 -05:00
Live.tsx Enhance user roles to limit camera access (#20024) 2025-09-12 05:19:29 -06:00
LoginPage.tsx Face setup wizard (#17203) 2025-03-17 13:50:13 -06:00
Logs.tsx Implement smart capitalization based on locale (#17860) 2025-04-22 16:21:09 -06:00
NoMatch.tsx feat: add i18n (translation/localization) (#16877) 2025-03-16 10:36:20 -05:00
Settings.tsx Enhance user roles to limit camera access (#20024) 2025-09-12 05:19:29 -06:00
System.tsx Implement smart capitalization based on locale (#17860) 2025-04-22 16:21:09 -06:00
UIPlayground.tsx object path plotter per camera with time selection dropdown (#16676) 2025-02-18 20:55:16 -07:00