Endpoint for purging all objects in class (#2032)

* Endpoint for purging all objects in class

* Use deleteObjectsByQuery

* Standalone handling function and purge cache

* Change endpoint url
This commit is contained in:
Marco Cheung
2016-06-15 06:52:49 +08:00
committed by Drew
parent d9f8486790
commit b2a5092627
5 changed files with 145 additions and 1 deletions

View File

@@ -36,7 +36,7 @@ export class FeaturesRouter extends PromiseRouter {
removeField: true,
addClass: true,
removeClass: true,
clearAllDataFromClass: false,
clearAllDataFromClass: true,
exportClass: false,
editClassLevelPermissions: true,
editPointerPermissions: true,

View File

@@ -0,0 +1,24 @@
import PromiseRouter from '../PromiseRouter';
import * as middleware from '../middlewares';
export class PurgeRouter extends PromiseRouter {
handlePurge(req) {
return req.config.database.purgeCollection(req.params.className)
.then(() => {
var cacheAdapter = req.config.cacheController;
if (req.params.className == '_Session') {
cacheAdapter.user.clear();
} else if (req.params.className == '_Role') {
cacheAdapter.role.clear();
}
return {response: {}};
});
}
mountRoutes() {
this.route('DELETE', '/purge/:className', middleware.promiseEnforceMasterKeyAccess, (req) => { return this.handlePurge(req); });
}
}
export default PurgeRouter;