feat(message): add comprehensive message system with database migrations and health checks
- Add database migrations for message base table with indexes for efficient querying - Implement rich content support with attachment, embed, and poll tables - Create social features including reactions, bookmarks, mentions, and read states - Add thread management with participant tracking and resolution capabilities - Include article posts with title, cover image, tags, and engagement metrics - Support scheduled messages, stickers, forwards, and interactive components - Fix UUID defaults and ensure proper uniqueness constraints for drafts - Add gRPC health server for imks and health check client for appks connectivity - Replace non-connectable 0.0.0.0 addresses with localhost in service discovery - Normalize addresses during RPC configuration to handle bind address issues
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
-- Align imks-managed IDs with application-generated UUID v7 values and
|
||||
-- make top-level drafts unique when thread_id is NULL.
|
||||
|
||||
BEGIN;
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS uq_message_draft_channel_user_no_thread
|
||||
ON message_draft (channel_id, user_id)
|
||||
WHERE thread_id IS NULL;
|
||||
|
||||
ALTER TABLE message ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_attachment ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_embed ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_embed_field ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_poll ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_poll_option ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_poll_vote ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_pin ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_read_state ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_draft ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_edit ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_article ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_reaction ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_bookmark ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_mention ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_thread ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_thread_participant ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_notification ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_scheduled ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_sticker ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_forward ALTER COLUMN id DROP DEFAULT;
|
||||
ALTER TABLE message_component ALTER COLUMN id DROP DEFAULT;
|
||||
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user