Saltar a contenido

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_ADMIN = "COMPANY_ADMIN"
    REGULAR_USER = "REGULAR_USER"
    AUDITOR = "AUDITOR"
    EXECUTIVE = "EXECUTIVE"
    BUSINESS_ANALYST = "BUSINESS_ANALYST"
    ANONYMOUS_USER = "ANONYMOUS_USER"

    ALL_ROLES: list[str] = [
        "GOTU",
        "COMPANY_ADMIN",
        "REGULAR_USER",
        "AUDITOR",
        "EXECUTIVE",
        "BUSINESS_ANALYST",
        "ANONYMOUS_USER",
        "ANONYMOUS_USER",
    ]

Ejemplo

1
2
3
4
5
6
7
8
from app.common.auth.roles import AuthRoles
...

match roles:
    case AuthRoles.COMPANY_ADMIN:
        filter = {"company_id": company_id, "status": DefaultStatus.Active}
    case _:
        return response(403, HTTPStatus.FORBIDDEN, error="invalid role")