(appId, collectionName, document, accessList, isMasterKey, opts, encryption_key)
| 98 | }, |
| 99 | |
| 100 | async save(appId, collectionName, document, accessList, isMasterKey, opts, encryption_key) { |
| 101 | const deferred = q.defer(); |
| 102 | |
| 103 | try { |
| 104 | const promises = []; |
| 105 | const reqType = {}; |
| 106 | reqType.save = []; |
| 107 | reqType.update = []; |
| 108 | if (document.constructor === Array) { |
| 109 | for (let i = 0; i < document.length; i++) { |
| 110 | document[i] = _checkIdList(document[i], reqType); |
| 111 | _generateId(document[i], reqType); |
| 112 | |
| 113 | promises.push(_save(appId, collectionName, document[i], accessList, isMasterKey, reqType, opts, encryption_key)); |
| 114 | } |
| 115 | const res = await q.allSettled(promises) |
| 116 | let status = true; |
| 117 | const success = []; |
| 118 | const error = []; |
| 119 | for (let i = 0; i < res.length; i++) { |
| 120 | if (res[i].status === 'fulfilled') { |
| 121 | success.push(res[i].value); |
| 122 | error.push(null); |
| 123 | } else { |
| 124 | status = false; |
| 125 | error.push(res[i].value); |
| 126 | } |
| 127 | } |
| 128 | |
| 129 | if (status === true) { |
| 130 | deferred.resolve(success); |
| 131 | } else { |
| 132 | deferred.resolve(error); |
| 133 | } |
| 134 | } else { |
| 135 | const res = await _save(appId, collectionName, document, accessList, isMasterKey, null, opts, encryption_key); |
| 136 | deferred.resolve(res); |
| 137 | } |
| 138 | } catch (err) { |
| 139 | winston.log('error', { |
| 140 | error: String(err), |
| 141 | stack: new Error().stack, |
| 142 | }); |
| 143 | deferred.reject(err); |
| 144 | } |
| 145 | return deferred.promise; |
| 146 | }, |
| 147 | |
| 148 | delete(appId, collectionName, document, accessList, isMasterKey) { |
| 149 | const deferred = q.defer(); |
nothing calls this directly
no test coverage detected