mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-05-09 15:05:26 +03:00
use hasFullCameraAccess for group filtering
This commit is contained in:
parent
e9268c1b59
commit
98f2736ccf
@ -89,6 +89,7 @@ export function CameraGroupSelector({ className }: CameraGroupSelectorProps) {
|
|||||||
const { t } = useTranslation(["components/camera"]);
|
const { t } = useTranslation(["components/camera"]);
|
||||||
const { data: config } = useSWR<FrigateConfig>("config");
|
const { data: config } = useSWR<FrigateConfig>("config");
|
||||||
const allowedCameras = useAllowedCameras();
|
const allowedCameras = useAllowedCameras();
|
||||||
|
const hasFullCameraAccess = useHasFullCameraAccess();
|
||||||
const isAdmin = useIsAdmin();
|
const isAdmin = useIsAdmin();
|
||||||
|
|
||||||
// tooltip
|
// tooltip
|
||||||
@ -125,7 +126,7 @@ export function CameraGroupSelector({ className }: CameraGroupSelectorProps) {
|
|||||||
const allGroups = Object.entries(config.camera_groups);
|
const allGroups = Object.entries(config.camera_groups);
|
||||||
|
|
||||||
// If custom role, filter out groups where user has no accessible cameras
|
// If custom role, filter out groups where user has no accessible cameras
|
||||||
if (!isAdmin) {
|
if (!hasFullCameraAccess) {
|
||||||
return allGroups
|
return allGroups
|
||||||
.filter(([, groupConfig]) => {
|
.filter(([, groupConfig]) => {
|
||||||
// Check if user has access to at least one camera in this group
|
// Check if user has access to at least one camera in this group
|
||||||
@ -137,7 +138,7 @@ export function CameraGroupSelector({ className }: CameraGroupSelectorProps) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return allGroups.sort((a, b) => a[1].order - b[1].order);
|
return allGroups.sort((a, b) => a[1].order - b[1].order);
|
||||||
}, [config, allowedCameras, isAdmin]);
|
}, [config, allowedCameras, hasFullCameraAccess]);
|
||||||
|
|
||||||
// add group
|
// add group
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user