Skip to content
This repository was archived by the owner on Jun 9, 2023. It is now read-only.

Commit af99bb4

Browse files
eolculnamo2vaibhavsingh97
authored andcommitted
add data models typescript interfaces (#138)
* add data models typescript interfaces * add sponsortype enum * fix linter issue
1 parent 11f584d commit af99bb4

File tree

2 files changed

+122
-0
lines changed

2 files changed

+122
-0
lines changed

.eslintrc.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"rules": {
2929
"prettier/prettier": ["error", { "singleQuote": true }],
3030
"@typescript-eslint/explicit-function-return-type": 0,
31+
"@typescript-eslint/interface-name-prefix": [2 , { "prefixWithI": "always" }],
3132
"react/display-name": 0,
3233
"@typescript-eslint/no-explicit-any": 0
3334
},

types/models.d.ts

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
export enum SponsorType {
2+
Food = 'FOOD',
3+
Venue = 'VENUE',
4+
Other = 'OTHER',
5+
}
6+
7+
export interface IEventSponsor {
8+
eventId: number;
9+
sponsorId: number;
10+
createdAt: Date;
11+
updatedAt: Date;
12+
}
13+
14+
export interface ISponsor {
15+
id: number;
16+
name: string;
17+
website: string;
18+
logoPath: string;
19+
type: SponsorType;
20+
createdAt: Date;
21+
updatedAt: Date;
22+
}
23+
24+
export interface ISocialProviderUser {
25+
id: number;
26+
providerId: number;
27+
providerUserId: string;
28+
userId: number;
29+
createdAt: Date;
30+
updatedAt: Date;
31+
}
32+
33+
export interface ISocialProvider {
34+
id: number;
35+
name: string;
36+
createdAt: Date;
37+
updatedAt: Date;
38+
}
39+
40+
export interface IEvent {
41+
id: number;
42+
name: string;
43+
description: string;
44+
startsAt: Date;
45+
endsAt: Date;
46+
chapterId: number;
47+
venueId: number;
48+
tagId: number;
49+
canceled: boolean;
50+
capacity: number;
51+
createdAt: Date;
52+
updatedAt: Date;
53+
}
54+
55+
export interface ITag {
56+
id: string;
57+
name: string;
58+
}
59+
60+
export interface IVenue {
61+
id: number;
62+
name: string;
63+
locationId: number;
64+
createdAt: Date;
65+
updatedAt: Date;
66+
}
67+
68+
export interface ILocation {
69+
id: number;
70+
countryCode: string;
71+
city: string;
72+
region: string;
73+
postalCode: string;
74+
createdAt: Date;
75+
updatedAt: Date;
76+
}
77+
78+
export interface IUser {
79+
id: number;
80+
firstName: string;
81+
lastName: string;
82+
email: string;
83+
passwordDigest: string;
84+
createdAt: Date;
85+
updatedAt: Date;
86+
}
87+
88+
export interface IUserBan {
89+
userId: number;
90+
chapterId: number;
91+
createdAt: Date;
92+
updatedAt: Date;
93+
}
94+
95+
export interface IChapter {
96+
id: number;
97+
name: string;
98+
description: string;
99+
category: string;
100+
details: string;
101+
locationId: number;
102+
creatorId: number;
103+
createdAt: Date;
104+
updatedAt: Date;
105+
}
106+
107+
export interface IUserChapter {
108+
userId: number;
109+
chapterId: number;
110+
createdAt: Date;
111+
updatedAt: Date;
112+
}
113+
114+
export interface IRsvp {
115+
userId: number;
116+
eventId: number;
117+
date: Date;
118+
onWaitlist: boolean;
119+
createdAt: Date;
120+
updatedAt: Date;
121+
}

0 commit comments

Comments
 (0)