logout.js (668B)
1 import { app } from '../../app.js'; 2 import { resolveHostContext } from '../../lib/host-context.js'; 3 import { getSystemDatabase } from '../../lib/realm.js'; 4 import { 5 clearSessionCookie, 6 destroySession, 7 requestToken, 8 } from '../../lib/session.js'; 9 10 export default { 11 method: 'post', 12 path: '/api/v1/logout', 13 name: 'login.logout', 14 async handler(req, res) { 15 await resolveHostContext(req, { publicUrl: app.config.server.public_url }); 16 17 const systemDb = getSystemDatabase(); 18 const result = await destroySession(systemDb, requestToken(req)); 19 if (result.groupDeleted) clearSessionCookie(res, req); 20 21 return new app.HttpOk({ ok: true }); 22 }, 23 };