@winible/winible-typed 1.0.7 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/migrations/20220601151258-custom_name_describing_your_migration.d.ts +6 -0
  3. package/dist/migrations/20220605225655-create-dashboard-user-permissions.d.ts +6 -0
  4. package/dist/migrations/20220606001300-update-dashboard-user-permissions.d.ts +6 -0
  5. package/dist/migrations/20220607091109-add-read-date-for-message.d.ts +6 -0
  6. package/dist/migrations/20220616225456-add-delete-columns.d.ts +6 -0
  7. package/dist/migrations/20220709202211-disable-feed.d.ts +6 -0
  8. package/dist/migrations/20220723215213-limit-promotion-claims.d.ts +6 -0
  9. package/dist/migrations/20220723220233-num_claims.d.ts +6 -0
  10. package/dist/migrations/20220723221907-default_false_promos.d.ts +6 -0
  11. package/dist/migrations/20220724172559-default_zero_claims.d.ts +6 -0
  12. package/dist/migrations/20220724201419-pinned_post.d.ts +6 -0
  13. package/dist/migrations/20220729164625-unsend_mass.d.ts +6 -0
  14. package/dist/migrations/20220823033002-interval-unit.d.ts +6 -0
  15. package/dist/migrations/20220830193530-processorId.d.ts +6 -0
  16. package/dist/migrations/20220907121932-add-processor-to-sub.d.ts +6 -0
  17. package/dist/migrations/20220907212232-add-trans-id.d.ts +6 -0
  18. package/dist/migrations/20220907220423-big-int-trans.d.ts +6 -0
  19. package/dist/migrations/20220909161902-add-stale.d.ts +6 -0
  20. package/dist/migrations/20220922000225-verified-spender.d.ts +6 -0
  21. package/dist/migrations/20220922212108-verified-spender-2.d.ts +6 -0
  22. package/dist/migrations/20221013223648-product-subscription-list.d.ts +6 -0
  23. package/dist/migrations/20221014001037-product-subscription-list.d.ts +6 -0
  24. package/dist/migrations/20221026055245-update-type.d.ts +6 -0
  25. package/dist/migrations/20221108060019-recurly-sub.d.ts +6 -0
  26. package/dist/migrations/20221110170148-rename-recurly-account.d.ts +6 -0
  27. package/dist/migrations/20221112212510-archive-promo.d.ts +6 -0
  28. package/dist/migrations/20221117044529-sub-status.d.ts +6 -0
  29. package/dist/migrations/20221122051433-default-plan.d.ts +6 -0
  30. package/dist/migrations/20221128034620-invoice-id.d.ts +6 -0
  31. package/dist/migrations/20230104055346-oddsjam.js +501 -0
  32. package/dist/migrations/20230104055346-oddsjam.js.map +1 -0
  33. package/dist/migrations/20230104233909-markets.js +28 -0
  34. package/dist/migrations/20230104233909-markets.js.map +1 -0
  35. package/dist/migrations/20230105005418-sportsbook.js +24 -0
  36. package/dist/migrations/20230105005418-sportsbook.js.map +1 -0
  37. package/dist/migrations/20230106044910-player-result.js +59 -0
  38. package/dist/migrations/20230106044910-player-result.js.map +1 -0
  39. package/dist/scripts/bet-syncing/gradeBets.js +109 -0
  40. package/dist/scripts/bet-syncing/gradeBets.js.map +1 -0
  41. package/dist/scripts/bet-syncing/pullGames.js +198 -0
  42. package/dist/scripts/bet-syncing/pullGames.js.map +1 -0
  43. package/dist/scripts/bet-syncing/pullLiveScores.js +187 -0
  44. package/dist/scripts/bet-syncing/pullLiveScores.js.map +1 -0
  45. package/dist/scripts/bet-syncing/pullOdds.js +255 -0
  46. package/dist/scripts/bet-syncing/pullOdds.js.map +1 -0
  47. package/dist/scripts/bet-syncing/pullPlayerResults.js +63 -0
  48. package/dist/scripts/bet-syncing/pullPlayerResults.js.map +1 -0
  49. package/dist/scripts/bet-syncing/pullPlayers.js +59 -0
  50. package/dist/scripts/bet-syncing/pullPlayers.js.map +1 -0
  51. package/dist/scripts/bet-syncing/pullScores.js +183 -0
  52. package/dist/scripts/bet-syncing/pullScores.js.map +1 -0
  53. package/dist/scripts/bet-syncing/pullTeams.d.ts +1 -0
  54. package/dist/scripts/bet-syncing/pullTeams.js +85 -0
  55. package/dist/scripts/bet-syncing/pullTeams.js.map +1 -0
  56. package/dist/scripts/cleanupRecurlyPlans.d.ts +1 -0
  57. package/dist/scripts/createDashboardLink.d.ts +1 -0
  58. package/dist/scripts/createDashboardLink.js +4 -4
  59. package/dist/scripts/createDashboardLink.js.map +1 -1
  60. package/dist/scripts/createRecurlyPlans.d.ts +1 -0
  61. package/dist/scripts/deleteMalformedImages.d.ts +1 -0
  62. package/dist/scripts/fixSaltedPasswords.js +40 -0
  63. package/dist/scripts/fixSaltedPasswords.js.map +1 -0
  64. package/dist/scripts/mapCurrentPaymentsToInvoiceId.d.ts +1 -0
  65. package/dist/scripts/payoutRecurlySubs.d.ts +1 -0
  66. package/dist/scripts/payoutSubscriptions.d.ts +1 -0
  67. package/dist/scripts/payoutSubscriptions.js +18 -10
  68. package/dist/scripts/payoutSubscriptions.js.map +1 -1
  69. package/dist/scripts/removeUnreferenceSubs.d.ts +1 -0
  70. package/dist/scripts/test.d.ts +1 -0
  71. package/dist/scripts/test.js +3 -21
  72. package/dist/scripts/test.js.map +1 -1
  73. package/dist/slack/index.d.ts +1 -0
  74. package/dist/{server → slack}/index.js +0 -4
  75. package/dist/slack/index.js.map +1 -0
  76. package/dist/slack/v1/bypassCreator.d.ts +8 -0
  77. package/dist/slack/v1/bypassCreator.js.map +1 -0
  78. package/dist/slack/v1/cancelSubscription.d.ts +6 -0
  79. package/dist/slack/v1/cancelSubscription.js.map +1 -0
  80. package/dist/slack/v1/changeName.d.ts +8 -0
  81. package/dist/slack/v1/changeName.js.map +1 -0
  82. package/dist/slack/v1/checkAuthSub.d.ts +6 -0
  83. package/dist/{server → slack}/v1/checkAuthSub.js +5 -5
  84. package/dist/slack/v1/checkAuthSub.js.map +1 -0
  85. package/dist/slack/v1/dashboardLink.d.ts +8 -0
  86. package/dist/{server → slack}/v1/dashboardLink.js +1 -1
  87. package/dist/slack/v1/dashboardLink.js.map +1 -0
  88. package/dist/slack/v1/index.d.ts +7 -0
  89. package/dist/{server → slack}/v1/index.js +1 -8
  90. package/dist/slack/v1/index.js.map +1 -0
  91. package/dist/slack/v1/refund.d.ts +6 -0
  92. package/dist/slack/v1/refund.js +42 -0
  93. package/dist/slack/v1/refund.js.map +1 -0
  94. package/dist/slack/v1/searchUser.d.ts +6 -0
  95. package/dist/slack/v1/searchUser.js.map +1 -0
  96. package/dist/src/index.d.ts +3 -0
  97. package/dist/src/pk-client.d.ts +151 -0
  98. package/dist/src/pk-sub.d.ts +77 -0
  99. package/dist/src/recurlyInstance.d.ts +3 -0
  100. package/dist/src/types.d.ts +30 -0
  101. package/dist/support/index.d.ts +2 -0
  102. package/dist/support/slack-client.d.ts +3 -0
  103. package/dist/support/uploadcare.d.ts +14 -0
  104. package/dist/support/utils.d.ts +2 -0
  105. package/dist/typed-model/asset-category.d.ts +9 -0
  106. package/dist/typed-model/asset-constent-person.d.ts +13 -0
  107. package/dist/typed-model/bet.d.ts +12 -0
  108. package/dist/typed-model/bet.js +64 -0
  109. package/dist/typed-model/bet.js.map +1 -0
  110. package/dist/typed-model/blocked-ip.d.ts +8 -0
  111. package/dist/typed-model/category-tag.d.ts +9 -0
  112. package/dist/typed-model/consent-person.d.ts +13 -0
  113. package/dist/typed-model/content-category-tag.d.ts +9 -0
  114. package/dist/typed-model/content-like.d.ts +10 -0
  115. package/dist/typed-model/credit-payment.d.ts +34 -0
  116. package/dist/typed-model/credit-payout.d.ts +10 -0
  117. package/dist/typed-model/credit-purchase.d.ts +10 -0
  118. package/dist/typed-model/customer-profile.d.ts +17 -0
  119. package/dist/typed-model/dashboard-user-permissions.d.ts +9 -0
  120. package/dist/typed-model/dashboard-user.d.ts +20 -0
  121. package/dist/typed-model/fan-list.d.ts +10 -0
  122. package/dist/typed-model/fraud.d.ts +9 -0
  123. package/dist/typed-model/game.d.ts +56 -0
  124. package/dist/typed-model/game.js +234 -0
  125. package/dist/typed-model/game.js.map +1 -0
  126. package/dist/typed-model/index.d.ts +46 -0
  127. package/dist/typed-model/index.js +15 -1
  128. package/dist/typed-model/index.js.map +1 -1
  129. package/dist/typed-model/league.d.ts +9 -0
  130. package/dist/typed-model/league.js +35 -0
  131. package/dist/typed-model/league.js.map +1 -0
  132. package/dist/typed-model/list-member.d.ts +9 -0
  133. package/dist/typed-model/market.js +36 -0
  134. package/dist/typed-model/market.js.map +1 -0
  135. package/dist/typed-model/mass-message.d.ts +11 -0
  136. package/dist/typed-model/media-asset.d.ts +15 -0
  137. package/dist/typed-model/media-category.d.ts +10 -0
  138. package/dist/typed-model/media.d.ts +14 -0
  139. package/dist/typed-model/message-media.d.ts +9 -0
  140. package/dist/typed-model/message.d.ts +27 -0
  141. package/dist/typed-model/notification.d.ts +18 -0
  142. package/dist/typed-model/odds.d.ts +30 -0
  143. package/dist/typed-model/odds.js +155 -0
  144. package/dist/typed-model/odds.js.map +1 -0
  145. package/dist/typed-model/parlay.d.ts +8 -0
  146. package/dist/typed-model/parlay.js +30 -0
  147. package/dist/typed-model/parlay.js.map +1 -0
  148. package/dist/typed-model/pb-sequelize.d.ts +3 -0
  149. package/dist/typed-model/phone-chat-participation.d.ts +20 -0
  150. package/dist/typed-model/phone-chat.d.ts +16 -0
  151. package/dist/typed-model/phone-owner.d.ts +53 -0
  152. package/dist/typed-model/phone-user.d.ts +21 -0
  153. package/dist/typed-model/player-result.js +67 -0
  154. package/dist/typed-model/player-result.js.map +1 -0
  155. package/dist/typed-model/player.d.ts +22 -0
  156. package/dist/typed-model/player.js +87 -0
  157. package/dist/typed-model/player.js.map +1 -0
  158. package/dist/typed-model/premium-content.d.ts +23 -0
  159. package/dist/typed-model/purchased-content.d.ts +11 -0
  160. package/dist/typed-model/recurly-account.d.ts +9 -0
  161. package/dist/typed-model/short-url.d.ts +12 -0
  162. package/dist/typed-model/sportsbook.js +31 -0
  163. package/dist/typed-model/sportsbook.js.map +1 -0
  164. package/dist/typed-model/subscription-bundle.d.ts +12 -0
  165. package/dist/typed-model/subscription-category-tags.d.ts +9 -0
  166. package/dist/typed-model/subscription-plan.d.ts +27 -0
  167. package/dist/typed-model/subscription-promotion.d.ts +19 -0
  168. package/dist/typed-model/subscription.d.ts +26 -0
  169. package/dist/typed-model/team.d.ts +16 -0
  170. package/dist/typed-model/team.js +70 -0
  171. package/dist/typed-model/team.js.map +1 -0
  172. package/dist/typed-model/twilio-phone.d.ts +17 -0
  173. package/dist/typed-model/user-follow.d.ts +13 -0
  174. package/dist/typed-model/verification-code.d.ts +11 -0
  175. package/dist/webhooks/index.d.ts +1 -0
  176. package/dist/webhooks/index.js +48 -0
  177. package/dist/webhooks/index.js.map +1 -0
  178. package/dist/webhooks/payment/index.d.ts +1 -0
  179. package/dist/webhooks/payment/index.js +9 -0
  180. package/dist/webhooks/payment/index.js.map +1 -0
  181. package/dist/webhooks/payment/refund.d.ts +2 -0
  182. package/dist/webhooks/payment/refund.js +39 -0
  183. package/dist/webhooks/payment/refund.js.map +1 -0
  184. package/package.json +3 -1
  185. package/typed-model/bet.ts +84 -0
  186. package/typed-model/game.ts +311 -0
  187. package/typed-model/index.ts +7 -0
  188. package/typed-model/league.ts +53 -0
  189. package/typed-model/market.ts +54 -0
  190. package/typed-model/odds.ts +232 -0
  191. package/typed-model/parlay.ts +47 -0
  192. package/typed-model/player-result.ts +93 -0
  193. package/typed-model/player.ts +118 -0
  194. package/typed-model/sportsbook.ts +48 -0
  195. package/typed-model/team.ts +91 -0
  196. package/dist/scripts/authorizeTransfer.js +0 -188
  197. package/dist/scripts/authorizeTransfer.js.map +0 -1
  198. package/dist/server/index.js.map +0 -1
  199. package/dist/server/v1/bypassCreator.js.map +0 -1
  200. package/dist/server/v1/cancelSubscription.js.map +0 -1
  201. package/dist/server/v1/changeName.js.map +0 -1
  202. package/dist/server/v1/checkAuthSub.js.map +0 -1
  203. package/dist/server/v1/dashboardLink.js.map +0 -1
  204. package/dist/server/v1/getSuspendedSubs.js +0 -76
  205. package/dist/server/v1/getSuspendedSubs.js.map +0 -1
  206. package/dist/server/v1/index.js.map +0 -1
  207. package/dist/server/v1/manualCreateSub.js +0 -159
  208. package/dist/server/v1/manualCreateSub.js.map +0 -1
  209. package/dist/server/v1/refund.js +0 -78
  210. package/dist/server/v1/refund.js.map +0 -1
  211. package/dist/server/v1/retrySubscription.js +0 -81
  212. package/dist/server/v1/retrySubscription.js.map +0 -1
  213. package/dist/server/v1/searchUser.js.map +0 -1
  214. /package/dist/{server → slack}/v1/bypassCreator.js +0 -0
  215. /package/dist/{server → slack}/v1/cancelSubscription.js +0 -0
  216. /package/dist/{server → slack}/v1/changeName.js +0 -0
  217. /package/dist/{server → slack}/v1/searchUser.js +0 -0
