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

Function save

services/cloudObjects.js:100–146  ·  view source on GitHub ↗
(appId, collectionName, document, accessList, isMasterKey, opts, encryption_key)

Source from the content-addressed store, hash-verified

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();

Callers

nothing calls this directly

Calls 3

_checkIdListFunction · 0.85
_generateIdFunction · 0.85
_saveFunction · 0.70

Tested by

no test coverage detected