@winible/winible-typed 1.0.6 → 1.0.8

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 (228) 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/20221128034620-invoice-id.js +12 -0
  32. package/dist/migrations/20221128034620-invoice-id.js.map +1 -0
  33. package/dist/migrations/20230104055346-oddsjam.js +501 -0
  34. package/dist/migrations/20230104055346-oddsjam.js.map +1 -0
  35. package/dist/migrations/20230104233909-markets.js +28 -0
  36. package/dist/migrations/20230104233909-markets.js.map +1 -0
  37. package/dist/migrations/20230105005418-sportsbook.js +24 -0
  38. package/dist/migrations/20230105005418-sportsbook.js.map +1 -0
  39. package/dist/migrations/20230106044910-player-result.js +59 -0
  40. package/dist/migrations/20230106044910-player-result.js.map +1 -0
  41. package/dist/scripts/bet-syncing/gradeBets.js +109 -0
  42. package/dist/scripts/bet-syncing/gradeBets.js.map +1 -0
  43. package/dist/scripts/bet-syncing/pullGames.js +198 -0
  44. package/dist/scripts/bet-syncing/pullGames.js.map +1 -0
  45. package/dist/scripts/bet-syncing/pullLiveScores.js +187 -0
  46. package/dist/scripts/bet-syncing/pullLiveScores.js.map +1 -0
  47. package/dist/scripts/bet-syncing/pullOdds.js +255 -0
  48. package/dist/scripts/bet-syncing/pullOdds.js.map +1 -0
  49. package/dist/scripts/bet-syncing/pullPlayerResults.js +63 -0
  50. package/dist/scripts/bet-syncing/pullPlayerResults.js.map +1 -0
  51. package/dist/scripts/bet-syncing/pullPlayers.js +59 -0
  52. package/dist/scripts/bet-syncing/pullPlayers.js.map +1 -0
  53. package/dist/scripts/bet-syncing/pullScores.js +183 -0
  54. package/dist/scripts/bet-syncing/pullScores.js.map +1 -0
  55. package/dist/scripts/bet-syncing/pullTeams.d.ts +1 -0
  56. package/dist/scripts/bet-syncing/pullTeams.js +85 -0
  57. package/dist/scripts/bet-syncing/pullTeams.js.map +1 -0
  58. package/dist/scripts/cleanupRecurlyPlans.d.ts +1 -0
  59. package/dist/scripts/createDashboardLink.d.ts +1 -0
  60. package/dist/scripts/createDashboardLink.js +4 -4
  61. package/dist/scripts/createDashboardLink.js.map +1 -1
  62. package/dist/scripts/createRecurlyPlans.d.ts +1 -0
  63. package/dist/scripts/deleteMalformedImages.d.ts +1 -0
  64. package/dist/scripts/fixSaltedPasswords.js +40 -0
  65. package/dist/scripts/fixSaltedPasswords.js.map +1 -0
  66. package/dist/scripts/mapCurrentPaymentsToInvoiceId.d.ts +1 -0
  67. package/dist/scripts/mapCurrentPaymentsToInvoiceId.js +91 -0
  68. package/dist/scripts/mapCurrentPaymentsToInvoiceId.js.map +1 -0
  69. package/dist/scripts/payoutRecurlySubs.d.ts +1 -0
  70. package/dist/scripts/payoutRecurlySubs.js +8 -1
  71. package/dist/scripts/payoutRecurlySubs.js.map +1 -1
  72. package/dist/scripts/payoutSubscriptions.d.ts +1 -0
  73. package/dist/scripts/payoutSubscriptions.js +18 -10
  74. package/dist/scripts/payoutSubscriptions.js.map +1 -1
  75. package/dist/scripts/removeUnreferenceSubs.d.ts +1 -0
  76. package/dist/scripts/test.d.ts +1 -0
  77. package/dist/scripts/test.js +3 -21
  78. package/dist/scripts/test.js.map +1 -1
  79. package/dist/slack/index.d.ts +1 -0
  80. package/dist/{server → slack}/index.js +0 -4
  81. package/dist/slack/index.js.map +1 -0
  82. package/dist/slack/v1/bypassCreator.d.ts +8 -0
  83. package/dist/slack/v1/bypassCreator.js.map +1 -0
  84. package/dist/slack/v1/cancelSubscription.d.ts +6 -0
  85. package/dist/slack/v1/cancelSubscription.js.map +1 -0
  86. package/dist/slack/v1/changeName.d.ts +8 -0
  87. package/dist/slack/v1/changeName.js.map +1 -0
  88. package/dist/slack/v1/checkAuthSub.d.ts +6 -0
  89. package/dist/{server → slack}/v1/checkAuthSub.js +5 -5
  90. package/dist/slack/v1/checkAuthSub.js.map +1 -0
  91. package/dist/slack/v1/dashboardLink.d.ts +8 -0
  92. package/dist/{server → slack}/v1/dashboardLink.js +1 -1
  93. package/dist/slack/v1/dashboardLink.js.map +1 -0
  94. package/dist/slack/v1/index.d.ts +7 -0
  95. package/dist/{server → slack}/v1/index.js +1 -8
  96. package/dist/slack/v1/index.js.map +1 -0
  97. package/dist/slack/v1/refund.d.ts +6 -0
  98. package/dist/slack/v1/refund.js +42 -0
  99. package/dist/slack/v1/refund.js.map +1 -0
  100. package/dist/slack/v1/searchUser.d.ts +6 -0
  101. package/dist/slack/v1/searchUser.js.map +1 -0
  102. package/dist/src/index.d.ts +3 -0
  103. package/dist/src/pk-client.d.ts +151 -0
  104. package/dist/src/pk-sub.d.ts +77 -0
  105. package/dist/src/recurlyInstance.d.ts +3 -0
  106. package/dist/src/types.d.ts +30 -0
  107. package/dist/support/index.d.ts +2 -0
  108. package/dist/support/slack-client.d.ts +3 -0
  109. package/dist/support/uploadcare.d.ts +14 -0
  110. package/dist/support/utils.d.ts +2 -0
  111. package/dist/typed-model/asset-category.d.ts +9 -0
  112. package/dist/typed-model/asset-constent-person.d.ts +13 -0
  113. package/dist/typed-model/bet.d.ts +12 -0
  114. package/dist/typed-model/bet.js +64 -0
  115. package/dist/typed-model/bet.js.map +1 -0
  116. package/dist/typed-model/blocked-ip.d.ts +8 -0
  117. package/dist/typed-model/category-tag.d.ts +9 -0
  118. package/dist/typed-model/consent-person.d.ts +13 -0
  119. package/dist/typed-model/content-category-tag.d.ts +9 -0
  120. package/dist/typed-model/content-like.d.ts +10 -0
  121. package/dist/typed-model/credit-payment.d.ts +34 -0
  122. package/dist/typed-model/credit-payment.js +10 -6
  123. package/dist/typed-model/credit-payment.js.map +1 -1
  124. package/dist/typed-model/credit-payout.d.ts +10 -0
  125. package/dist/typed-model/credit-purchase.d.ts +10 -0
  126. package/dist/typed-model/customer-profile.d.ts +17 -0
  127. package/dist/typed-model/dashboard-user-permissions.d.ts +9 -0
  128. package/dist/typed-model/dashboard-user.d.ts +20 -0
  129. package/dist/typed-model/fan-list.d.ts +10 -0
  130. package/dist/typed-model/fraud.d.ts +9 -0
  131. package/dist/typed-model/game.d.ts +56 -0
  132. package/dist/typed-model/game.js +234 -0
  133. package/dist/typed-model/game.js.map +1 -0
  134. package/dist/typed-model/index.d.ts +46 -0
  135. package/dist/typed-model/index.js +15 -1
  136. package/dist/typed-model/index.js.map +1 -1
  137. package/dist/typed-model/league.d.ts +9 -0
  138. package/dist/typed-model/league.js +35 -0
  139. package/dist/typed-model/league.js.map +1 -0
  140. package/dist/typed-model/list-member.d.ts +9 -0
  141. package/dist/typed-model/market.js +36 -0
  142. package/dist/typed-model/market.js.map +1 -0
  143. package/dist/typed-model/mass-message.d.ts +11 -0
  144. package/dist/typed-model/media-asset.d.ts +15 -0
  145. package/dist/typed-model/media-category.d.ts +10 -0
  146. package/dist/typed-model/media.d.ts +14 -0
  147. package/dist/typed-model/message-media.d.ts +9 -0
  148. package/dist/typed-model/message.d.ts +27 -0
  149. package/dist/typed-model/notification.d.ts +18 -0
  150. package/dist/typed-model/odds.d.ts +30 -0
  151. package/dist/typed-model/odds.js +155 -0
  152. package/dist/typed-model/odds.js.map +1 -0
  153. package/dist/typed-model/parlay.d.ts +8 -0
  154. package/dist/typed-model/parlay.js +30 -0
  155. package/dist/typed-model/parlay.js.map +1 -0
  156. package/dist/typed-model/pb-sequelize.d.ts +3 -0
  157. package/dist/typed-model/phone-chat-participation.d.ts +20 -0
  158. package/dist/typed-model/phone-chat.d.ts +16 -0
  159. package/dist/typed-model/phone-owner.d.ts +53 -0
  160. package/dist/typed-model/phone-user.d.ts +21 -0
  161. package/dist/typed-model/player-result.js +67 -0
  162. package/dist/typed-model/player-result.js.map +1 -0
  163. package/dist/typed-model/player.d.ts +22 -0
  164. package/dist/typed-model/player.js +87 -0
  165. package/dist/typed-model/player.js.map +1 -0
  166. package/dist/typed-model/premium-content.d.ts +23 -0
  167. package/dist/typed-model/purchased-content.d.ts +11 -0
  168. package/dist/typed-model/recurly-account.d.ts +9 -0
  169. package/dist/typed-model/short-url.d.ts +12 -0
  170. package/dist/typed-model/sportsbook.js +31 -0
  171. package/dist/typed-model/sportsbook.js.map +1 -0
  172. package/dist/typed-model/subscription-bundle.d.ts +12 -0
  173. package/dist/typed-model/subscription-category-tags.d.ts +9 -0
  174. package/dist/typed-model/subscription-plan.d.ts +27 -0
  175. package/dist/typed-model/subscription-plan.js +1 -0
  176. package/dist/typed-model/subscription-plan.js.map +1 -1
  177. package/dist/typed-model/subscription-promotion.d.ts +19 -0
  178. package/dist/typed-model/subscription.d.ts +26 -0
  179. package/dist/typed-model/team.d.ts +16 -0
  180. package/dist/typed-model/team.js +70 -0
  181. package/dist/typed-model/team.js.map +1 -0
  182. package/dist/typed-model/twilio-phone.d.ts +17 -0
  183. package/dist/typed-model/user-follow.d.ts +13 -0
  184. package/dist/typed-model/verification-code.d.ts +11 -0
  185. package/dist/webhooks/index.d.ts +1 -0
  186. package/dist/webhooks/index.js +48 -0
  187. package/dist/webhooks/index.js.map +1 -0
  188. package/dist/webhooks/payment/index.d.ts +1 -0
  189. package/dist/webhooks/payment/index.js +9 -0
  190. package/dist/webhooks/payment/index.js.map +1 -0
  191. package/dist/webhooks/payment/refund.d.ts +2 -0
  192. package/dist/webhooks/payment/refund.js +39 -0
  193. package/dist/webhooks/payment/refund.js.map +1 -0
  194. package/package.json +3 -1
  195. package/typed-model/bet.ts +84 -0
  196. package/typed-model/credit-payment.ts +14 -9
  197. package/typed-model/game.ts +311 -0
  198. package/typed-model/index.ts +7 -0
  199. package/typed-model/league.ts +53 -0
  200. package/typed-model/market.ts +54 -0
  201. package/typed-model/odds.ts +232 -0
  202. package/typed-model/parlay.ts +47 -0
  203. package/typed-model/player-result.ts +93 -0
  204. package/typed-model/player.ts +118 -0
  205. package/typed-model/sportsbook.ts +48 -0
  206. package/typed-model/team.ts +91 -0
  207. package/dist/scripts/authorizeTransfer.js +0 -188
  208. package/dist/scripts/authorizeTransfer.js.map +0 -1
  209. package/dist/server/index.js.map +0 -1
  210. package/dist/server/v1/bypassCreator.js.map +0 -1
  211. package/dist/server/v1/cancelSubscription.js.map +0 -1
  212. package/dist/server/v1/changeName.js.map +0 -1
  213. package/dist/server/v1/checkAuthSub.js.map +0 -1
  214. package/dist/server/v1/dashboardLink.js.map +0 -1
  215. package/dist/server/v1/getSuspendedSubs.js +0 -76
  216. package/dist/server/v1/getSuspendedSubs.js.map +0 -1
  217. package/dist/server/v1/index.js.map +0 -1
  218. package/dist/server/v1/manualCreateSub.js +0 -159
  219. package/dist/server/v1/manualCreateSub.js.map +0 -1
  220. package/dist/server/v1/refund.js +0 -78
  221. package/dist/server/v1/refund.js.map +0 -1
  222. package/dist/server/v1/retrySubscription.js +0 -81
  223. package/dist/server/v1/retrySubscription.js.map +0 -1
  224. package/dist/server/v1/searchUser.js.map +0 -1
  225. /package/dist/{server → slack}/v1/bypassCreator.js +0 -0
  226. /package/dist/{server → slack}/v1/cancelSubscription.js +0 -0
  227. /package/dist/{server → slack}/v1/changeName.js +0 -0
  228. /package/dist/{server → slack}/v1/searchUser.js +0 -0
