42 lines
987 B
Python
42 lines
987 B
Python
# -*- coding = utf-8 -*-
|
|
# @Time : 2025/2/13 下午5:01
|
|
# @File : schema.py
|
|
# @Software : PyCharm
|
|
# @Author : xingc
|
|
# @Desc :
|
|
from typing import Optional, Literal
|
|
|
|
from pydantic import BaseModel, conint
|
|
|
|
from core.base.schema import SupportPlatformType, PlatformSourceType
|
|
|
|
|
|
class Card(BaseModel):
|
|
cert_number: str
|
|
card_year: conint(gt=0, le=2099)
|
|
card_brand: Optional[str] = None
|
|
card_score: Optional[float] = None
|
|
auto_score: Optional[float] = None
|
|
card_name: str
|
|
card_number: Optional[str] = None
|
|
card_type: Optional[str] = None
|
|
card_picture: Optional[dict] = {}
|
|
card_spare_picture: Optional[dict] = {}
|
|
source: SupportPlatformType
|
|
|
|
|
|
class UpdateCard(BaseModel):
|
|
purchase_price: float
|
|
display_price: float
|
|
|
|
|
|
class CardOut(Card, UpdateCard):
|
|
card_year: int
|
|
source: PlatformSourceType
|
|
purchase_price: Optional[float] = None
|
|
display_price: Optional[float] = None
|
|
|
|
|
|
class DeleteCardIn(BaseModel):
|
|
card_ids: list[int]
|