@directus/api
Version:
Directus is a real-time API and App dashboard for managing SQL database content
53 lines (52 loc) • 2.08 kB
TypeScript
import type { DirectusError } from '@directus/errors';
import type { EventContext, PrimaryKey } from '@directus/types';
import type { MutationTracker } from '../services/items.js';
import type { UserIntegrityCheckFlag } from '../utils/validate-user-count-integrity.js';
export type MutationOptions = {
/**
* Callback function that's fired whenever a revision is made in the mutation
*/
onRevisionCreate?: ((pk: PrimaryKey) => void) | undefined;
/**
* Flag to disable the auto purging of the cache. Is ignored when CACHE_AUTO_PURGE isn't enabled.
*/
autoPurgeCache?: false | undefined;
/**
* Flag to disable the auto purging of the system cache.
*/
autoPurgeSystemCache?: false | undefined;
/**
* Allow disabling the emitting of hooks. Useful if a custom hook is fired (like files.upload)
*/
emitEvents?: boolean | undefined;
/**
* To bypass the emitting of action events if emitEvents is enabled
* Can be used to queue up the nested events from item service's create, update and delete
*/
bypassEmitAction?: ((params: ActionEventParams) => void) | undefined;
/**
* To bypass limits so that functions would work as intended
*/
bypassLimits?: boolean | undefined;
/**
* To keep track of mutation limits
*/
mutationTracker?: MutationTracker | undefined;
preMutationError?: DirectusError | undefined;
bypassAutoIncrementSequenceReset?: boolean;
/**
* Indicate that the top level mutation needs to perform a user integrity check before commiting the transaction
* This is a combination of flags
* @see UserIntegrityCheckFlag
*/
userIntegrityCheckFlags?: UserIntegrityCheckFlag;
/**
* Callback function that is called whenever a mutation requires a user integrity check to be made
*/
onRequireUserIntegrityCheck?: ((flags: UserIntegrityCheckFlag) => void) | undefined;
};
export type ActionEventParams = {
event: string | string[];
meta: Record<string, any>;
context: EventContext;
};