38 lines
1.4 KiB
SQL
38 lines
1.4 KiB
SQL
CREATE TABLE forward_definitions (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
creator_user_id INTEGER NOT NULL,
|
|
source_chat_id INTEGER NOT NULL,
|
|
destination_chat_id INTEGER NOT NULL,
|
|
review_group_id INTEGER NOT NULL,
|
|
forward_message TEXT NOT NULL DEFAULT '',
|
|
code TEXT NOT NULL UNIQUE,
|
|
share_mode TEXT NOT NULL DEFAULT 'b',
|
|
revoked_at TEXT,
|
|
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
);
|
|
CREATE INDEX idx_forward_code ON forward_definitions(code);
|
|
CREATE INDEX idx_forward_source ON forward_definitions(source_chat_id);
|
|
|
|
CREATE TABLE forward_submissions (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
forward_id INTEGER NOT NULL REFERENCES forward_definitions(id),
|
|
user_id INTEGER NOT NULL,
|
|
content_id TEXT NOT NULL REFERENCES contents(id),
|
|
status TEXT NOT NULL DEFAULT 'pending',
|
|
review_message_id INTEGER,
|
|
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
resolved_at TEXT,
|
|
resolver_id INTEGER
|
|
);
|
|
CREATE INDEX idx_fwd_sub_forward ON forward_submissions(forward_id);
|
|
CREATE INDEX idx_fwd_sub_user ON forward_submissions(user_id);
|
|
CREATE INDEX idx_fwd_sub_status ON forward_submissions(status);
|
|
|
|
CREATE TABLE forward_lists (
|
|
forward_id INTEGER NOT NULL REFERENCES forward_definitions(id),
|
|
user_id INTEGER NOT NULL,
|
|
list_type TEXT NOT NULL,
|
|
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
PRIMARY KEY (forward_id, user_id, list_type)
|
|
);
|