@r1tsu/payload
Version:
35 lines (34 loc) • 1.12 kB
JavaScript
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