Update
This commit is contained in:
1 parent
040f1903e6
commit
d6c8877ed7
16 files changed
+1541
-178
No files matched your search
+5
-2
@@ -17,6 +17,7 @@ export type AuthUser = {
|
||||
active: boolean;
|
||||
zammad_user_id: string | null;
|
||||
has_zammad_api_token: boolean;
|
||||
zammad_email_session_webhook_enabled: boolean;
|
||||
};
|
||||
|
||||
declare global {
|
||||
@@ -77,7 +78,8 @@ function publicUser(user: AuthUser) {
|
||||
role: user.role,
|
||||
active: user.active,
|
||||
zammad_user_id: user.zammad_user_id ?? null,
|
||||
has_zammad_api_token: Boolean(user.has_zammad_api_token)
|
||||
has_zammad_api_token: Boolean(user.has_zammad_api_token),
|
||||
zammad_email_session_webhook_enabled: Boolean(user.zammad_email_session_webhook_enabled)
|
||||
};
|
||||
}
|
||||
|
||||
@@ -134,7 +136,8 @@ export async function requireAuth(req: Request, res: Response, next: NextFunctio
|
||||
u.role,
|
||||
u.active,
|
||||
u.zammad_user_id::text AS zammad_user_id,
|
||||
(u.zammad_api_token IS NOT NULL) AS has_zammad_api_token
|
||||
(u.zammad_api_token IS NOT NULL) AS has_zammad_api_token,
|
||||
u.zammad_email_session_webhook_enabled
|
||||
FROM auth_sessions s
|
||||
JOIN users u ON u.id = s.user_id
|
||||
WHERE s.token_hash = $1
|
||||
|
||||
+726
-168
File diff suppressed because it is too large.
Load diff
@@ -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]);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user