/
CBeredIOk
/
AvitoTech
Обзор
Документация
Войти
/
CBeredIOk
/
AvitoTech
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
app/bid/models.py
41 строка
1 KB
CBeredIOk
initial commit
13 сен 2024, 22:22
13 сен 2024, 22:22
9e56d4f
Код
Авторство
О чём код?
import enum import uuid from sqlalchemy.orm import relationship from sqlalchemy.dialects.postgresql import UUID from sqlalchemy import Column, String, Integer, Enum, ForeignKey, DateTime, func from app.database import Base class BidStatus(enum.Enum): CREATED = "CREATED" PUBLISHED = "PUBLISHED" CANCELED = "CANCELED" class BidDecision(enum.Enum): APPROVED = "APPROVED" REJECTED = "REJECTED" class AuthorType(enum.Enum): ORGANIZATION = 'ORGANIZATION' USER = 'USER' class Bid(Base): __tablename__ = 'bids' id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) name = Column(String(100), nullable=False) description = Column(String(500), nullable=False) status = Column(Enum(BidStatus, name="bid_status_enum"), default=BidStatus.CREATED, nullable=False) decision = Column(Enum(BidDecision, name="bid_decision_enum")) tender_id = Column(UUID(as_uuid=True), ForeignKey('tenders.id'), nullable=False) author_type = Column(Enum(AuthorType, name="author_type_enum"), nullable=False) author_id = Column(UUID(as_uuid=True), nullable=False) version = Column(Integer, default=1, nullable=False) created_at = Column(DateTime, server_default=func.now(), nullable=False) tender = relationship("Tender", back_populates="bids")