feat: assignment of employees to deals

This commit is contained in:
2024-12-20 00:27:26 +04:00
parent a791f7edf8
commit c65ca39d08
5 changed files with 119 additions and 3 deletions

View File

@@ -108,6 +108,8 @@ class Deal(BaseModel):
pallets: Mapped[list[Pallet]] = relationship(back_populates='deal', lazy='selectin')
boxes: Mapped[list[Box]] = relationship(back_populates='deal', lazy='selectin')
assignments: Mapped[list['Assignment']] = relationship(back_populates='deal', lazy='selectin')
class DealStatusHistory(BaseModel):
__tablename__ = 'deals_status_history'
@@ -126,3 +128,14 @@ class DealStatusHistory(BaseModel):
next_status_deadline = Column(DateTime,
comment='Дедлайн до которого сделку нужно перевести на следующий этап')
comment = Column(String, nullable=False, comment='Коментарий', server_default='')
class Assignment(BaseModel):
__tablename__ = 'assignments'
user_id: Mapped[int] = mapped_column(ForeignKey('users.id'), primary_key=True)
user: Mapped['User'] = relationship('User', back_populates='assignments', lazy='selectin')
deal_id: Mapped[int] = mapped_column(ForeignKey('deals.id'), primary_key=True)
deal: Mapped[Deal] = relationship('Deal', back_populates='assignments', lazy='selectin')
created_at: Mapped[datetime] = mapped_column()