Skip to content

Instantly share code, notes, and snippets.

@kwylez
Created September 6, 2013 13:55
Show Gist options
  • Save kwylez/6464147 to your computer and use it in GitHub Desktop.
Save kwylez/6464147 to your computer and use it in GitHub Desktop.
FatFractal Extension Example: Delete All Records for Given Resource
var ff = require('ffef/FatFractal');
exports.deleteAllForResource = function() {
var data = ff.getExtensionRequestData();
var finalResponse = {};
var r = ff.response();
var resourceName = data.httpParameters.resourceName;
var responseCode = "200";
var deletedURLs = [];
var failedDeletedURLs = [];
var cursor = ff.getCursorForQuery("/" + resourceName);
while (cursor.hasNext()) {
var keyValuePair = cursor.next();
var key = keyValuePair.key;
var obj = keyValuePair.value;
if (resourceName === 'FFUser') {
var username = obj.userName;
if ((username === 'system') || (username === 'anonymous')) {
continue;
}
}
try {
print('currently deleting object at uri ' + obj.ffUrl);
ff.deleteObjAtUri(obj.ffUrl);
deletedURLs.push(obj.ffUrl);
} catch (err) {
responseCode = "400";
failedDeletedURLs.push(obj.ffUrl);
}
}
finalResponse = {'message' : 'Collection delete results', 'deletedURLs' : deletedURLs, 'failedDeletedURLs' : failedDeletedURLs};
r.responseCode = responseCode;
r.statusMessage = "Debug Deletes Completed";
r.mimeType = "application/json";
r.result = finalResponse;
};
# FFDL entry
# CREATE EXTENSION /debugDeleteAppResource AS javascript:var f = require ('scripts/DebugExtensions'); f.deleteAllForResource();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment