feat: tickets 2.5 transcript/hastebin claim/blacklist + blog Discord->backend POST /api/discord/news

This commit is contained in:
loki5512344 2026-09-09 14:32:57 +02:00
parent a2b2c41654
commit 1d49d81fad
Signed by: boba
GPG key ID: 253067914055423B
14 changed files with 797 additions and 160 deletions

View file

@ -12,7 +12,7 @@ pub async fn run(pool: &SqlitePool) -> anyhow::Result<()> {
.execute(pool)
.await?;
let migrations = [("V1__initial", V1_INITIAL)];
let migrations = [("V1__initial", V1_INITIAL), ("V2__tickets", V2_TICKETS)];
for (name, sql) in migrations {
let exists: i64 = sqlx::query_scalar("SELECT COUNT(*) FROM _migrations WHERE name = ?")
.bind(name)
@ -47,3 +47,21 @@ CREATE TABLE IF NOT EXISTS user_stats (
message_count INTEGER NOT NULL DEFAULT 0
);
";
const V2_TICKETS: &str = "
CREATE TABLE IF NOT EXISTS ticket_blacklist (
guild_id TEXT NOT NULL,
user_id TEXT NOT NULL,
reason TEXT NOT NULL,
PRIMARY KEY (guild_id, user_id)
);
CREATE TABLE IF NOT EXISTS ticket_claims (
channel_id TEXT PRIMARY KEY,
guild_id TEXT NOT NULL,
claimed_by TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS tickets (
channel_id TEXT PRIMARY KEY,
guild_id TEXT NOT NULL,
opener_id TEXT NOT NULL
);
";