refactor(tests): reformat code and update dependency management
- Reorganized import statements in adapter tests for better readability - Replaced or_insert_with(Vec::new) with or_default() in test closures - Updated Cargo.lock with new dependency versions and checksums - Added TLS features to tonic dependency configuration - Included sqlx, chrono, and uuid dependencies with specific features - Added jsonwebtoken and arc-swap as project dependencies - Reformatted assertion statements to comply with line length limits - Adjusted base64 import order in engine codec module - Updated protobuf include statement formatting
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
-- ============================================================
|
||||
-- Migration: 005_message_misc.sql
|
||||
-- Tables: message_notification, message_scheduled, message_sticker,
|
||||
-- message_forward, message_component
|
||||
-- ============================================================
|
||||
|
||||
BEGIN;
|
||||
|
||||
-- models/message_notification.rs → message_notification
|
||||
CREATE TABLE IF NOT EXISTS message_notification (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
message_id UUID NOT NULL REFERENCES message(id) ON DELETE CASCADE,
|
||||
channel_id UUID NOT NULL,
|
||||
user_id UUID NOT NULL,
|
||||
reason TEXT NOT NULL,
|
||||
status TEXT NOT NULL DEFAULT 'pending',
|
||||
delivery_channel TEXT NULL,
|
||||
delivered_at TIMESTAMPTZ NULL,
|
||||
read_at TIMESTAMPTZ NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_message_notification_user_id
|
||||
ON message_notification (user_id, created_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_message_notification_status
|
||||
ON message_notification (status);
|
||||
|
||||
-- models/message_scheduled.rs → message_scheduled
|
||||
CREATE TABLE IF NOT EXISTS message_scheduled (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
channel_id UUID NOT NULL,
|
||||
author_id UUID NOT NULL,
|
||||
thread_id UUID NULL REFERENCES message_thread(id) ON DELETE SET NULL,
|
||||
reply_to_message_id UUID NULL REFERENCES message(id) ON DELETE SET NULL,
|
||||
body TEXT NOT NULL,
|
||||
metadata JSONB NULL,
|
||||
scheduled_at TIMESTAMPTZ NOT NULL,
|
||||
status TEXT NOT NULL DEFAULT 'pending',
|
||||
sent_message_id UUID NULL REFERENCES message(id) ON DELETE SET NULL,
|
||||
error TEXT NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_message_scheduled_status_at
|
||||
ON message_scheduled (status, scheduled_at);
|
||||
|
||||
-- models/message_sticker.rs → message_sticker
|
||||
CREATE TABLE IF NOT EXISTS message_sticker (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
message_id UUID NOT NULL REFERENCES message(id) ON DELETE CASCADE,
|
||||
sticker_id UUID NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
image_url TEXT NOT NULL,
|
||||
format_type TEXT NOT NULL DEFAULT 'png',
|
||||
pack_name TEXT NULL,
|
||||
tags TEXT NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_message_sticker_message_id
|
||||
ON message_sticker (message_id);
|
||||
|
||||
-- models/message_forward.rs → message_forward
|
||||
CREATE TABLE IF NOT EXISTS message_forward (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
message_id UUID NOT NULL REFERENCES message(id) ON DELETE CASCADE,
|
||||
source_message_id UUID NOT NULL REFERENCES message(id) ON DELETE CASCADE,
|
||||
source_channel_id UUID NOT NULL,
|
||||
forwarded_by UUID NOT NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_message_forward_message_id
|
||||
ON message_forward (message_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_message_forward_source_message_id
|
||||
ON message_forward (source_message_id);
|
||||
|
||||
-- models/message_component.rs → message_component
|
||||
CREATE TABLE IF NOT EXISTS message_component (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
message_id UUID NOT NULL REFERENCES message(id) ON DELETE CASCADE,
|
||||
row INTEGER NOT NULL DEFAULT 0,
|
||||
position INTEGER NOT NULL DEFAULT 0,
|
||||
component_type TEXT NOT NULL,
|
||||
custom_id TEXT NOT NULL,
|
||||
label TEXT NULL,
|
||||
emoji TEXT NULL,
|
||||
style TEXT NULL,
|
||||
url TEXT NULL,
|
||||
disabled BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
placeholder TEXT NULL,
|
||||
min_values INTEGER NULL,
|
||||
max_values INTEGER NULL,
|
||||
options JSONB NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_message_component_message_id
|
||||
ON message_component (message_id);
|
||||
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user