seed data

This commit is contained in:
2025-12-26 22:22:39 +01:00
parent 1e8d84b31b
commit b4f86abf90
10 changed files with 926 additions and 218 deletions

View File

@@ -16,13 +16,18 @@ export type RacingSeedData = {
};
export class InMemoryFeedRepository implements IFeedRepository {
private readonly feedEvents: FeedItem[];
private readonly friendships: Friendship[];
private feedEvents: FeedItem[];
private friendships: Friendship[];
private readonly logger: Logger;
constructor(logger: Logger, seed: RacingSeedData) {
constructor(logger: Logger, seed?: RacingSeedData) {
this.logger = logger;
this.logger.info('InMemoryFeedRepository initialized.');
this.feedEvents = seed?.feedEvents ?? [];
this.friendships = seed?.friendships ?? [];
}
seed(seed: RacingSeedData): void {
this.feedEvents = seed.feedEvents;
this.friendships = seed.friendships;
}
@@ -72,13 +77,18 @@ export class InMemoryFeedRepository implements IFeedRepository {
}
export class InMemorySocialGraphRepository implements ISocialGraphRepository {
private readonly friendships: Friendship[];
private readonly driversById: Map<string, Driver>;
private friendships: Friendship[];
private driversById: Map<string, Driver>;
private readonly logger: Logger;
constructor(logger: Logger, seed: RacingSeedData) {
constructor(logger: Logger, seed?: RacingSeedData) {
this.logger = logger;
this.logger.info('InMemorySocialGraphRepository initialized.');
this.friendships = seed?.friendships ?? [];
this.driversById = new Map((seed?.drivers ?? []).map((d) => [d.id, d]));
}
seed(seed: RacingSeedData): void {
this.friendships = seed.friendships;
this.driversById = new Map(seed.drivers.map((d) => [d.id, d]));
}