/
killogram
/
E-Analyzer
Обзор
Документация
Войти
/
killogram
/
E-Analyzer
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
api/schemas.py
151 строка
4 KB
Korabliov Kirill
Refactor add purchase feachure
01 июн 2025, 23:54
01 июн 2025, 23:54
9d93c35
Код
Авторство
О чём код?
# api/schemas.py from pydantic import BaseModel from typing import Optional, List, Dict from datetime import datetime class PurchaseCreate(BaseModel): registry_number: str stage: str method: str name: str law: str okpd2: Optional[str] = None extra_data: Optional[dict] = None class PriceCreate(BaseModel): purchase_id: int initial_price: float currency: str contract_price: Optional[float] = None contract_currency: Optional[str] = None class DateCreate(BaseModel): purchase_id: int placement_date: datetime update_date: datetime application_start_date: Optional[datetime] = None application_end_date: Optional[datetime] = None class CustomerCreate(BaseModel): name: str extra_data: Optional[dict] = None class TrackedPurchaseCreate(BaseModel): purchase_id: int status: str class PurchaseBase(BaseModel): registry_number: str stage: str method: str name: str law: str okpd2: Optional[str] = None extra_data: Optional[Dict] = None class PurchaseCreate(PurchaseBase): created_at: Optional[datetime] = None updated_at: Optional[datetime] = None class Purchase(PurchaseBase): id: int created_at: Optional[datetime] = None updated_at: Optional[datetime] = None class Config: from_attributes = True class PriceBase(BaseModel): purchase_id: int initial_price: float currency: str contract_price: Optional[float] = None contract_currency: Optional[str] = None class Price(PriceBase): id: int class Config: from_attributes = True class DateBase(BaseModel): purchase_id: int placement_date: datetime update_date: datetime application_start_date: Optional[datetime] = None application_end_date: Optional[datetime] = None class Date(DateBase): id: int class Config: from_attributes = True class CustomerBase(BaseModel): name: str extra_data: Optional[Dict] = None class CustomerCreate(CustomerBase): pass class Customer(CustomerBase): id: int class Config: from_attributes = True class PurchaseCustomerCreate(BaseModel): purchase_id: int customer_name: str # Используем name вместо customer_id для удобства создания class PurchaseCustomer(BaseModel): id: int purchase_id: int customer_id: int class Config: from_attributes = True # Новая модель для запроса отслеживания закупки class TrackPurchaseRequest(BaseModel): purchase_id: int status: str class Config: from_attributes = True class AddPurchaseForm(BaseModel): registry_number: str stage: str method: str name: str law: str okpd2: Optional[str] = None initial_price: float currency: str contract_price: Optional[float] = None contract_currency: Optional[str] = None placement_date: datetime update_date: datetime application_start_date: Optional[datetime] = None application_end_date: Optional[datetime] = None customer_name: str class AddPurchaseForm(BaseModel): registry_number: str stage: str method: str name: str law: str okpd2: Optional[str] = None initial_price: float currency: str contract_price: Optional[float] = None contract_currency: Optional[str] = None placement_date: datetime update_date: datetime application_start_date: Optional[datetime] = None application_end_date: Optional[datetime] = None customer_name: str