This commit is contained in:
michael committed 2026-09-23 07:52:15 +00:00
1 parent 040f1903e6
commit d6c8877ed7
16 files changed
+1541 -178

No files matched your search

+22
View File
@@ -86,6 +86,7 @@ export async function migrate() {
`);
await query("ALTER TABLE users ADD COLUMN IF NOT EXISTS zammad_api_token TEXT;");
await query("ALTER TABLE users ADD COLUMN IF NOT EXISTS zammad_user_id BIGINT;");
await query("ALTER TABLE users ADD COLUMN IF NOT EXISTS zammad_email_session_webhook_enabled BOOLEAN NOT NULL DEFAULT false;");
await query(`
CREATE TABLE IF NOT EXISTS auth_sessions (
@@ -220,6 +221,27 @@ export async function migrate() {
await query("ALTER TABLE sessions ADD COLUMN IF NOT EXISTS recurring_occurrence_date DATE;");
await query("ALTER TABLE sessions ADD COLUMN IF NOT EXISTS recurring_occurrence_key TEXT;");
await query("ALTER TABLE sessions ADD COLUMN IF NOT EXISTS project_teamspace_entry_id BIGINT;");
await query(`
CREATE TABLE IF NOT EXISTS zammad_email_session_events (
id BIGSERIAL PRIMARY KEY,
user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
zammad_article_id BIGINT,
delivery_id TEXT,
session_id BIGINT REFERENCES sessions(id) ON DELETE SET NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
CONSTRAINT zammad_email_session_event_source CHECK (zammad_article_id IS NOT NULL OR delivery_id IS NOT NULL)
);
`);
await query(`
CREATE UNIQUE INDEX IF NOT EXISTS idx_zammad_email_session_events_user_article
ON zammad_email_session_events(user_id, zammad_article_id)
WHERE zammad_article_id IS NOT NULL;
`);
await query(`
CREATE UNIQUE INDEX IF NOT EXISTS idx_zammad_email_session_events_delivery
ON zammad_email_session_events(delivery_id)
WHERE delivery_id IS NOT NULL;
`);
if (adminId) {
await query("UPDATE sessions SET user_id = $1 WHERE user_id IS NULL;", [adminId]);
}