34 lines
764 B
Python
34 lines
764 B
Python
"""Tenant-related Pydantic schemas."""
|
|
|
|
from datetime import datetime
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class TenantBase(BaseModel):
|
|
"""Base tenant schema."""
|
|
name: str = Field(..., min_length=2, max_length=255)
|
|
description: str | None = None
|
|
|
|
|
|
class TenantCreate(TenantBase):
|
|
"""Schema for creating a tenant."""
|
|
pass
|
|
|
|
|
|
class TenantUpdate(BaseModel):
|
|
"""Schema for updating a tenant."""
|
|
name: str | None = Field(None, min_length=2, max_length=255)
|
|
description: str | None = None
|
|
is_active: bool | None = None
|
|
|
|
|
|
class TenantResponse(TenantBase):
|
|
"""Schema for tenant response."""
|
|
id: int
|
|
is_active: bool
|
|
created_at: datetime
|
|
updated_at: datetime | None
|
|
|
|
class Config:
|
|
from_attributes = True
|