generated from autonomic-cooperative/astro-payload-template
21 lines
426 B
TypeScript
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;
|
|
} |