Skip to content

Commit 125fb5e

Browse files
committed
fix(): avoid mutations on savedFiles
1 parent 9515e2f commit 125fb5e

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

workers/release/src/index.ts

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -181,30 +181,29 @@ export default class ReleaseWorker extends Worker {
181181
/**
182182
* Save id of saved file instead
183183
*/
184-
map._id = fileInfo._id;
185-
186-
return map;
184+
return {
185+
...map,
186+
_id: fileInfo._id,
187+
};
187188
} catch (error) {
188189
this.logger.error(`Map ${map.mapFileName} was not saved: ${error}`);
189190
}
190191
}));
191192

192193
/**
193-
* Delete file content after it is saved to the GridFS
194+
* Filter undefined files and then prepare files that would be saved to releases table
195+
* we do not need their content since it would be stored in gridFS
194196
*/
195-
savedFiles.forEach(file => {
196-
delete file.content;
197+
let savedFilesWithoutContent: Omit<SourceMapDataExtended, 'content'>[] = savedFiles.filter(file => {
198+
return file !== undefined;
199+
}).map(({ content, ...rest }) => {
200+
return rest;
197201
});
198202

199-
/**
200-
* Filter unsaved maps
201-
*/
202-
savedFiles = savedFiles.filter((file) => file !== undefined);
203-
204203
/**
205204
* Nothing to save: maps was previously saved
206205
*/
207-
if (savedFiles.length === 0) {
206+
if (savedFilesWithoutContent.length === 0) {
208207
return;
209208
}
210209

@@ -218,7 +217,7 @@ export default class ReleaseWorker extends Worker {
218217
await this.releasesCollection.insertOne({
219218
projectId: projectId,
220219
release: payload.release,
221-
files: savedFiles as SourceMapDataExtended[],
220+
files: savedFilesWithoutContent,
222221
} as ReleaseDBScheme, { session });
223222
}
224223

@@ -228,7 +227,7 @@ export default class ReleaseWorker extends Worker {
228227
}, {
229228
$push: {
230229
files: {
231-
$each: savedFiles as SourceMapDataExtended[],
230+
$each: savedFilesWithoutContent,
232231
},
233232
},
234233
}, { session });

0 commit comments

Comments
 (0)