mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
Rename operation->action, add validate step
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
import { Filter } from '../types';
|
||||
import Joi, { AnySchema } from 'joi';
|
||||
|
||||
export default function generateJoi(filter: Filter) {
|
||||
export default function generateJoi(filter: Filter | null) {
|
||||
filter = filter || {};
|
||||
|
||||
const schema: Record<string, AnySchema> = {};
|
||||
|
||||
for (const [key, value] of Object.entries(filter)) {
|
||||
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
FieldAST,
|
||||
Query,
|
||||
Relation,
|
||||
Operation,
|
||||
PermissionsAction,
|
||||
Accountability,
|
||||
} from '../types';
|
||||
import database from '../database';
|
||||
@@ -17,7 +17,7 @@ export default async function getASTFromQuery(
|
||||
collection: string,
|
||||
query: Query,
|
||||
accountability?: Accountability | null,
|
||||
operation?: Operation
|
||||
action?: PermissionsAction
|
||||
): Promise<AST> {
|
||||
/**
|
||||
* we might not need al this info at all times, but it's easier to fetch it all once, than trying to fetch it for every
|
||||
@@ -30,7 +30,7 @@ export default async function getASTFromQuery(
|
||||
? await database
|
||||
.select<{ collection: string; fields: string }[]>('collection', 'fields')
|
||||
.from('directus_permissions')
|
||||
.where({ role: accountability.role, operation: operation || 'read' })
|
||||
.where({ role: accountability.role, action: action || 'read' })
|
||||
: null;
|
||||
|
||||
const ast: AST = {
|
||||
|
||||
Reference in New Issue
Block a user