Skip to content

Commit d0154fb

Browse files
authored
fix: fixing merge conflicts occurring in git.
1 parent e6ca5c0 commit d0154fb

File tree

1 file changed

+18
-55
lines changed

1 file changed

+18
-55
lines changed
Lines changed: 18 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,23 @@
1-
import csv from 'csv-parser';
2-
import fs from 'fs';
3-
import { Credit, MediaItem } from '../models/index.js';
4-
import { Loader } from './loader.js';
1+
import { Module } from '@nestjs/common';
2+
import { DylanLaffertysLoader } from './dylan_lafferty_loaders.js';
53

6-
export class JustinEklundLoader implements Loader {
7-
getLoaderName(): string {
8-
return 'justineklund';
9-
}
4+
import { AnthonyMaysLoader } from './anthony_mays_loader.js';
5+
import { JustinEklundLoader } from './justin_eklund_loader.js';
106

11-
async loadData(): Promise<MediaItem[]> {
12-
const credits = await this.loadCredits();
13-
const mediaItems = await this.loadMediaItems();
14-
const mediamap = new Map<string, MediaItem>();
15-
mediaItems.forEach((mediaItem) => {
16-
mediamap.set(mediaItem.getId(), mediaItem);
17-
});
18-
for (const mediaitem of mediaItems) {
19-
mediamap.set(mediaitem.getId(), mediaitem);
20-
}
21-
for (const credit of credits) {
22-
const mediaItem = mediamap.get(credit.getMediaItemId());
23-
24-
if (mediaItem) {
25-
mediaItem.addCredit(credit);
26-
}
27-
}
28-
console.log(
29-
`Loaded ${credits.length} credits and ${mediaItems.length} media items`,
30-
);
31-
327

33-
return Array.from(mediamap.values());
34-
}
8+
export const Loaders = Symbol.for('Loaders');
359

36-
async loadMediaItems(): Promise<MediaItem[]> {
37-
const mediaItems = [];
38-
const readable = fs
39-
.createReadStream('data/media_items.csv', 'utf-8')
40-
.pipe(csv());
41-
for await (const row of readable) {
42-
const { id, type, title, year } = row;
43-
mediaItems.push(new MediaItem(id, title, type, year, []));
44-
}
45-
return mediaItems;
46-
}
10+
const LOADER_PROVIDERS = [AnthonyMaysLoader, DylanLaffertysLoader,JustinEklundLoader];
4711

48-
async loadCredits(): Promise<Credit[]> {
49-
const credits = [];
50-
const readable = fs
51-
.createReadStream('data/credits.csv', 'utf-8')
52-
.pipe(csv());
53-
for await (const row of readable) {
54-
const { media_item_id, role, name } = row;
55-
credits.push(new Credit(media_item_id, name, role));
56-
}
57-
return credits;
58-
}
59-
}
60-
// got assistance from ai and copilot aswell as Meiko ,Mercedes and Dillon
12+
@Module({
13+
providers: [
14+
...LOADER_PROVIDERS,
15+
{
16+
provide: Loaders,
17+
useFactory: (...args) => [...args],
18+
inject: LOADER_PROVIDERS,
19+
},
20+
],
21+
exports: [Loaders],
22+
})
23+
export class LoadersModule {}

0 commit comments

Comments
 (0)