aboutsummaryrefslogtreecommitdiffstats
path: root/src/stores/ServicesStore.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/stores/ServicesStore.js')
-rw-r--r--src/stores/ServicesStore.js24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js
index bd5014aaa..7300a76c8 100644
--- a/src/stores/ServicesStore.js
+++ b/src/stores/ServicesStore.js
@@ -174,9 +174,29 @@ export default class ServicesStore extends Store {
174 const data = this._cleanUpTeamIdAndCustomUrl(service.recipe.id, serviceData); 174 const data = this._cleanUpTeamIdAndCustomUrl(service.recipe.id, serviceData);
175 const request = this.updateServiceRequest.execute(serviceId, data); 175 const request = this.updateServiceRequest.execute(serviceId, data);
176 176
177 const newData = serviceData;
178 if (serviceData.iconFile) {
179 await request._promise;
180
181 newData.iconUrl = request.result.data.iconUrl;
182 newData.hasCustomUploadedIcon = true;
183 }
184
177 this.allServicesRequest.patch((result) => { 185 this.allServicesRequest.patch((result) => {
178 if (!result) return; 186 if (!result) return;
179 Object.assign(result.find(c => c.id === serviceId), serviceData); 187
188 // patch custom icon deletion
189 if (data.customIcon === 'delete') {
190 data.iconUrl = '';
191 data.hasCustomUploadedIcon = false;
192 }
193
194 // patch custom icon url
195 if (data.customIconUrl) {
196 data.iconUrl = data.customIconUrl;
197 }
198
199 Object.assign(result.find(c => c.id === serviceId), newData);
180 }); 200 });
181 201
182 await request._promise; 202 await request._promise;
@@ -325,7 +345,7 @@ export default class ServicesStore extends Store {
325 } 345 }
326 } else if (channel === 'avatar') { 346 } else if (channel === 'avatar') {
327 const url = args[0]; 347 const url = args[0];
328 if (service.customIconUrl !== url) { 348 if (service.iconUrl !== url && !service.hasCustomUploadedIcon) {
329 service.customIconUrl = url; 349 service.customIconUrl = url;
330 350
331 this.actions.service.updateService({ 351 this.actions.service.updateService({