2024-02-06 13:21:13 +08:00
|
|
|
|
2023-05-15 08:51:32 +08:00
|
|
|
from extensions.ext_database import db
|
2024-08-13 14:44:10 +08:00
|
|
|
|
|
|
|
from .model import Message
|
|
|
|
from .types import StringUUID
|
2023-05-15 08:51:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
class SavedMessage(db.Model):
|
|
|
|
__tablename__ = 'saved_messages'
|
|
|
|
__table_args__ = (
|
|
|
|
db.PrimaryKeyConstraint('id', name='saved_message_pkey'),
|
2023-05-25 15:54:45 +08:00
|
|
|
db.Index('saved_message_message_idx', 'app_id', 'message_id', 'created_by_role', 'created_by'),
|
2023-05-15 08:51:32 +08:00
|
|
|
)
|
|
|
|
|
2024-04-29 11:58:17 +08:00
|
|
|
id = db.Column(StringUUID, server_default=db.text('uuid_generate_v4()'))
|
|
|
|
app_id = db.Column(StringUUID, nullable=False)
|
|
|
|
message_id = db.Column(StringUUID, nullable=False)
|
2023-05-25 15:54:45 +08:00
|
|
|
created_by_role = db.Column(db.String(255), nullable=False, server_default=db.text("'end_user'::character varying"))
|
2024-04-29 11:58:17 +08:00
|
|
|
created_by = db.Column(StringUUID, nullable=False)
|
2023-05-15 08:51:32 +08:00
|
|
|
created_at = db.Column(db.DateTime, nullable=False, server_default=db.text('CURRENT_TIMESTAMP(0)'))
|
|
|
|
|
|
|
|
@property
|
|
|
|
def message(self):
|
|
|
|
return db.session.query(Message).filter(Message.id == self.message_id).first()
|
|
|
|
|
|
|
|
|
|
|
|
class PinnedConversation(db.Model):
|
|
|
|
__tablename__ = 'pinned_conversations'
|
|
|
|
__table_args__ = (
|
|
|
|
db.PrimaryKeyConstraint('id', name='pinned_conversation_pkey'),
|
2023-05-25 15:54:45 +08:00
|
|
|
db.Index('pinned_conversation_conversation_idx', 'app_id', 'conversation_id', 'created_by_role', 'created_by'),
|
2023-05-15 08:51:32 +08:00
|
|
|
)
|
|
|
|
|
2024-04-29 11:58:17 +08:00
|
|
|
id = db.Column(StringUUID, server_default=db.text('uuid_generate_v4()'))
|
|
|
|
app_id = db.Column(StringUUID, nullable=False)
|
|
|
|
conversation_id = db.Column(StringUUID, nullable=False)
|
2023-05-25 15:54:45 +08:00
|
|
|
created_by_role = db.Column(db.String(255), nullable=False, server_default=db.text("'end_user'::character varying"))
|
2024-04-29 11:58:17 +08:00
|
|
|
created_by = db.Column(StringUUID, nullable=False)
|
2023-05-15 08:51:32 +08:00
|
|
|
created_at = db.Column(db.DateTime, nullable=False, server_default=db.text('CURRENT_TIMESTAMP(0)'))
|