feat(chat): 聊天单向删除
This commit is contained in:
@@ -97,7 +97,7 @@ class User(BaseModel, DateModel):
|
||||
foreign_keys='UserFollows.followed_id',
|
||||
cascade='all, delete-orphan'
|
||||
)
|
||||
chats: Mapped[List['Chat']] = relationship(secondary='chat_participant', back_populates='users')
|
||||
chats: Mapped[List['Chat']] = relationship(secondary='system_chat_participant', back_populates='users')
|
||||
messages: Mapped[List['Message']] = relationship(back_populates='user')
|
||||
read_statuses: Mapped[List['ReadStatus']] = relationship(back_populates='user')
|
||||
|
||||
@@ -261,7 +261,7 @@ class Chat(BaseModel, DateModel):
|
||||
|
||||
guid: Mapped[uuid.UUID] = mapped_column(String(36), nullable=True, default=lambda: str(uuid.uuid4()))
|
||||
|
||||
users: Mapped[List['User']] = relationship(secondary='chat_participant', back_populates='chats')
|
||||
users: Mapped[List['User']] = relationship(secondary='system_chat_participant', back_populates='chats')
|
||||
messages: Mapped[List['Message']] = relationship(back_populates='chat', cascade='all,delete')
|
||||
is_deleted: Mapped[bool] = mapped_column(Boolean, default=False)
|
||||
read_statuses: Mapped[List['ReadStatus']] = relationship(back_populates='chat', cascade='all,delete')
|
||||
@@ -320,17 +320,18 @@ class PointsTransaction(BaseModel, DateModel):
|
||||
user_id: Mapped[int] = mapped_column(Integer, comment='用户id')
|
||||
transaction_type: Mapped[int] = mapped_column(Integer, comment='交易类型:1-充值 2-消费 3-赠送 4-过期 5-系统调整')
|
||||
product_id: Mapped[int] = mapped_column(Integer, nullable=True, comment='关联产品id')
|
||||
points : Mapped[int] = mapped_column(Integer, comment='积分数量(正数表示增加,负数表示减少)')
|
||||
balance : Mapped[int] = mapped_column(Integer, comment='交易后余额')
|
||||
status : Mapped[int] = mapped_column(Integer, default=1, comment='状态:0-无效 1-有效 2-已撤销')
|
||||
points: Mapped[int] = mapped_column(Integer, comment='积分数量(正数表示增加,负数表示减少)')
|
||||
balance: Mapped[int] = mapped_column(Integer, comment='交易后余额')
|
||||
status: Mapped[int] = mapped_column(Integer, default=1, comment='状态:0-无效 1-有效 2-已撤销')
|
||||
description: Mapped[str] = mapped_column(String(255), nullable=True, comment='交易描述')
|
||||
|
||||
|
||||
|
||||
chat_participant = Table(
|
||||
'chat_participant',
|
||||
BaseModel.metadata,
|
||||
Column('user_id', Integer, ForeignKey('system_users.user_id'), primary_key=True),
|
||||
Column('chat_id', Integer, ForeignKey('system_chats.id'), primary_key=True),
|
||||
comment='聊天参与者关联表'
|
||||
)
|
||||
class ChatParticipant(BaseModel):
|
||||
__tablename__ = 'system_chat_participant'
|
||||
__table_args__ = (
|
||||
{'comment': '聊天参与者关联表'}
|
||||
)
|
||||
id: None = None
|
||||
user_id: Mapped[int] = mapped_column(Integer, ForeignKey('system_users.user_id'), primary_key=True)
|
||||
chat_id: Mapped[int] = mapped_column(Integer, ForeignKey('system_chats.id'), primary_key=True)
|
||||
is_deleted: Mapped[bool] = mapped_column(Boolean, default=False)
|
||||
|
||||
Reference in New Issue
Block a user