@@ -0,0 +1,311 @@
1
+ import {
2
+ Model,
3
+ InferAttributes,
4
+ InferCreationAttributes,
5
+ CreationOptional,
6
+ DataTypes,
7
+ fn,
8
+ } from "sequelize";
9
+
10
+ import sequelize from "./pb-sequelize";
11
+ import Team from "./team";
12
+
13
+ // order of InferAttributes & InferCreationAttributes is important.
14
+ class Game extends Model<InferAttributes<Game>, InferCreationAttributes<Game>> {
15
+ // 'CreationOptional' is a special type that marks the field as optional
16
+ // when creating an instance of the model (such as using Model.create()).
17
+ declare id: CreationOptional<string>;
18
+ declare oddsJamId: string;
19
+ declare sport:
20
+ | "football"
21
+ | "basketball"
22
+ | "baseball"
23
+ | "mma"
24
+ | "boxing"
25
+ | "hockey"
26
+ | "soccer"
27
+ | "tennis"
28
+ | "golf"
29
+ | "motorsports"
30
+ | "esports";
31
+ declare league: string;
32
+ declare startDate: Date;
33
+ declare homeTeam: string;
34
+ declare awayTeam: string;
35
+ declare isLive: boolean;
36
+ declare tournament?: string;
37
+ declare homeTeamId: string;
38
+ declare homeOddsJamTeamId?: string;
39
+ declare awayTeamId: string;
40
+ declare awayOddsJamTeamId?: string;
41
+ declare leagueId: string;
42
+ declare clock?: string;
43
+ declare period?: string;
44
+ declare status?: string;
45
+ declare weather?: string;
46
+ declare broadcast?: string;
47
+ declare lastPlay?: string;
48
+ declare venueName?: string;
49
+ declare description?: string;
50
+ declare seasonType?: string;
51
+ declare seasonWeek?: string;
52
+ declare seasonYear?: string;
53
+ declare awayStarter?: string;
54
+ declare currentOuts?: number;
55
+ declare homeStarter?: string;
56
+ declare weatherTemp?: string;
57
+ declare awayTeamAbb?: string;
58
+ declare currentBalls?: string;
59
+ declare homeTeamAbb?: string;
60
+ declare awayTeamCity?: string;
61
+ declare awayTeamName?: string;
62
+ declare homeTeamCity?: string;
63
+ declare homeTeamName?: string;
64
+ declare venueLocation?: string;
65
+ declare currentStrikes?: number;
66
+ declare runnerOnFirst?: string;
67
+ declare runnerOnThird?: string;
68
+ declare runnerOnSecond?: string;
69
+ declare scoreAwayTotal?: number;
70
+ declare scoreHomeTotal?: number;
71
+ declare weatherTempHigh?: string;
72
+ declare currentPossession?: string;
73
+ declare currentBatterName?: string;
74
+ declare scoreAwayPeriods?: number[];
75
+ declare scoreHomePeriods?: number[];
76
+ declare currentPitcherName?: string;
77
+ declare currentDownAndDistance?: string;
78
+ declare createdAt: CreationOptional<Date>;
79
+ declare updatedAt: CreationOptional<Date>;
80
+
81
+ declare homeTeamInstance?: Team;
82
+ declare awayTeamInstance?: Team;
83
+ }
84
+
85
+ Game.init(
86
+ {
87
+ id: {
88
+ type: DataTypes.BIGINT,
89
+ primaryKey: true,
90
+ allowNull: false,
91
+ defaultValue: sequelize.fn("next_id"),
92
+ },
93
+ oddsJamId: {
94
+ type: DataTypes.STRING,
95
+ field: "odds_jam_id",
96
+ unique: true,
97
+ },
98
+ sport: {
99
+ type: DataTypes.STRING,
100
+ field: "sport",
101
+ },
102
+ league: {
103
+ type: DataTypes.STRING,
104
+ field: "league",
105
+ },
106
+ startDate: {
107
+ type: DataTypes.DATE,
108
+ field: "start_date",
109
+ },
110
+ homeTeam: {
111
+ type: DataTypes.STRING,
112
+ field: "home_team",
113
+ },
114
+ awayTeam: {
115
+ type: DataTypes.STRING,
116
+ field: "away_team",
117
+ },
118
+ isLive: {
119
+ type: DataTypes.BOOLEAN,
120
+ field: "is_live",
121
+ },
122
+ tournament: {
123
+ type: DataTypes.STRING,
124
+ field: "tournament",
125
+ },
126
+ homeTeamId: {
127
+ type: DataTypes.BIGINT,
128
+ field: "home_team_id",
129
+ },
130
+ homeOddsJamTeamId: {
131
+ type: DataTypes.STRING,
132
+ field: "home_odds_jam_team_id",
133
+ },
134
+ awayTeamId: {
135
+ type: DataTypes.BIGINT,
136
+ field: "away_team_id",
137
+ },
138
+ awayOddsJamTeamId: {
139
+ type: DataTypes.STRING,
140
+ field: "away_odds_jam_team_id",
141
+ },
142
+ leagueId: {
143
+ type: DataTypes.BIGINT,
144
+ field: "league_id",
145
+ },
146
+ clock: {
147
+ type: DataTypes.STRING,
148
+ field: "clock",
149
+ },
150
+ period: {
151
+ type: DataTypes.STRING,
152
+ field: "period",
153
+ },
154
+ status: {
155
+ type: DataTypes.STRING,
156
+ field: "status",
157
+ },
158
+ weather: {
159
+ type: DataTypes.STRING,
160
+ field: "weather",
161
+ },
162
+ broadcast: {
163
+ type: DataTypes.STRING,
164
+ field: "broadcast",
165
+ },
166
+ lastPlay: {
167
+ type: DataTypes.STRING,
168
+ field: "last_play",
169
+ },
170
+ venueName: {
171
+ type: DataTypes.STRING,
172
+ field: "venue_name",
173
+ },
174
+ description: {
175
+ type: DataTypes.STRING,
176
+ field: "description",
177
+ },
178
+ seasonType: {
179
+ type: DataTypes.STRING,
180
+ field: "season_type",
181
+ },
182
+ seasonWeek: {
183
+ type: DataTypes.STRING,
184
+ field: "season_week",
185
+ },
186
+ seasonYear: {
187
+ type: DataTypes.STRING,
188
+ field: "season_year",
189
+ },
190
+ awayStarter: {
191
+ type: DataTypes.STRING,
192
+ field: "away_starter",
193
+ },
194
+ currentOuts: {
195
+ type: DataTypes.INTEGER,
196
+ field: "current_outs",
197
+ },
198
+ homeStarter: {
199
+ type: DataTypes.STRING,
200
+ field: "home_starter",
201
+ },
202
+ weatherTemp: {
203
+ type: DataTypes.STRING,
204
+ field: "weather_temp",
205
+ },
206
+ awayTeamAbb: {
207
+ type: DataTypes.STRING,
208
+ field: "away_team_abb",
209
+ },
210
+ currentBalls: {
211
+ type: DataTypes.STRING,
212
+ field: "current_balls",
213
+ },
214
+ homeTeamAbb: {
215
+ type: DataTypes.STRING,
216
+ field: "home_team_abb",
217
+ },
218
+ awayTeamCity: {
219
+ type: DataTypes.STRING,
220
+ field: "away_team_city",
221
+ },
222
+ awayTeamName: {
223
+ type: DataTypes.STRING,
224
+ field: "away_team_name",
225
+ },
226
+ homeTeamCity: {
227
+ type: DataTypes.STRING,
228
+ field: "home_team_city",
229
+ },
230
+ homeTeamName: {
231
+ type: DataTypes.STRING,
232
+ field: "home_team_name",
233
+ },
234
+ venueLocation: {
235
+ type: DataTypes.STRING,
236
+ field: "venue_location",
237
+ },
238
+ currentStrikes: {
239
+ type: DataTypes.INTEGER,
240
+ field: "current_strikes",
241
+ },
242
+ runnerOnFirst: {
243
+ type: DataTypes.STRING,
244
+ field: "runner_on_first",
245
+ },
246
+ runnerOnThird: {
247
+ type: DataTypes.STRING,
248
+ field: "runner_on_third",
249
+ },
250
+ runnerOnSecond: {
251
+ type: DataTypes.STRING,
252
+ field: "runner_on_second",
253
+ },
254
+ scoreAwayTotal: {
255
+ type: DataTypes.INTEGER,
256
+ field: "score_away_total",
257
+ },
258
+ scoreHomeTotal: {
259
+ type: DataTypes.INTEGER,
260
+ field: "score_home_total",
261
+ },
262
+ weatherTempHigh: {
263
+ type: DataTypes.STRING,
264
+ field: "weather_temp_high",
265
+ },
266
+ currentPossession: {
267
+ type: DataTypes.STRING,
268
+ field: "current_possession",
269
+ },
270
+ currentBatterName: {
271
+ type: DataTypes.STRING,
272
+ field: "current_batter_name",
273
+ },
274
+ scoreAwayPeriods: {
275
+ type: DataTypes.ARRAY(DataTypes.INTEGER),
276
+ field: "score_away_periods",
277
+ },
278
+ scoreHomePeriods: {
279
+ type: DataTypes.ARRAY(DataTypes.INTEGER),
280
+ field: "score_home_periods",
281
+ },
282
+ currentPitcherName: {
283
+ type: DataTypes.STRING,
284
+ field: "current_pitcher_name",
285
+ },
286
+ currentDownAndDistance: {
287
+ type: DataTypes.STRING,
288
+ field: "current_down_and_distance",
289
+ },
290
+ createdAt: DataTypes.DATE,
291
+ updatedAt: DataTypes.DATE,
292
+ },
293
+ {
294
+ // Other model options go here
295
+ tableName: "games",
296
+ sequelize,
297
+ }
298
+ );
299
+
300
+ Game.hasOne(Team, {
301
+ foreignKey: "id",
302
+ sourceKey: "homeTeamId",
303
+ as: "homeTeamInstance",
304
+ });
305
+ Game.hasOne(Team, {
306
+ foreignKey: "id",
307
+ sourceKey: "awayTeamId",
308
+ as: "awayTeamInstance",
309
+ });
310
+
311
+ export default Game;
@@ -57,3 +57,10 @@ export { default as VerificationCode } from "./verification-code";
57
57
  export { default as CategoryTag } from "./category-tag";
