Skip to content
This repository was archived by the owner on Jun 27, 2019. It is now read-only.

Commit ee24554

Browse files
fixed save-remove-image hook in case of errors by not rejecting
1 parent 7ae6156 commit ee24554

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

server/helper/seed-helpers.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,10 @@ module.exports = {
7171
return _.shuffle(ngoLogos).pop();
7272
},
7373
randomUnsplashUrl: () => {
74+
if (Math.random() < 0.6) {
75+
// do not attach images in 60 percent of the cases (faster seeding)
76+
return;
77+
}
7478
if (unsplashTopicsTmp.length < 2) {
7579
unsplashTopicsTmp = _.shuffle(unsplashTopics);
7680
}

server/hooks/save-remote-images.js

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
// Use this hook to manipulate incoming or outgoing data.
22
// For more information on hooks see: http://docs.feathersjs.com/api/hooks.html
33

4+
/**
5+
* TODO: Refactor and test that hook
6+
*/
47
const errors = require('feathers-errors');
58
const { isEmpty } = require('lodash');
69
const fs = require('fs');
@@ -78,8 +81,10 @@ module.exports = function (options = []) { // eslint-disable-line no-unused-vars
7881
resolve(hook);
7982
}
8083
} catch (err) {
84+
loading--;
85+
hook.data[field] = null;
8186
hook.app.error(err);
82-
reject(err);
87+
// reject(err);
8388
}
8489
} else if (validUrl.isUri(hook.data[field])) {
8590
// hook.app.debug('SAVE REMOTE IMAGES HOOK');
@@ -91,14 +96,17 @@ module.exports = function (options = []) { // eslint-disable-line no-unused-vars
9196
}, (err, res, body) => {
9297
if (err) {
9398
hook.app.error(err);
94-
reject(err);
99+
loading--;
100+
hook.data[field] = null;
101+
return;
102+
// reject(err);
95103
}
96104
// hook.app.debug(`###got answer for: ${hook.data[field]}`);
97105
try {
98106
const mimeType = res.headers['content-type'];
99107
if (mimeType.indexOf('image') !== 0) {
100108
hook.app.error('its not an image');
101-
reject(new Error('its not an image'));
109+
// reject(new Error('its not an image'));
102110
}
103111

104112
const ext = mime.getExtension(mimeType);
@@ -121,7 +129,9 @@ module.exports = function (options = []) { // eslint-disable-line no-unused-vars
121129
}
122130
} catch (err) {
123131
hook.app.error(err);
124-
reject(err);
132+
loading--;
133+
hook.data[field] = null;
134+
// reject(err);
125135
}
126136
});
127137
} else {
@@ -138,10 +148,11 @@ module.exports = function (options = []) { // eslint-disable-line no-unused-vars
138148
resolve(hook);
139149
}
140150
} catch (err) {
141-
// reject(err);
151+
// // reject(err);
142152
if (imgCount) {
143153
hook.app.error('Thumbnail download failed');
144-
throw new errors.Unprocessable('Thumbnail download failed', { errors: err, urls: urls });
154+
// throw new errors.Unprocessable('Thumbnail download failed', { errors: err, urls: urls });
155+
resolve(hook);
145156
} else {
146157
resolve(hook);
147158
}

0 commit comments

Comments
 (0)