MCPcopy Index your code
hub / github.com/chartbrew/chartbrew / update

Method update

server/controllers/ChartController.js:165–256  ·  view source on GitHub ↗
(id, data, user, justUpdates)

Source from the content-addressed store, hash-verified

163 }
164
165 update(id, data, user, justUpdates) {
166 if (data.autoUpdate || data.autoUpdate === 0) {
167 return db.Chart.update(data, {
168 where: { id },
169 attributes: { exclude: ["chartData"] },
170 })
171 .then(() => {
172 const updatePromises = [];
173
174 if (data.ChartDatasets || data.dataRequests) {
175 if (data.ChartDatasets) {
176 updatePromises
177 .push(this.updateDatasets(id, data.ChartDatasets));
178 }
179 if (data.dataRequests) {
180 data.dataRequests.forEach((dataRequest) => {
181 if (dataRequest.id) {
182 updatePromises
183 .push(this.dataRequestController.update(dataRequest.id, dataRequest));
184 }
185 });
186 }
187
188 return Promise.all(updatePromises).then(() => this.findById(id));
189 } else {
190 return this.findById(id);
191 }
192 })
193 .catch((error) => {
194 return new Promise((resolve, reject) => reject(error));
195 });
196 }
197
198 return db.Chart.update(data, {
199 where: { id },
200 })
201 .then(() => {
202 // clear chart cache
203 if (user) {
204 this.chartCache.remove(user.id, id);
205 }
206
207 const updatePromises = [];
208 if (data.ChartDatasetConfigs || data.dataRequests) {
209 if (data.ChartDatasetConfigs) {
210 const datasetsToUpdate = [];
211 for (const dataset of data.ChartDatasetConfigs) {
212 if (!dataset.deleted && !dataset.id) {
213 dataset.chart_id = id;
214 updatePromises.push(this.datasetController.create(dataset));
215 } else if (!dataset.deleted && dataset.id) {
216 datasetsToUpdate.push(dataset);
217 }
218 }
219
220 if (datasetsToUpdate.length > 0) {
221 updatePromises
222 .push(this.updateDatasets(id, data.ChartDatasetConfigs));

Callers 7

changeDashboardOrderMethod · 0.95
updateChartDataMethod · 0.95
getChartDataMethod · 0.95
updateDatasetsMethod · 0.45
generateShareTokenMethod · 0.45
updateShareMethod · 0.45

Calls 4

updateDatasetsMethod · 0.95
findByIdMethod · 0.95
removeMethod · 0.45
createMethod · 0.45

Tested by

no test coverage detected