Reapply "Build post chat and attachment workflows"
This reverts commit 5bc4a551af.
This commit is contained in:
11
backend/migrations/005_refresh_tokens.sql
Normal file
11
backend/migrations/005_refresh_tokens.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
CREATE TABLE IF NOT EXISTS refresh_tokens (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
token_hash TEXT NOT NULL UNIQUE,
|
||||
expires_at TIMESTAMPTZ NOT NULL,
|
||||
revoked_at TIMESTAMPTZ,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_refresh_tokens_user_id ON refresh_tokens (user_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_refresh_tokens_token_hash ON refresh_tokens (token_hash);
|
||||
11
backend/migrations/006_calendar_item_chat_messages.sql
Normal file
11
backend/migrations/006_calendar_item_chat_messages.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
CREATE TABLE IF NOT EXISTS calendar_item_chat_messages (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
calendar_item_id UUID NOT NULL REFERENCES calendar_items(id) ON DELETE CASCADE,
|
||||
channel TEXT NOT NULL CHECK (channel IN ('external', 'internal')),
|
||||
body TEXT NOT NULL,
|
||||
created_by UUID REFERENCES users(id) ON DELETE SET NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_calendar_item_chat_messages_item_channel
|
||||
ON calendar_item_chat_messages (calendar_item_id, channel, created_at);
|
||||
19
backend/migrations/007_chat_message_features.sql
Normal file
19
backend/migrations/007_chat_message_features.sql
Normal file
@@ -0,0 +1,19 @@
|
||||
ALTER TABLE calendar_item_chat_messages
|
||||
ADD COLUMN IF NOT EXISTS edited_at TIMESTAMPTZ,
|
||||
ADD COLUMN IF NOT EXISTS deleted_at TIMESTAMPTZ;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS calendar_item_chat_attachments (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
chat_message_id UUID NOT NULL REFERENCES calendar_item_chat_messages(id) ON DELETE CASCADE,
|
||||
original_filename TEXT NOT NULL,
|
||||
stored_filename TEXT NOT NULL,
|
||||
mime_type TEXT NOT NULL,
|
||||
size_bytes BIGINT NOT NULL CHECK (size_bytes >= 0),
|
||||
storage_driver TEXT NOT NULL,
|
||||
storage_path TEXT NOT NULL,
|
||||
created_by UUID REFERENCES users(id) ON DELETE SET NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_calendar_item_chat_attachments_message
|
||||
ON calendar_item_chat_attachments (chat_message_id, created_at);
|
||||
Reference in New Issue
Block a user