24 lines
1 KiB
MySQL
24 lines
1 KiB
MySQL
|
|
-- Discord-OAuth: Kunden verknüpfen ihr Discord-Konto mit ihrem Kundencenter-Konto (für Ticket-Kanäle je Ticket).
|
||
|
|
ALTER TABLE discord_settings
|
||
|
|
ADD COLUMN client_id VARCHAR(32) NULL,
|
||
|
|
ADD COLUMN client_secret_enc TEXT NULL,
|
||
|
|
ADD COLUMN ticket_channel_id VARCHAR(32) NULL;
|
||
|
|
|
||
|
|
ALTER TABLE users
|
||
|
|
ADD COLUMN discord_user_id VARCHAR(32) NULL UNIQUE,
|
||
|
|
ADD COLUMN discord_username VARCHAR(100) NULL;
|
||
|
|
|
||
|
|
-- Kurzlebiger Zustand für den OAuth-Redirect (CSRF-Schutz), wird beim erfolgreichen Callback gelöscht.
|
||
|
|
CREATE TABLE discord_oauth_states (
|
||
|
|
state CHAR(43) PRIMARY KEY,
|
||
|
|
user_id CHAR(36) NOT NULL REFERENCES users(id),
|
||
|
|
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||
|
|
|
||
|
|
-- Ticket <-> Discord-Thread-Zuordnung.
|
||
|
|
CREATE TABLE ticket_discord_threads (
|
||
|
|
ticket_id CHAR(36) PRIMARY KEY REFERENCES tickets(id),
|
||
|
|
thread_id VARCHAR(32) NOT NULL UNIQUE,
|
||
|
|
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|