21 lines
508 B
Python
Raw Normal View History

from enum import Enum
2024-11-22 18:56:22 -05:00
from typing import Optional, Set
2024-11-22 18:56:22 -05:00
from pydantic import BaseModel
class EntityType(str, Enum):
USER = "user"
DEVELOPER = "developer"
class AuthContext(BaseModel):
"""JWT decoded context"""
2024-11-22 18:56:22 -05:00
entity_type: EntityType
entity_id: str # uuid
app_id: Optional[str] = None # uuid, only for developers
# TODO: remove permissions, not required here.
2024-11-22 18:56:22 -05:00
permissions: Set[str] = {"read"}
user_id: Optional[str] = None # ID of the user who owns the app/entity