Spraypaint the isomorphic, framework-agnostic Graphiti ORM
Deferred Action
If your update or destroy action takes a long time then the server can respond with status code 202 Accepted
and include background job object in the payload.
Example response:
HTTP/1.1 202 Accepted
Content-Type: application/vnd.api+json
{
"data": {
"type": "background_jobs",
"id": "550e8400-e29b-41d4-a716-446655440000",
"attributes": {
"status": "pending"
}
}
}
You will need to give the model object a callback called onDeferredDestroy
or onDeferredUpdate
. Spraypaint will then call your callback with the deserialized object included in the payload.
Typescript
Javascript
let person = new Person({ firstName: 'Jane' })
person.onDeferredUpdate = (job: any) => {
handleBackgroundJob(job);
}
person.save()
person.onDeferredDestroy = (job: any) => {
handleBackgroundJob(job);
}
person.destroy()
const person = new Person({ firstName: 'Jane' });
person.onDeferredUpdate = (job) => {
handleBackgroundJob(job);
};
person.save();
person.onDeferredDestroy = (job) => {
handleBackgroundJob(job);
};
person.destroy();