mk-dl-bot_legacy/migrations/1_init.sql
2024-03-01 01:44:15 +02:00

50 lines
No EOL
1.4 KiB
SQL

CREATE TABLE "user"
(
id INTEGER PRIMARY KEY AUTOINCREMENT,
tg_id INTEGER NOT NULL UNIQUE,
username TEXT UNIQUE,
first_name TEXT NOT NULL,
last_name TEXT,
can_download INTEGER NOT NULL,
is_admin INTEGER NOT NULL
);
CREATE TABLE "chat"
(
id INTEGER PRIMARY KEY AUTOINCREMENT,
tg_id INTEGER NOT NULL UNIQUE,
title TEXT NOT NULL,
username TEXT,
can_download INTEGER NOT NULL
);
CREATE TABLE "link"
(
id INTEGER PRIMARY KEY AUTOINCREMENT,
domain TEXT NOT NULL UNIQUE,
path TEXT,
download_allowed INTEGER NOT NULL,
auto_download INTEGER NOT NULL
);
CREATE INDEX idx_link_domain
ON "link"(domain);
CREATE TABLE "request"
(
id INTEGER PRIMARY KEY AUTOINCREMENT,
requested_by INTEGER NOT NULL UNIQUE,
approved_by INTEGER UNIQUE,
message TEXT,
is_approved INTEGER NOT NULL,
FOREIGN KEY(requested_by) REFERENCES "user"(id),
FOREIGN KEY(approved_by) REFERENCES "user"(id)
);
CREATE TRIGGER "approve"
AFTER UPDATE OF is_approved ON "request"
WHEN new.is_approved = 1
BEGIN
UPDATE user SET can_download = 1 WHERE user.id = new.requested_by;
END;