| 415 | }, |
| 416 | |
| 417 | save(appId, documentArray) { |
| 418 | const deferred = q.defer(); |
| 419 | |
| 420 | try { |
| 421 | if (config.mongoDisconnected) { |
| 422 | deferred.reject('Database Not Connected'); |
| 423 | return deferred.promise; |
| 424 | } |
| 425 | |
| 426 | const promises = []; |
| 427 | |
| 428 | for (let i = 0; i < documentArray.length; i++) { |
| 429 | promises.push(_save(appId, documentArray[i].document._tableName, documentArray[i].document)); |
| 430 | } |
| 431 | q.allSettled(promises).then((docs) => { |
| 432 | deferred.resolve(docs); |
| 433 | }, (err) => { |
| 434 | winston.log('error', err); |
| 435 | deferred.reject(err); |
| 436 | }); |
| 437 | } catch (err) { |
| 438 | winston.log('error', { |
| 439 | error: String(err), |
| 440 | stack: new Error().stack, |
| 441 | }); |
| 442 | deferred.reject(err); |
| 443 | } |
| 444 | return deferred.promise; |
| 445 | }, |
| 446 | |
| 447 | _update(appId, collectionName, document) { |
| 448 | const deferred = q.defer(); |