Files
rehearshalhub/api/src/rehearsalhub/schemas/member.py
Mistral Vibe 411414b9c1 Fixing build
2026-04-10 10:23:32 +02:00

36 lines
999 B
Python
Executable File

import uuid
from datetime import datetime
from pydantic import BaseModel, ConfigDict, EmailStr
class MemberBase(BaseModel):
email: EmailStr
display_name: str
class MemberRead(MemberBase):
model_config = ConfigDict(from_attributes=True)
id: uuid.UUID
avatar_url: str | None = None
nc_username: str | None = None
nc_url: str | None = None
nc_configured: bool = False # True if nc_url + nc_username + nc_password are all set
created_at: datetime
@classmethod
def from_model(cls, m: object) -> "MemberRead":
obj = cls.model_validate(m)
obj.nc_configured = bool(
m.nc_url and m.nc_username and m.nc_password
)
return obj
class MemberSettingsUpdate(BaseModel):
display_name: str | None = None
nc_url: str | None = None
nc_username: str | None = None
nc_password: str | None = None # send null to clear, omit to leave unchanged
avatar_url: str | None = None # URL to user's avatar image