Skip to content

Commit dcbc5b3

Browse files
rm redunant
- rm redunant import - optimize triple nesting
1 parent 10d52ce commit dcbc5b3

File tree

2 files changed

+21
-14
lines changed

2 files changed

+21
-14
lines changed

src/dataLoaders.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import DataLoader from 'dataloader';
22
import { Db, ObjectId } from 'mongodb';
3-
import { PlanDBScheme, UserDBScheme, WorkspaceDBScheme, ProjectDBScheme, ReleaseDBScheme } from '@hawk.so/types';
3+
import { PlanDBScheme, UserDBScheme, WorkspaceDBScheme, ProjectDBScheme } from '@hawk.so/types';
44

55
/**
66
* Class for setting up data loaders

src/models/releaseFactory.ts

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -64,22 +64,29 @@ export default class ReleasesFactory {
6464
},
6565
]).toArray();
6666

67-
return releases.map(release => ({
68-
...release,
69-
files: release.files?.map(file => {
70-
const fileDetail = release.fileDetails?.find(
71-
(detail: SourceMapFileChunk) => detail._id.toString() === file._id?.toString()
72-
);
73-
74-
return {
75-
...file,
76-
size: fileDetail ? fileDetail.length : 0,
77-
};
78-
}),
79-
}));
67+
return releases.map(release => this.enrichReleaseWithFileSizes(release));
8068
} catch (error) {
8169
console.error(`[ReleasesFactory] Error in findManyByProjectId:`, error);
8270
throw error;
8371
}
8472
}
73+
74+
/**
75+
* Enriches release with file sizes from file details
76+
* @param release - release with file details
77+
* @returns enriched release
78+
*/
79+
private enrichReleaseWithFileSizes(release: ReleaseWithFileDetails): ReleaseDBScheme {
80+
const fileDetailsMap = new Map(
81+
release.fileDetails?.map(detail => [detail._id.toString(), detail.length]) || []
82+
);
83+
84+
return {
85+
...release,
86+
files: release.files?.map(file => ({
87+
...file,
88+
size: fileDetailsMap.get(file._id?.toString() || '') || 0,
89+
})),
90+
};
91+
}
8592
}

0 commit comments

Comments
 (0)