wip
This commit is contained in:
@@ -47,7 +47,11 @@ export const POINTS_TABLE: Record<number, number> = {
|
||||
};
|
||||
|
||||
export function pickOne<T>(items: readonly T[]): T {
|
||||
return items[Math.floor(faker.number.int({ min: 0, max: items.length - 1 }))];
|
||||
if (items.length === 0) {
|
||||
throw new Error('pickOne: empty items array');
|
||||
}
|
||||
const index = faker.number.int({ min: 0, max: items.length - 1 });
|
||||
return items[index]!;
|
||||
}
|
||||
|
||||
export function createDrivers(count: number): Driver[] {
|
||||
@@ -136,18 +140,31 @@ export function createLeagues(ownerIds: string[]): League[] {
|
||||
websiteUrl: 'https://virtual-touring.example.com',
|
||||
}
|
||||
: undefined;
|
||||
|
||||
leagues.push(
|
||||
League.create({
|
||||
id,
|
||||
name,
|
||||
description: faker.lorem.sentence(),
|
||||
ownerId,
|
||||
settings,
|
||||
createdAt: faker.date.past(),
|
||||
socialLinks,
|
||||
}),
|
||||
);
|
||||
|
||||
if (socialLinks) {
|
||||
leagues.push(
|
||||
League.create({
|
||||
id,
|
||||
name,
|
||||
description: faker.lorem.sentence(),
|
||||
ownerId,
|
||||
settings,
|
||||
createdAt: faker.date.past(),
|
||||
socialLinks,
|
||||
}),
|
||||
);
|
||||
} else {
|
||||
leagues.push(
|
||||
League.create({
|
||||
id,
|
||||
name,
|
||||
description: faker.lorem.sentence(),
|
||||
ownerId,
|
||||
settings,
|
||||
createdAt: faker.date.past(),
|
||||
}),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return leagues;
|
||||
@@ -204,11 +221,16 @@ export function createMemberships(
|
||||
? pickOne(leagueTeams)
|
||||
: undefined;
|
||||
|
||||
memberships.push({
|
||||
const membership: RacingMembership = {
|
||||
driverId: driver.id,
|
||||
leagueId: league.id,
|
||||
teamId: team?.id,
|
||||
});
|
||||
};
|
||||
|
||||
if (team) {
|
||||
membership.teamId = team.id;
|
||||
}
|
||||
|
||||
memberships.push(membership);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -354,6 +376,7 @@ export function createFriendships(drivers: Driver[]): Friendship[] {
|
||||
for (let offset = 1; offset <= friendCount; offset++) {
|
||||
const friendIndex = (index + offset) % drivers.length;
|
||||
const friend = drivers[friendIndex];
|
||||
if (!friend) continue;
|
||||
if (friend.id === driver.id) continue;
|
||||
|
||||
friendships.push({
|
||||
|
||||
Reference in New Issue
Block a user