from typing import Optional,List
from uuid import UUID
from pydantic import BaseModel
from schema.user_schema import UserSchema
from schema.common_schema import PaginationSchema

class OrganizationCreateRequest(BaseModel):
    name:str
    slug:Optional[str]
    logo_url:Optional[str]
    status:Optional[str]=None
    owner_id:UUID


    class Config:
        from_attributes = True
        from_orm=True

class OrganizationListResponse(BaseModel):
    id:UUID
    name:str
    logo_url:Optional[str]
    status:Optional[str]=None
    slug:Optional[str]=None
    owner:UserSchema

    class Config:
        from_attributes = True
        from_orm=True

class OrganizationCreateResponse(BaseModel):
    message:str

class ListOfAllOrganizations(BaseModel):
    data:List[OrganizationListResponse]
    pagination:PaginationSchema