35 lines
786 B
Python
35 lines
786 B
Python
from datetime import datetime
|
|
from typing import Optional
|
|
|
|
from pydantic import BaseModel, ConfigDict, EmailStr
|
|
|
|
|
|
class CustomerBase(BaseModel):
|
|
name: str
|
|
contact_email: Optional[EmailStr] = None
|
|
is_active: int = 1
|
|
quota_instances: Optional[int] = None
|
|
notes: Optional[str] = None
|
|
|
|
|
|
class CustomerCreate(CustomerBase):
|
|
pass
|
|
|
|
|
|
class CustomerUpdate(BaseModel):
|
|
name: Optional[str] = None
|
|
contact_email: Optional[EmailStr] = None
|
|
is_active: Optional[int] = None
|
|
quota_instances: Optional[int] = None
|
|
notes: Optional[str] = None
|
|
|
|
|
|
class CustomerOut(CustomerBase):
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
id: int
|
|
created_at: datetime
|
|
updated_at: datetime
|
|
credential_names: list[str] = []
|
|
usernames: list[str] = []
|