Files
payload/src/auth/executeAccess.ts
2020-12-03 11:50:08 -05:00

24 lines
505 B
TypeScript

import { Forbidden } from '../errors';
import { Access, AccessResult } from '../config/types';
const executeAccess = async (operation, access: Access): Promise<AccessResult> => {
if (access) {
const result = await access(operation);
if (!result) {
if (!operation.disableErrors) throw new Forbidden();
}
return result;
}
if (operation.req.user) {
return true;
}
if (!operation.disableErrors) throw new Forbidden();
return false;
};
export default executeAccess;