MCPcopy Create free account
hub / github.com/CloudBoost/cloudboost / _delete

Function _delete

services/cloudObjects.js:272–312  ·  view source on GitHub ↗
(appId, collectionName, document, accessList, isMasterKey)

Source from the content-addressed store, hash-verified

270}
271
272function _delete(appId, collectionName, document, accessList, isMasterKey) {
273 const deferred = q.defer();
274
275 try {
276 const promises = [];
277 if (document._id) {
278 customHelper.verifyWriteACLAndUpdateVersion(appId, collectionName, document, accessList, isMasterKey).then((doc) => {
279 promises.push(mongoService.document.delete(appId, collectionName, document, accessList, isMasterKey));
280 if (promises.length > 0) {
281 q.allSettled(promises).then((res) => {
282 if (res[0].state === 'fulfilled') {
283 config.realTime.sendObjectNotification(appId, document, 'deleted');
284 deferred.resolve(document);
285 } else {
286 _deleteRollback(appId, doc.oldDoc, res).then(() => {
287 deferred.reject('Unable to Delete Document Right Now Try Again !!!');
288 }, () => {
289 deferred.reject('Unable to Delete');
290 });
291 }
292 });
293 }
294 }, (err) => {
295 winston.error({
296 error: String(err),
297 stack: new Error().stack,
298 });
299 deferred.reject('You do not have permission to delete the Object');
300 });
301 } else {
302 deferred.reject('CanNot Delete an Unsaved Object');
303 }
304 } catch (err) {
305 winston.log('error', {
306 error: String(err),
307 stack: new Error().stack,
308 });
309 deferred.reject(err);
310 }
311 return deferred.promise;
312}
313
314async function _validateSchema(appId, listOfDocs, accessList, isMasterKey, encryption_key) {
315 const deferred = q.defer();

Callers 1

deleteFunction · 0.70

Calls 2

_deleteRollbackFunction · 0.85
deleteMethod · 0.45

Tested by

no test coverage detected