Search.../

afterUpdate( )

A hook that is triggered after an update() operation.

Description

The afterUpdate() hook runs when:

  • The update() function is called.
  • An action is performed on a dataset that updates an item from the collection.
  • An item is updated using the CMS.

Return an object or a Promise that resolves to an object from the afterUpdate() function. The returned object will be used as the result of the call to the update() function instead of the actual item updated in the collection. If returning a Promise, the object is used as the result, whether the Promise is fulfilled or rejected.

If the returned value is of the wrong type, the value is ignored.

A rejected Promise also calls the onFailure() hook if it has been registered.

Because the afterUpdate hook is called after the update() is executed, it cannot affect the item that is being updated in the collection. It can only affect the item returned by update().

Syntax

function afterUpdate(item: Object, context: UpdateHookContext): Promise<Object> | Object

afterUpdate Parameters

NAME
TYPE
DESCRIPTION
item
Object

The updated item.

context
UpdateHookContext

Contextual information about the hook.

Returns

The item to return to update() instead of the updated item. Returning a rejected promise will not block the operation, but will return a rejected promise to the caller as well as trigger the onFailure() hook.

Return Type:

Promise<Object>

 | 

Object

Was this helpful?

An afterUpdate hook

Copy Code
1// In data.js
2
3export function myCollection_afterUpdate(item, context) {
4 let hookContext = context; // see below
5
6 // some changes to the received item
7
8 return item;
9}
10
11/*
12 * hookContext:
13 *
14 * {
15 * "collectionName": "myCollection",
16 * "userId": "f45jf8d2-grkj-2opd-4ovk-9rfj4wo5tvj3",
17 * "userRole": "siteOwner"
18 * }
19 */
Change the item returned by update() using an afterUpdate hook

Copy Code
1// In data.js
2
3export function myCollection_afterUpdate(item, context) {
4 let hookContext = context; // see below
5
6 // add a full_name property to the item being returned
7 item.full_name = item.first_name + " " + item.last_name;
8
9 return item;
10}
11
12/*
13 * hookContext:
14 *
15 * {
16 * "collectionName": "myCollection",
17 * "userId": "f45jf8d2-grkj-2opd-4ovk-9rfj4wo5tvj3",
18 * "userRole": "siteOwner"
19 * }
20 */