openvpn-endpoint-server/server/app/schemas/tenant.py

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