Princeaka's picture
Upload 14 files
220d87f verified
raw
history blame
880 Bytes
from pydantic import BaseModel, EmailStr, Field
from typing import List, Optional
from datetime import datetime
class UserCreate(BaseModel):
email: EmailStr
password: str = Field(min_length=6)
class UserOut(BaseModel):
id: int
email: EmailStr
created_at: datetime
class Config:
from_attributes = True
class Token(BaseModel):
access_token: str
token_type: str = "bearer"
class LoginIn(BaseModel):
email: EmailStr
password: str
class APIKeyOut(BaseModel):
key: str
revoked: bool
created_at: datetime
class Config:
from_attributes = True
class KeyRevokeIn(BaseModel):
key: str
class ChatIn(BaseModel):
message: str
class ChatOut(BaseModel):
reply: str
class ChatMessageOut(BaseModel):
role: str
content: str
created_at: datetime
class Config:
from_attributes = True