16 lines
345 B
JavaScript
16 lines
345 B
JavaScript
export default function verifyAbility(user, subject, action) {
|
|
if (!user?.abilities) {
|
|
return null;
|
|
}
|
|
|
|
if (subject && action) {
|
|
return user.abilities.some((ability) => ability.subject === subject && ability.action === action);
|
|
}
|
|
|
|
if (subject) {
|
|
return user.abilities.some((ability) => ability[subject] === true);
|
|
}
|
|
|
|
return false;
|
|
}
|