diff --git a/spec/ParseAPI.spec.js b/spec/ParseAPI.spec.js index de16ebb737..8f1ed0b527 100644 --- a/spec/ParseAPI.spec.js +++ b/spec/ParseAPI.spec.js @@ -1493,6 +1493,11 @@ describe('miscellaneous', function() { }); }); + it('purge empty class', (done) => { + const testSchema = new Parse.Schema('UnknownClass'); + testSchema.purge().then(done).catch(done.fail); + }); + it('should not update schema beforeSave #2672', (done) => { Parse.Cloud.beforeSave('MyObject', (request, response) => { if (request.object.get('secret')) { diff --git a/src/Routers/PurgeRouter.js b/src/Routers/PurgeRouter.js index 9eb3e9d9f9..b9009453c6 100644 --- a/src/Routers/PurgeRouter.js +++ b/src/Routers/PurgeRouter.js @@ -17,6 +17,11 @@ export class PurgeRouter extends PromiseRouter { cacheAdapter.role.clear(); } return {response: {}}; + }).catch((error) => { + if (!error || (error && error.code === Parse.Error.OBJECT_NOT_FOUND)) { + return {response: {}}; + } + throw error; }); }