58
58
  export { default as SubscriptionCategoryTag } from "./subscription-category-tags";
59
59
  export { default as ContentCategoryTag } from "./content-category-tag";
60
+ export { default as Team } from "./team";
61
+ export { default as League } from "./league";
62
+ export { default as Game } from "./game";
63
+ export { default as Odds } from "./odds";
64
+ export { default as Bet } from "./bet";
65
+ export { default as Parlay } from "./parlay";
66
+ export { default as Player } from "./player";
@@ -0,0 +1,53 @@
1
+ import {
2
+ Model,
3
+ InferAttributes,
4
+ InferCreationAttributes,
5
+ CreationOptional,
6
+ DataTypes,
7
+ fn,
8
+ } from "sequelize";
9
+
10
+ import sequelize from "./pb-sequelize";
11
+
12
+ // order of InferAttributes & InferCreationAttributes is important.
13
+ class League extends Model<
14
+ InferAttributes<League>,
15
+ InferCreationAttributes<League>
16
+ > {
17
+ // 'CreationOptional' is a special type that marks the field as optional
18
+ // when creating an instance of the model (such as using Model.create()).
19
+ declare id: CreationOptional<string>;
20
+ declare sport: string;
21
+ declare leagueName: string;
22
+ declare createdAt: CreationOptional<Date>;
23
+ declare updatedAt: CreationOptional<Date>;
24
+ }
25
+
26
+ League.init(
27
+ {
28
+ id: {
29
+ type: DataTypes.BIGINT,
30
+ primaryKey: true,
31
+ allowNull: false,
32
+ defaultValue: sequelize.fn("next_id"),
33
+ },
34
+ sport: {
35
+ type: DataTypes.STRING,
36
+ field: "sport",
37
+ },
38
+ leagueName: {
39
+ type: DataTypes.STRING,
40
+ field: "league_name",
41
+ unique: true,
42
+ },
43
+ createdAt: DataTypes.DATE,
44
+ updatedAt: DataTypes.DATE,
45
+ },
46
+ {
47
+ // Other model options go here
48
+ tableName: "leagues",
49
+ sequelize,
50
+ }
51
+ );
52
+
53
+ export default League;
@@ -0,0 +1,54 @@
1
+ import {
2
+ Model,
3
+ InferAttributes,
4
+ InferCreationAttributes,
5
+ CreationOptional,
6
+ DataTypes,
7
+ fn,
8
+ } from "sequelize";
9
+
10
+ import sequelize from "./pb-sequelize";
11
+
12
+ // order of InferAttributes & InferCreationAttributes is important.
13
+ class Market extends Model<
14
+ InferAttributes<Market>,
15
+ InferCreationAttributes<Market>
16
+ > {
17
+ // 'CreationOptional' is a special type that marks the field as optional
18
+ // when creating an instance of the model (such as using Model.create()).
19
+ declare id: CreationOptional<string>;
20
+ declare oddsJamId: string;
21
+ declare label: string;
22
+ declare createdAt: CreationOptional<Date>;
23
+ declare updatedAt: CreationOptional<Date>;
24
+ }
25
+
26
+ Market.init(
27
+ {
28
+ id: {
29
+ type: DataTypes.BIGINT,
30
+ primaryKey: true,
31
+ allowNull: false,
32
+ defaultValue: sequelize.fn("next_id"),
33
+ },
34
+ oddsJamId: {
35
+ type: DataTypes.STRING,
36
+ field: "oddsJamId",
37
+ unique: true,
38
+ },
39
+ label: {
40
+ type: DataTypes.STRING,
41
+ field: "label",
42
+ unique: true,
43
+ },
44
+ createdAt: DataTypes.DATE,
45
+ updatedAt: DataTypes.DATE,
46
+ },
47
+ {
48
+ // Other model options go here
49
+ tableName: "markets",
50
+ sequelize,
51
+ }
52
+ );
53
+
54
+ export default Market;
@@ -0,0 +1,232 @@
1
+ import {
2
+ Model,
3
+ InferAttributes,
4
+ InferCreationAttributes,
5
+ CreationOptional,
6
+ DataTypes,
7
+ fn,
8
+ } from "sequelize";
9
+ import Bet from "./bet";
10
+ import Game from "./game";
11
+
12
+ import sequelize from "./pb-sequelize";
13
+ import Player from "./player";
14
+ import Team from "./team";
15
+
16
+ // order of InferAttributes & InferCreationAttributes is important.
17
+ class Odds extends Model<InferAttributes<Odds>, InferCreationAttributes<Odds>> {
18
+ // 'CreationOptional' is a special type that marks the field as optional
19
+ // when creating an instance of the model (such as using Model.create()).
20
+ declare id: CreationOptional<string>;
21
+ declare oddsJamId: string;
22
+ declare sportsBookName:
23
+ | "Pinnacle"
24
+ | "5Dimes"
25
+ | "DraftKings"
26
+ | "BetMGM"
27
+ | "WynnBET"
28
+ | "theScore"
29
+ | "Bally Bet"
30
+ | "Elite Sportsbook"
31
+ | "FOX Bet"
32
+ | "FanDuel"
33
+ | "Points Bet"
34
+ | "Caesars"
35
+ | "Barstool"
36
+ | "Borgota"
37
+ | "Unibet"
38
+ | "BetRivers"
39
+ | "Wind Creek"
40
+ | "BetAnySports"
41
+ | "BookMaker"
42
+ | "SugarHouse"
43
+ | "TwinSpires"
44
+ | "BetUS"
45
+ | "bwin"
46
+ | "Betfred"
47
+ | "Betfair"
48
+ | "BetOnline"
49
+ | "Betway"
50
+ | "Bovada"
51
+ | "Bodog"
52
+ | "Casumo"
53
+ | "10Bet"
54
+ | "888 sport (Canada)"
55
+ | "MyBookie"
56
+ | "Betcris"
57
+ | "OddsJam";
58
+ declare name: string;
59
+ declare price: number;
60
+ declare checkedDate: string;
61
+ declare betPoints?: number;
62
+ declare isMain: boolean;
63
+ declare isLive: boolean;
64
+ declare marketName: string;
65
+ declare homeRotationNumber?: number;
66
+ declare awayRotationNumber?: number;
67
+ declare deepLinkUrl: string;
68
+ declare oddsJamPlayerId: string;
69
+ declare marketId: string;
70
+ declare sportsbookId: string;
71
+ declare gameId: string;
72
+ declare oddsJamGameId: string;
73
+ declare teamId?: string;
74
+ declare playerId?: string;
75
+ declare betResult?: string;
76
+ declare homeScore?: number;
77
+ declare awayScore?: number;
78
+ declare playerScore?: number;
79
+ declare createdAt: CreationOptional<Date>;
80
+ declare updatedAt: CreationOptional<Date>;
81
+
82
+ declare Game?: Game;
83
+ }
84
+
85
+ Odds.init(
86
+ {
87
+ id: {
88
+ type: DataTypes.BIGINT,
89
+ primaryKey: true,
90
+ allowNull: false,
91
+ defaultValue: sequelize.fn("next_id"),
92
+ },
93
+ oddsJamId: {
94
+ type: DataTypes.STRING,
95
+ field: "odds_jam_id",
96
+ unique: true,
97
+ },
98
+ sportsBookName: {
99
+ type: DataTypes.STRING,
100
+ field: "sports_book_name",
101
+ },
102
+ name: {
103
+ type: DataTypes.STRING,
104
+ field: "name",
105
+ },
106
+ price: {
107
+ type: DataTypes.DOUBLE,
108
+ field: "price",
109
+ },
110
+ checkedDate: {
111
+ type: DataTypes.STRING,
112
+ field: "checked_date",
113
+ },
114
+ betPoints: {
115
+ type: DataTypes.DOUBLE,
116
+ field: "bet_points",
117
+ },
118
+ isMain: {
119
+ type: DataTypes.BOOLEAN,
120
+ field: "is_main",
121
+ },
122
+ isLive: {
123
+ type: DataTypes.BOOLEAN,
124
+ field: "is_live",
125
+ },
126
+ marketName: {
127
+ type: DataTypes.STRING,
128
+ field: "market_name",
129
+ },
130
+ homeRotationNumber: {
131
+ type: DataTypes.INTEGER,
132
+ field: "home_rotation_number",
133
+ },
134
+ awayRotationNumber: {
135
+ type: DataTypes.INTEGER,
136
+ field: "away_rotation_number",
137
+ },
138
+ deepLinkUrl: {
139
+ type: DataTypes.STRING,
140
+ field: "deep_link_url",
141
+ },
142
+ oddsJamPlayerId: {
143
+ type: DataTypes.STRING,
144
+ field: "odds_jam_player_id",
145
+ },
146
+ marketId: {
147
+ type: DataTypes.BIGINT,
148
+ field: "market_id",
149
+ },
150
+ sportsbookId: {
151
+ type: DataTypes.BIGINT,
152
+ field: "sportsbook_id",
153
+ },
154
+ gameId: {
155
+ type: DataTypes.BIGINT,
156
+ field: "game_id",
157
+ },
158
+ oddsJamGameId: {
159
+ type: DataTypes.STRING,
160
+ field: "odds_jam_game_id",
161
+ },
162
+ teamId: {
163
+ type: DataTypes.BIGINT,
164
+ field: "team_id",
165
+ },
166
+ playerId: {
167
+ type: DataTypes.BIGINT,
168
+ field: "player_id",
169
+ },
170
+ betResult: {
171
+ type: DataTypes.STRING,
172
+ field: "bet_result",
173
+ },
174
+ homeScore: {
175
+ type: DataTypes.INTEGER,
176
+ field: "home_score",
177
+ },
178
+ awayScore: {
179
+ type: DataTypes.INTEGER,
180
+ field: "away_score",
181
+ },
182
+ playerScore: {
183
+ type: DataTypes.INTEGER,
184
+ field: "player_score",
185
+ },
186
+ createdAt: DataTypes.DATE,
187
+ updatedAt: DataTypes.DATE,
188
+ },
189
+ {
190
+ // Other model options go here
191
+ tableName: "odds",
192
+ sequelize,
193
+ }
194
+ );
195
+
196
+ Bet.hasOne(Odds, {
197
+ foreignKey: "id",
198
+ sourceKey: "oddsId",
199
+ });
200
+ Odds.hasMany(Bet, {
201
+ foreignKey: "odds_id",
202
+ sourceKey: "id",
203
+ });
204
+
205
+ Odds.hasOne(Game, {
206
+ foreignKey: "id",
207
+ sourceKey: "gameId",
208
+ });
209
+ Game.hasMany(Odds, {
210
+ foreignKey: "game_id",
211
+ sourceKey: "id",
212
+ });
213
+
214
+ Odds.hasOne(Player, {
215
+ foreignKey: "id",
216
+ sourceKey: "playerId",
217
+ });
218
+ Player.hasMany(Odds, {
219
+ foreignKey: "player_id",
220
+ sourceKey: "id",
221
+ });
222
+
223
+ Odds.hasOne(Team, {
224
+ foreignKey: "id",
225
+ sourceKey: "teamId",
226
+ });
227
+ Team.hasMany(Odds, {
228
+ foreignKey: "team_id",
229
+ sourceKey: "id",
230
+ });
231
+
232
+ export default Odds;
@@ -0,0 +1,47 @@
1
+ import {
2
+ Model,
3
+ InferAttributes,
4
+ InferCreationAttributes,
5
+ CreationOptional,
6
+ DataTypes,
7
+ fn,
8
+ } from "sequelize";
9
+
10
+ import sequelize from "./pb-sequelize";
11
+
12
+ // order of InferAttributes & InferCreationAttributes is important.
13
+ class Parlay extends Model<
14
+ InferAttributes<Parlay>,
15
+ InferCreationAttributes<Parlay>
16
+ > {
17
+ // 'CreationOptional' is a special type that marks the field as optional
18
+ // when creating an instance of the model (such as using Model.create()).
19
+ declare id: CreationOptional<string>;
20
+ declare numBets: number;
21
+ declare createdAt: CreationOptional<Date>;
22
+ declare updatedAt: CreationOptional<Date>;
23
+ }
24
+
25
+ Parlay.init(
26
+ {
27
+ id: {
28
+ type: DataTypes.BIGINT,
29
+ primaryKey: true,
30
+ allowNull: false,
31
+ defaultValue: sequelize.fn("next_id"),
32
+ },
33
+ numBets: {
34
+ type: DataTypes.INTEGER,
35
+ field: "num_bets",
36
+ },
37
+ createdAt: DataTypes.DATE,
38
+ updatedAt: DataTypes.DATE,
39
+ },
40
+ {
41
+ // Other model options go here
42
+ tableName: "parlays",
43
+ sequelize,
44
+ }
45
+ );
46
+
47
+ export default Parlay;