Skip to content
This repository was archived by the owner on Sep 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions server/factories/event_sponsor.factory.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import Faker from 'faker';
import { define } from 'typeorm-seeding';

import { EventSponsor } from '../models/EventSponsor';
import { Event } from '../models/Event';
import { Sponsor } from '../models/Sponsor';

define(EventSponsor, (
_faker: typeof Faker,
params: { event: Event; sponsor: Sponsor },
) => {
const { event, sponsor } = params;

const eventSponsor = new EventSponsor({
sponsor,
event,
});

return eventSponsor;
});
22 changes: 22 additions & 0 deletions server/factories/rsvp.factory.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import Faker from 'faker';
import { define } from 'typeorm-seeding';

import { Rsvp } from '../models/Rsvp';
import { Event } from '../models/Event';
import { User } from '../models/User';

define(Rsvp, (faker: typeof Faker, params: { user: User; event: Event }) => {
const { user, event } = params;

const date = faker.date.future();
const on_waitlist = faker.random.boolean();

const rsvp = new Rsvp({
date,
on_waitlist,
user,
event,
});

return rsvp;
});
12 changes: 12 additions & 0 deletions server/factories/social_provider.factory.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import Faker from 'faker';
import { define } from 'typeorm-seeding';

import { SocialProvider } from '../models/SocialProvider';

define(SocialProvider, (_faker: typeof Faker) => {
const socialProvider = new SocialProvider({
name: 'gauth',
});

return socialProvider;
});
20 changes: 20 additions & 0 deletions server/factories/social_provider_user.factory.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import Faker from 'faker';
import { define } from 'typeorm-seeding';

import { SocialProviderUser } from '../models/SocialProviderUser';
import { SocialProvider } from '../models/SocialProvider';
import { User } from '../models/User';

define(SocialProviderUser, (
_faker: typeof Faker,
params: { user: User; socialProvider: SocialProvider },
) => {
const { user, socialProvider } = params;

const socialProviderUser = new SocialProviderUser({
user,
socialProvider,
});

return socialProviderUser;
});
22 changes: 22 additions & 0 deletions server/factories/sponsor.factory.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import Faker from 'faker';
import { define } from 'typeorm-seeding';

import { Sponsor } from '../models/Sponsor';
import { SponsorTypes } from '../../types/SponsorTypes';
import { randomEnum } from '../util/Utilities';

define(Sponsor, (faker: typeof Faker) => {
const name = faker.company.companyName();
const website = faker.internet.url();
const logoPath = faker.system.commonFileName('png');
const type = String(randomEnum(SponsorTypes));

const sponsor = new Sponsor({
name,
website,
logoPath,
type,
});

return sponsor;
});
18 changes: 18 additions & 0 deletions server/factories/tag.factory.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import Faker from 'faker';
import { define } from 'typeorm-seeding';

import { Tag } from '../models/Tag';
import { Event } from '../models/Event';

define(Tag, (faker: typeof Faker, params: { event: Event }) => {
const { event } = params;

const name = faker.company.companyName();

const tag = new Tag({
name,
event,
});

return tag;
});
4 changes: 2 additions & 2 deletions server/factories/user.factory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import { define } from 'typeorm-seeding';
import { User } from '../models/User';

