Add FCM device registration and Gitea bug reporter

This commit is contained in:
2026-09-15 01:01:08 +02:00
parent b2af866cf0
commit b96b1890d2
33 changed files with 1232 additions and 18 deletions
+30
View File
@@ -0,0 +1,30 @@
"""Startup equivalents of migrations 19 and 20 (kept in sync by tests)."""
FEATURE_SCHEMA = (
'''CREATE TABLE IF NOT EXISTS push_devices (
id BIGSERIAL PRIMARY KEY,
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
session_id INTEGER NOT NULL REFERENCES sessions(id) ON DELETE CASCADE,
device_id UUID NOT NULL UNIQUE,
token TEXT NOT NULL UNIQUE CHECK (length(token) BETWEEN 20 AND 4096),
platform VARCHAR(16) NOT NULL CHECK (platform = 'android'),
app_version VARCHAR(32) NOT NULL DEFAULT '',
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
last_seen_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX IF NOT EXISTS idx_push_devices_user ON push_devices(user_id);
CREATE INDEX IF NOT EXISTS idx_push_devices_session ON push_devices(session_id);''',
'''CREATE TABLE IF NOT EXISTS bug_report_submissions (
id UUID PRIMARY KEY,
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
state VARCHAR(16) NOT NULL DEFAULT 'new'
CHECK (state IN ('new', 'sending', 'success', 'failed', 'unknown')),
issue_number INTEGER,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
submitted_at TIMESTAMP,
expires_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP + INTERVAL '24 hours'
);
CREATE INDEX IF NOT EXISTS idx_bug_report_submissions_user
ON bug_report_submissions(user_id, submitted_at);''',
)