Add find-permissions method

This commit is contained in:
rijkvanzanten
2020-07-13 16:40:29 -04:00
parent 6a3f9210f0
commit 8887d3216e

View File

@@ -1,4 +1,4 @@
import { Accountability, Query } from '../types';
import { Accountability, Permission, Operation, Query } from '../types';
import * as ItemsService from './items';
export const createPermission = async (
@@ -32,3 +32,27 @@ export const updatePermission = async (
export const deletePermission = async (pk: number, accountability: Accountability) => {
await ItemsService.deleteItem('directus_permissions', pk, accountability);
};
export const authorize = async (operation: Operation, collection: string, role?: string) => {
const query: Query = {
filter: {
collection: {
_eq: collection,
},
operation: {
_eq: operation,
},
},
limit: 1,
};
if (role) {
query.filter.role = {
_eq: role,
};
}
const records = await ItemsService.readItems<Permission>('directus_permissions', query);
return records[0];
};