57 lines
1.0 KiB
Python

from typing import Optional
from pydantic import BaseModel
from datetime import datetime
import enum
class KYCStatus(str, enum.Enum):
PENDING = "pending"
APPROVED = "approved"
REJECTED = "rejected"
class IDDocumentType(str, enum.Enum):
PASSPORT = "passport"
ID_CARD = "id_card"
DRIVERS_LICENSE = "drivers_license"
class KYCBase(BaseModel):
full_name: str
id_document_type: IDDocumentType
id_document_path: str
selfie_path: str
additional_document_path: Optional[str] = None
rejection_reason: Optional[str] = None
class KYCCreate(KYCBase):
user_id: int
class KYCUpdate(BaseModel):
status: Optional[KYCStatus] = None
rejection_reason: Optional[str] = None
class KYCInDBBase(KYCBase):
id: int
user_id: int
status: KYCStatus
created_at: datetime
updated_at: datetime
class Config:
orm_mode = True
class KYC(KYCInDBBase):
pass
class KYCApprove(BaseModel):
pass
class KYCReject(BaseModel):
rejection_reason: str