mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-04-15 19:42:08 +03:00
use validator to prevent reserved and empty roles from being assigned
This commit is contained in:
parent
f0dd9a7176
commit
e888a08fd1
@ -48,6 +48,21 @@ class AuthConfig(FrigateBaseModel):
|
|||||||
raise ValueError(
|
raise ValueError(
|
||||||
f"Invalid role name '{role}'. Must be alphanumeric with underscores."
|
f"Invalid role name '{role}'. Must be alphanumeric with underscores."
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Ensure 'admin' and 'viewer' are not used as custom role names
|
||||||
|
reserved_roles = {"admin", "viewer"}
|
||||||
|
if v.keys() & reserved_roles:
|
||||||
|
raise ValueError(
|
||||||
|
f"Reserved roles {reserved_roles} cannot be used as custom roles."
|
||||||
|
)
|
||||||
|
|
||||||
|
# Ensure no role has an empty camera list
|
||||||
|
for role, allowed_cameras in v.items():
|
||||||
|
if not allowed_cameras:
|
||||||
|
raise ValueError(
|
||||||
|
f"Role '{role}' has no cameras assigned. Custom roles must have at least one camera."
|
||||||
|
)
|
||||||
|
|
||||||
return v
|
return v
|
||||||
|
|
||||||
@model_validator(mode="after")
|
@model_validator(mode="after")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user