mirror of
https://github.com/vale981/Vulcan
synced 2025-03-06 01:51:40 -05:00
Await for validation callbacks too; modify data in update mutator validation callback
This commit is contained in:
parent
8705ff6b7b
commit
485f7bad37
1 changed files with 9 additions and 9 deletions
|
@ -58,10 +58,10 @@ export const createMutator = async ({ collection, document, data, currentUser, v
|
|||
const validationErrors = validateDocument(newDocument, collection, context);
|
||||
|
||||
// run validation callbacks
|
||||
newDocument = runCallbacks({ name: `${typeName.toLowerCase()}.create.validate`, iterator: newDocument, properties: { currentUser, validationErrors }});
|
||||
newDocument = runCallbacks({ name: `*.create.validate`, iterator: newDocument, properties: { currentUser, validationErrors }});
|
||||
newDocument = await runCallbacks({ name: `${typeName.toLowerCase()}.create.validate`, iterator: newDocument, properties: { currentUser, validationErrors }});
|
||||
newDocument = await runCallbacks({ name: `*.create.validate`, iterator: newDocument, properties: { currentUser, validationErrors }});
|
||||
// OpenCRUD backwards compatibility
|
||||
newDocument = runCallbacks(`${collectionName.toLowerCase()}.new.validate`, newDocument, currentUser, validationErrors);
|
||||
newDocument = await runCallbacks(`${collectionName.toLowerCase()}.new.validate`, newDocument, currentUser, validationErrors);
|
||||
|
||||
if (validationErrors.length) {
|
||||
const NewDocumentValidationError = createError('app.validation_error', {message: 'app.new_document_validation_error'});
|
||||
|
@ -176,10 +176,10 @@ export const updateMutator = async ({ collection, documentId, selector, data, se
|
|||
let validationErrors;
|
||||
|
||||
validationErrors = validateData(data, document, collection, context);
|
||||
runCallbacks({ name: `${typeName.toLowerCase()}.update.validate`, iterator: data, properties: { document, currentUser, validationErrors }});
|
||||
runCallbacks({ name: `*.update.validate`, iterator: data, properties: { document, currentUser, validationErrors }});
|
||||
data = await runCallbacks({ name: `${typeName.toLowerCase()}.update.validate`, iterator: data, properties: { document, currentUser, validationErrors }});
|
||||
data = await runCallbacks({ name: `*.update.validate`, iterator: data, properties: { document, currentUser, validationErrors }});
|
||||
// OpenCRUD backwards compatibility
|
||||
runCallbacks(`${collectionName.toLowerCase()}.edit.validate`, dataToModifier(data), document, currentUser, validationErrors);
|
||||
data = modifierToData(await runCallbacks(`${collectionName.toLowerCase()}.edit.validate`, dataToModifier(data), document, currentUser, validationErrors));
|
||||
|
||||
if (validationErrors.length) {
|
||||
// eslint-disable-next-line no-console
|
||||
|
@ -292,10 +292,10 @@ export const deleteMutator = async ({ collection, documentId, selector, currentU
|
|||
|
||||
// if document is not trusted, run validation callbacks
|
||||
if (validate) {
|
||||
document = runCallbacks({ name: `${typeName.toLowerCase()}.delete.validate`, iterator: document, properties: { currentUser }});
|
||||
document = runCallbacks({ name: `*.delete.validate`, iterator: document, properties: { currentUser }});
|
||||
document = await runCallbacks({ name: `${typeName.toLowerCase()}.delete.validate`, iterator: document, properties: { currentUser }});
|
||||
document = await runCallbacks({ name: `*.delete.validate`, iterator: document, properties: { currentUser }});
|
||||
// OpenCRUD backwards compatibility
|
||||
document = runCallbacks(`${collectionName.toLowerCase()}.remove.validate`, document, currentUser);
|
||||
document = await runCallbacks(`${collectionName.toLowerCase()}.remove.validate`, document, currentUser);
|
||||
}
|
||||
|
||||
// run onRemove step
|
||||
|
|
Loading…
Add table
Reference in a new issue