Roles
Los roles predefinidos en Callisto, se encuentran en el archivo app/common/auth/roles.py
Definición
| class AuthRoles(str, Enum):
GOTU = "GOTU" # God Of The Universe
COMPANY_OWNER = "COMPANY_OWNER"
REGULAR_USER = "REGULAR_USER"
AUDITOR = "AUDITOR"
EXECUTIVE = "EXECUTIVE"
BUSINESS_ANALYST = "BUSINESS_ANALYST"
ANONYMOUS_USER = "ANONYMOUS_USER"
ALL_ROLES: list[str] = [
"GOTU",
"COMPANY_OWNER",
"REGULAR_USER",
"AUDITOR",
"EXECUTIVE",
"BUSINESS_ANALYST",
"ANONYMOUS_USER",
]
|
Ejemplo
| from app.common.auth.roles import AuthRoles
...
match roles:
case AuthRoles.COMPANY_OWNER:
filter = {"company_id": company_id, "status": DefaultStatus.Active}
case _:
return response(403, HTTPStatus.FORBIDDEN, error="invalid role")
|
Para tener en cuenta
Los nombres de roles definidos en esta clase, son utilizados en diferentes partes de Callisto, por lo que es importante, si los cambia, que correspondan con los nombres de roles que definas para tu proyecto.