diff --git a/types/parse/index.d.ts b/types/parse/index.d.ts index 2466e4dd7a..3aed86461c 100644 --- a/types/parse/index.d.ts +++ b/types/parse/index.d.ts @@ -10,6 +10,7 @@ // Alexandre Hétu Rivard // Diamond Lewis // Jong Eun Lee +// Julien Quere // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.4 @@ -784,10 +785,14 @@ subscription.on('close', () => {}); original?: Parse.Object; } - interface AfterSaveRequest extends TriggerRequest { } + interface AfterSaveRequest extends TriggerRequest { + context: object; + } interface AfterDeleteRequest extends TriggerRequest { } interface BeforeDeleteRequest extends TriggerRequest { } - interface BeforeSaveRequest extends TriggerRequest { } + interface BeforeSaveRequest extends TriggerRequest { + context: object; + } // Read preference describes how MongoDB driver route read operations to the members of a replica set. enum ReadPreferenceOption { diff --git a/types/parse/parse-tests.ts b/types/parse/parse-tests.ts index 1b91772746..f76415ad23 100644 --- a/types/parse/parse-tests.ts +++ b/types/parse/parse-tests.ts @@ -375,6 +375,9 @@ function test_cloud_functions() { }); Parse.Cloud.afterSave('MyCustomClass', (request: Parse.Cloud.AfterSaveRequest) => { + if(!request.context) { + throw new Error('Request context should be defined') + } // result }); @@ -390,6 +393,7 @@ function test_cloud_functions() { const CUSTOM_ERROR_IMMUTABLE_FIELD = 1002 Parse.Cloud.beforeSave('MyCustomClass', async (request: Parse.Cloud.BeforeSaveRequest) => { + if (request.object.isNew()) { if (!request.object.has('immutable')) throw new Error('Field immutable is required') } else { @@ -402,6 +406,9 @@ function test_cloud_functions() { throw new Parse.Error(CUSTOM_ERROR_IMMUTABLE_FIELD, 'This field cannot be changed') } } + if(!request.context) { + throw new Error('Request context should be defined') + } }); Parse.Cloud.beforeFind('MyCustomClass', (request: Parse.Cloud.BeforeFindRequest) => {