UNPKG

@r1tsu/payload

Version:

35 lines (34 loc) 1.12 kB
import { commitTransaction } from '../../utilities/commitTransaction.js'; import { initTransaction } from '../../utilities/initTransaction.js'; import { killTransaction } from '../../utilities/killTransaction.js'; import { parseCookies } from '../cookies.js'; import { executeAuthStrategies } from '../executeAuthStrategies.js'; import { getAccessResults } from '../getAccessResults.js'; export const auth = async (args)=>{ const { headers } = args; const req = args.req; const { payload } = req; const cookies = parseCookies(headers); try { const shouldCommit = await initTransaction(req); const user = await executeAuthStrategies({ cookies, headers, payload }); req.user = user; const permissions = await getAccessResults({ req }); if (shouldCommit) await commitTransaction(req); return { cookies, permissions, user }; } catch (error) { await killTransaction(req); throw error; } }; //# sourceMappingURL=auth.js.map