(appId, collectionName, document, accessList, isMasterKey)
| 270 | } |
| 271 | |
| 272 | function _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 | |
| 314 | async function _validateSchema(appId, listOfDocs, accessList, isMasterKey, encryption_key) { |
| 315 | const deferred = q.defer(); |
no test coverage detected