learnhouse/apps/api/src/db/organizations.py

48 lines
1 KiB
Python

from typing import Optional
from pydantic import BaseModel
from sqlmodel import Field, SQLModel
from src.db.roles import RoleRead
from src.db.organization_config import OrganizationConfig
class OrganizationBase(SQLModel):
name: str
description: Optional[str]
slug: str
email: str
logo_image: Optional[str]
thumbnail_image: Optional[str]
class Organization(OrganizationBase, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
org_uuid: str = ""
creation_date: str = ""
update_date: str = ""
class OrganizationWithConfig(BaseModel):
org: Organization
config: OrganizationConfig
class OrganizationUpdate(OrganizationBase):
pass
class OrganizationCreate(OrganizationBase):
pass
class OrganizationRead(OrganizationBase):
id: int
org_uuid: str
config: Optional[OrganizationConfig | dict]
creation_date: str
update_date: str
class OrganizationUser(BaseModel):
from src.db.users import UserRead
user: UserRead
role: RoleRead