45 lines
982 B
Python
45 lines
982 B
Python
#!/usr/bin/env python3
|
|
# -*- coding:utf-8 -*-
|
|
|
|
from datetime import datetime
|
|
|
|
from pydantic import BaseModel
|
|
from pydantic.v1 import validator
|
|
|
|
|
|
class FormBase(BaseModel):
|
|
base_prompt: str | None = None
|
|
prompt: str | None = None
|
|
p_choice: str | None = None
|
|
role: str | None = None
|
|
name: str | None = None
|
|
uuid: str | None = None
|
|
desc: str | None = None
|
|
price: float | None = None
|
|
favorable: str | None = None
|
|
remark: str | None = None
|
|
otherPrompt: str | None = None
|
|
lang: str | None = None
|
|
type: str | None = None
|
|
|
|
|
|
class Form(FormBase):
|
|
id: int
|
|
created_at: datetime = datetime.now()
|
|
updated_at: datetime = datetime.now()
|
|
# custom input conversion for that field
|
|
_normalize_datetimes = validator(
|
|
"created_at", "updated_at",
|
|
allow_reuse=True)(lambda v: v.timestamp())
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
class FormCreate(FormBase):
|
|
...
|
|
|
|
|
|
class FormUpdate(FormBase):
|
|
...
|