tobias e63dd42b6c
Some checks failed
continuous-integration/drone/push Build is failing
fix: Access function types
2024-06-23 11:14:52 +02:00

43 lines
730 B
TypeScript

import { Access } from 'payload/types'
import type { User } from 'types/payload-types'
export const isAdmin = ({ req: { user } }: any) => {
if (user && user.roles?.includes('admin')) {
return true
}
return false
}
export const isAdminOrCreatedBy = ({ req: { user } }: any) => {
if (user && user.role === 'admin') {
return true
}
if (user) {
return {
createdBy: {
equals: user.id,
},
}
}
return false
}
export const isAdminOrSelf = ({ req: { user } }: any) => {
if (user) {
if (user.roles?.includes('admin')) {
return true
}
// Non-admin: can only access themselves
return {
id: {
equals: user.id,
},
}
}
return false
}