Files
astro-payload-test/payload/src/access/isAdminOrSelf.ts
2024-05-20 09:10:08 +02:00

21 lines
426 B
TypeScript

import { Access } from "payload/config";
export const isAdminOrSelf: Access = ({ req: { user } }) => {
// Need to be logged in
if (user) {
// If user has role of 'admin'
if (user.roles?.includes('admin')) {
return true;
}
// If any other type of user, only provide access to themselves
return {
id: {
equals: user.id,
}
}
}
// Reject everyone else
return false;
}