@@ -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;
@@ -0,0 +1,93 @@
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 PlayerResult extends Model<
14
+ InferAttributes<PlayerResult>,
15
+ InferCreationAttributes<PlayerResult>
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 oddsJamPlayerId?: string;
22
+ declare playerName?: string;
23
+ declare stats?: { [key: string]: number };
24
+ declare sport?: string;
25
+ declare league?: string;
26
+ declare oddsJamGameId?: string;
27
+ declare leagueId: string;
28
+ declare gameId: string;
29
+ declare playerId: string;
30
+ declare createdAt: CreationOptional<Date>;
31
+ declare updatedAt: CreationOptional<Date>;
32
+ }
33
+
34
+ PlayerResult.init(
35
+ {
36
+ id: {
37
+ type: DataTypes.BIGINT,
38
+ primaryKey: true,
39
+ allowNull: false,
40
+ defaultValue: sequelize.fn("next_id"),
41
+ },
42
+ oddsJamId: {
43
+ type: DataTypes.STRING,
44
+ unique: true,
45
+ field: "odds_jam_id",
46
+ },
47
+ oddsJamPlayerId: {
48
+ type: DataTypes.STRING,
49
+ field: "odds_jam_player_id",
50
+ },
51
+ playerName: {
52
+ type: DataTypes.STRING,
53
+ field: "player_name",
54
+ },
55
+ stats: {
56
+ type: DataTypes.JSONB,
57
+ field: "stats",
58
+ },
59
+ sport: {
60
+ type: DataTypes.STRING,
61
+ field: "sport",
62
+ },
63
+ league: {
64
+ type: DataTypes.STRING,
65
+ field: "league",
66
+ },
67
+ oddsJamGameId: {
68
+ type: DataTypes.STRING,
69
+ field: "odds_jam_game_id",
70
+ },
71
+ leagueId: {
72
+ type: DataTypes.BIGINT,
73
+ field: "league_id",
74
+ },
75
+ gameId: {
76
+ type: DataTypes.BIGINT,
77
+ field: "game_id",
78
+ },
79
+ playerId: {
80
+ type: DataTypes.BIGINT,
81
+ field: "player_id",
82
+ },
83
+ createdAt: DataTypes.DATE,
84
+ updatedAt: DataTypes.DATE,
85
+ },
86
+ {
87
+ // Other model options go here
88
+ tableName: "player_results",
89
+ sequelize,
90
+ }
91
+ );
92
+
93
+ export default PlayerResult;
@@ -0,0 +1,118 @@
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 Player extends Model<
14
+ InferAttributes<Player>,
15
+ InferCreationAttributes<Player>
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 playerName: string;
22
+ declare sport: string;
23
+ declare league: string;
24
+ declare firstName?: string;
25
+ declare lastName?: string;
26
+ declare teamName?: string;
27
+ declare oddsJamTeamId?: string;
28
+ declare number?: string;
29
+ declare position?: string;
30
+ declare age?: string;
31
+ declare height?: string;
32
+ declare weight?: number;
33
+ declare teamId?: string;
34
+ declare leagueId: string;
35
+ declare createdAt: CreationOptional<Date>;
36
+ declare updatedAt: CreationOptional<Date>;
37
+ }
38
+
39
+ Player.init(
40
+ {
41
+ id: {
42
+ type: DataTypes.BIGINT,
43
+ primaryKey: true,
44
+ allowNull: false,
45
+ defaultValue: sequelize.fn("next_id"),
46
+ },
47
+ oddsJamId: {
48
+ type: DataTypes.STRING,
49
+ field: "odds_jam_id",
50
+ unique: true,
51
+ },
52
+ playerName: {
53
+ type: DataTypes.STRING,
54
+ field: "player_name",
55
+ },
56
+ sport: {
57
+ type: DataTypes.STRING,
58
+ field: "sport",
59
+ },
60
+ league: {
61
+ type: DataTypes.STRING,
62
+ field: "league",
63
+ },
64
+ firstName: {
65
+ type: DataTypes.STRING,
66
+ field: "first_name",
67
+ },
68
+ lastName: {
69
+ type: DataTypes.STRING,
70
+ field: "last_name",
71
+ },
72
+ teamName: {
73
+ type: DataTypes.STRING,
74
+ field: "team_name",
75
+ },
76
+ oddsJamTeamId: {
77
+ type: DataTypes.STRING,
78
+ field: "odds_jam_team_id",
79
+ },
80
+ number: {
81
+ type: DataTypes.STRING,
82
+ field: "number",
83
+ },
84
+ position: {
85
+ type: DataTypes.STRING,
86
+ field: "position",
87
+ },
88
+ age: {
89
+ type: DataTypes.STRING,
90
+ field: "age",
91
+ },
92
+ height: {
93
+ type: DataTypes.STRING,
94
+ field: "height",
95
+ },
96
+ weight: {
97
+ type: DataTypes.STRING,
98
+ field: "weight",
99
+ },
100
+ teamId: {
101
+ type: DataTypes.BIGINT,
102
+ field: "team_id",
103
+ },
104
+ leagueId: {
105
+ type: DataTypes.BIGINT,
106
+ field: "league_id",
107
+ },
108
+ createdAt: DataTypes.DATE,
109
+ updatedAt: DataTypes.DATE,
110
+ },
111
+ {
112
+ // Other model options go here
113
+ tableName: "players",
114
+ sequelize,
115
+ }
116
+ );
117
+
118
+ export default Player;
@@ -0,0 +1,48 @@
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 Sportsbook extends Model<
14
+ InferAttributes<Sportsbook>,
15
+ InferCreationAttributes<Sportsbook>
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 name: string;
21
+ declare createdAt: CreationOptional<Date>;
22
+ declare updatedAt: CreationOptional<Date>;
23
+ }
24
+
25
+ Sportsbook.init(
26
+ {
27
+ id: {
28
+ type: DataTypes.BIGINT,
29
+ primaryKey: true,
30
+ allowNull: false,
31
+ defaultValue: sequelize.fn("next_id"),
32
+ },
33
+ name: {
34
+ type: DataTypes.STRING,
35
+ field: "name",
36
+ unique: true,
37
+ },
38
+ createdAt: DataTypes.DATE,
39
+ updatedAt: DataTypes.DATE,
40
+ },
41
+ {
42
+ // Other model options go here
43
+ tableName: "sportsbooks",
44
+ sequelize,
45
+ }
46
+ );
47
+
48
+ export default Sportsbook;
@@ -0,0 +1,91 @@
1
+ import {
2
+ Model,
3
+ InferAttributes,
4
+ InferCreationAttributes,
5
+ CreationOptional,
6
+ DataTypes,
7
+ } from "sequelize";
8
+
9
+ import sequelize from "./pb-sequelize";
10
+
11
+ // order of InferAttributes & InferCreationAttributes is important.
12
+ class Team extends Model<InferAttributes<Team>, InferCreationAttributes<Team>> {
13
+ // 'CreationOptional' is a special type that marks the field as optional
14
+ // when creating an instance of the model (such as using Model.create()).
15
+ declare id: CreationOptional<string>;
16
+ declare oddsJamTeamId?: string;
17
+ declare sport: string;
18
+ declare league: string;
19
+ declare teamName: string;
20
+ declare teamCity?: string;
21
+ declare teamMascot?: string;
22
+ declare teamAbbreviation?: string;
23
+ declare teamImageUrl?: string;
24
+ declare leagueId: string;
25
+ declare createdAt: CreationOptional<Date>;
26
+ declare updatedAt: CreationOptional<Date>;
27
+ }
28
+
29
+ Team.init(
30
+ {
31
+ id: {
32
+ type: DataTypes.BIGINT,
33
+ primaryKey: true,
34
+ allowNull: false,
35
+ defaultValue: sequelize.fn("next_id"),
36
+ },
37
+ leagueId: {
38
+ type: DataTypes.BIGINT,
39
+ allowNull: false,
40
+ field: "league_id",
41
+ },
42
+ oddsJamTeamId: {
43
+ type: DataTypes.STRING,
44
+ field: "odds_jam_team_id",
45
+ unique: true,
46
+ },
47
+ sport: {
48
+ type: DataTypes.STRING,
49
+ field: "sport",
50
+ },
51
+ league: {
52
+ type: DataTypes.STRING,
53
+ field: "league",
54
+ },
55
+ teamName: {
56
+ type: DataTypes.STRING,
57
+ field: "team_name",
58
+ },
59
+ teamCity: {
60
+ type: DataTypes.STRING,
61
+ field: "team_city",
62
+ },
63
+ teamMascot: {
64
+ type: DataTypes.STRING,
65
+ field: "team_mascot",
66
+ },
67
+ teamAbbreviation: {
68
+ type: DataTypes.STRING,
69
+ field: "team_abbreviation",
70
+ },
71
+ teamImageUrl: {
72
+ type: DataTypes.STRING,
73
+ field: "team_image_url",
74
+ },
75
+ createdAt: DataTypes.DATE,
76
+ updatedAt: DataTypes.DATE,
77
+ },
78
+ {
79
+ // Other model options go here
80
+ tableName: "teams",
81
+ sequelize,
82
+ indexes: [
83
+ {
84
+ unique: true,
85
+ fields: ["team_name", "league"],
86
+ },
87
+ ],
88
+ }
89
+ );
90
+
91
+ export default Team;