define(User, (faker: typeof Faker) => {
const location = new User({
const user = new User({
email: faker.internet.email(),
first_name: faker.name.firstName(),
last_name: faker.name.lastName(),
});

return location;
return user;
});
20 changes: 20 additions & 0 deletions server/factories/user_ban.factory.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import Faker from 'faker';
import { define } from 'typeorm-seeding';

import { UserBan } from '../models/UserBan';
import { Chapter } from '../models/Chapter';
import { User } from '../models/User';

define(UserBan, (
_faker: typeof Faker,
params: { user: User; chapter: Chapter },
) => {
const { user, chapter } = params;

const userBan = new UserBan({
user,
chapter,
});

return userBan;
});
20 changes: 20 additions & 0 deletions server/factories/user_chapter.factory.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import Faker from 'faker';
import { define } from 'typeorm-seeding';

import { UserChapter } from '../models/UserChapter';
import { Chapter } from '../models/Chapter';
import { User } from '../models/User';

define(UserChapter, (
_faker: typeof Faker,
params: { user: User; chapter: Chapter },
) => {
const { user, chapter } = params;

const userChapter = new UserChapter({
user,
chapter,
});

return userChapter;
});
8 changes: 8 additions & 0 deletions server/seeds/005_sponsor.seed.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { Factory, Seeder } from 'typeorm-seeding';
import { Sponsor } from '../models/Sponsor';

export default class CreateSponsors implements Seeder {
public async run(factory: Factory): Promise<any> {
await factory(Sponsor)().seedMany(5);
}
}
12 changes: 12 additions & 0 deletions server/seeds/006_tag.seed.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { Factory, Seeder } from 'typeorm-seeding';

import { Tag } from '../models/Tag';
import { Event } from '../models/Event';

export default class CreateTags implements Seeder {
public async run(factory: Factory): Promise<any> {
const event = await Event.findOne();

await factory(Tag)({ event }).seedMany(5);
}
}
14 changes: 14 additions & 0 deletions server/seeds/007_user_ban.seed.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { Factory, Seeder } from 'typeorm-seeding';

import { Chapter } from '../models/Chapter';
import { User } from '../models/User';
import { UserBan } from '../models/UserBan';

export default class CreateUserBans implements Seeder {
public async run(factory: Factory): Promise<any> {
const user = await User.findOne();
const chapter = await Chapter.findOne();

await factory(UserBan)({ user, chapter }).seedMany(5);
}
}
14 changes: 14 additions & 0 deletions server/seeds/008_user_chapter.seed.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { Factory, Seeder } from 'typeorm-seeding';

import { Chapter } from '../models/Chapter';
import { User } from '../models/User';
import { UserChapter } from '../models/UserChapter';

export default class CreateUserChapter implements Seeder {
public async run(factory: Factory): Promise<any> {
const user = await User.findOne();
const chapter = await Chapter.findOne();

await factory(UserChapter)({ user, chapter }).seedMany(5);
}
}
9 changes: 9 additions & 0 deletions server/seeds/009_social_provider.seed.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { Factory, Seeder } from 'typeorm-seeding';

import { SocialProvider } from '../models/SocialProvider';

export default class CreateSocialProvider implements Seeder {
public async run(factory: Factory): Promise<any> {
await factory(SocialProvider)().seedMany(5);
}
}
17 changes: 17 additions & 0 deletions server/seeds/010_social_provider_users.seed.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { Factory, Seeder } from 'typeorm-seeding';

import { SocialProvider } from '../models/SocialProvider';
import { User } from '../models/User';
import { SocialProviderUser } from '../models/SocialProviderUser';

export default class CreateSocialProviderUser implements Seeder {
public async run(factory: Factory): Promise<any> {
const user = await User.findOne();
const socialProvider = await SocialProvider.findOne();

await factory(SocialProviderUser)({
user,
socialProvider,
}).seedMany(5);
}
}
14 changes: 14 additions & 0 deletions server/seeds/011_rsvp.seed.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { Factory, Seeder } from 'typeorm-seeding';

import { Event } from '../models/Event';
import { User } from '../models/User';
import { Rsvp } from '../models/Rsvp';

export default class CreateRsvp implements Seeder {
public async run(factory: Factory): Promise<any> {
const user = await User.findOne();
const event = await Event.findOne();

await factory(Rsvp)({ user, event }).seedMany(5);
}
}
14 changes: 14 additions & 0 deletions server/seeds/012_event_sponsor.seed.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { Factory, Seeder } from 'typeorm-seeding';

import { EventSponsor } from '../models/EventSponsor';
import { Event } from '../models/Event';
import { Sponsor } from '../models/Sponsor';

export default class CreateEventSponsor implements Seeder {
public async run(factory: Factory): Promise<any> {
const event = await Event.findOne();
const sponsor = await Sponsor.findOne();

await factory(EventSponsor)({ event, sponsor }).seedMany(5);
}
}
9 changes: 9 additions & 0 deletions server/util/Utilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,12 @@ export default class Utilities {
return !values.filter((val: any) => !val && val !== 0).length;
}
}

export const randomEnum = <T>(anEnum: T): T[keyof T] => {
const enumValues = (Object.keys(anEnum)
.map(n => Number.parseInt(n))
.filter(n => !Number.isNaN(n)) as unknown) as T[keyof T][];
const randomIndex = Math.floor(Math.random() * enumValues.length);
const randomEnumValue = anEnum[randomIndex];
return randomEnumValue;
};
5 changes: 5 additions & 0 deletions types/SponsorTypes.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export enum SponsorTypes {
'FOOD',
'VENUE',
'OTHER',
}