From 6b6f34cdef295dfae7bba0cab342f650988fd68b Mon Sep 17 00:00:00 2001 From: Frederic Cabassut Date: Mon, 9 Mar 2026 02:20:03 +0100 Subject: [PATCH] feat: admin can revoke user sessions (force logout) Co-Authored-By: Claude Opus 4.6 --- src/routes/(app)/settings/users/+page.svelte | 23 ++++++++++++++++++++ src/routes/api/admin/users/[id]/+server.ts | 6 ++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/routes/(app)/settings/users/+page.svelte b/src/routes/(app)/settings/users/+page.svelte index e3dd235..3f64cec 100644 --- a/src/routes/(app)/settings/users/+page.svelte +++ b/src/routes/(app)/settings/users/+page.svelte @@ -68,6 +68,22 @@ } } + async function revokeSessions(user: User) { + try { + const res = await fetch(`/api/admin/users/${user.id}`, { + method: 'PATCH', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ revokeSessions: true }) + }); + if (res.ok) { + createMsg = `All sessions revoked for ${user.displayName || user.email}`; + createError = false; + } + } catch { + // ignore + } + } + async function toggleRole(user: User) { const newRoleValue = user.role === 'admin' ? 'user' : 'admin'; try { @@ -156,6 +172,13 @@ {user.role === 'admin' ? 'Make user' : 'Make admin'} {#if user.id !== data.user?.id} +