@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,84 @@
1
+ import {
2
+ Model,
3
+ InferAttributes,
4
+ InferCreationAttributes,
5
+ CreationOptional,
6
+ DataTypes,
7
+ fn,
8
+ } from "sequelize";
9
+ import Parlay from "./parlay";
10
+
11
+ import sequelize from "./pb-sequelize";
12
+ import PhoneUser from "./phone-user";
13
+
14
+ // order of InferAttributes & InferCreationAttributes is important.
15
+ class Bet extends Model<InferAttributes<Bet>, InferCreationAttributes<Bet>> {
16
+ // 'CreationOptional' is a special type that marks the field as optional
17
+ // when creating an instance of the model (such as using Model.create()).
18
+ declare id: CreationOptional<string>;
19
+ declare oddsJamOddsId: string;
20
+ declare oddsId: string;
21
+ declare price: number;
22
+ declare userId: string;
23
+ declare parlayId?: string;
24
+ declare createdAt: CreationOptional<Date>;
25
+ declare updatedAt: CreationOptional<Date>;
26
+ }
27
+
28
+ Bet.init(
29
+ {
30
+ id: {
31
+ type: DataTypes.BIGINT,
32
+ primaryKey: true,
33
+ allowNull: false,
34
+ defaultValue: sequelize.fn("next_id"),
35
+ },
36
+ oddsJamOddsId: {
37
+ type: DataTypes.STRING,
38
+ field: "odds_jam_odds_id",
39
+ },
40
+ oddsId: {
41
+ type: DataTypes.STRING,
42
+ field: "odds_id",
43
+ },
44
+ price: {
45
+ type: DataTypes.DOUBLE,
46
+ field: "price",
47
+ },
48
+ userId: {
49
+ type: DataTypes.STRING,
50
+ field: "user_id",
51
+ },
52
+ parlayId: {
53
+ type: DataTypes.STRING,
54
+ field: "parlay_id",
55
+ },
56
+ createdAt: DataTypes.DATE,
57
+ updatedAt: DataTypes.DATE,
58
+ },
59
+ {
60
+ // Other model options go here
61
+ tableName: "bets",
62
+ sequelize,
63
+ }
64
+ );
65
+
66
+ Bet.hasOne(Parlay, {
67
+ foreignKey: "id",
68
+ sourceKey: "parlayId",
69
+ });
70
+ Parlay.hasMany(Bet, {
71
+ foreignKey: "parlay_id",
72
+ sourceKey: "id",
73
+ });
74
+
75
+ Bet.hasOne(PhoneUser, {
76
+ foreignKey: "id",
77
+ sourceKey: "userId",
78
+ });
79
+ PhoneUser.hasMany(Bet, {
80
+ foreignKey: "user_id",
81
+ sourceKey: "id",
82
+ });
83
+
84
+ export default Bet;
@@ -59,6 +59,7 @@ class CreditPayments extends Model<
59
59
  declare payoutId?: string;
60
60
  declare referredCreditPaymentId?: string;
61
61
  declare transId?: number;
62
+ declare invoiceId?: string;
62
63
  declare createdAt: CreationOptional<Date>;
63
64
  declare updatedAt: CreationOptional<Date>;
64
65
  static getById: (id: string) => Promise<CreditPayments | null>;
@@ -68,7 +69,7 @@ class CreditPayments extends Model<
68
69
  owner: PhoneOwner,
69
70
  alreadyPaid?: boolean,
70
71
  transaction?: Transaction,
71
- transId?: number
72
+ invoiceId?: string
72
73
  ) => Promise<CreditPayments>;
73
74
  static logMessage: (
74
75
  user: PhoneUser,
@@ -96,7 +97,7 @@ class CreditPayments extends Model<
96
97
  message: Message,
97
98
  alreadyPaid?: boolean,
98
99
  transaction?: Transaction,
99
- transId?: number
100
+ invoiceId?: string
100
101
  ) => Promise<CreditPayments>;
101
102
  static logSubscriptionPayment: (
102
103
  userId: string,
@@ -104,7 +105,7 @@ class CreditPayments extends Model<
104
105
  subscriptionAmountInCents: number,
105
106
  subscription: Subscription,
106
107
  transaction: Transaction | undefined,
107
- transId?: number
108
+ invoiceId?: string
108
109
  ) => Promise<CreditPayments>;
109
110
  static logUnlockedContent: (
110
111
  user: PhoneUser,
@@ -162,6 +163,10 @@ CreditPayments.init(
162
163
  type: DataTypes.BIGINT,
163
164
  field: "trans_id",
164
165
  },
166
+ invoiceId: {
167
+ type: DataTypes.STRING,
168
+ field: "invoice_id",
169
+ },
165
170
  createdAt: DataTypes.DATE,
166
171
  updatedAt: DataTypes.DATE,
167
172
  },
@@ -194,7 +199,7 @@ CreditPayments.logContentPurchase = async (
194
199
  owner: PhoneOwner,
195
200
  alreadyPaid?: boolean,
196
201
  transaction?: Transaction,
197
- transId?: number
202
+ invoiceId?: string
198
203
  ) => {
199
204
  const content = await PremiumContent.getById(contentId);
200
205
 
@@ -234,7 +239,7 @@ CreditPayments.logContentPurchase = async (
234
239
  ),
235
240
  interactionType: INTERACTION_TYPES.CONTENT,
236
241
  metadata: JSON.stringify({ contentId }),
237
- transId,
242
+ invoiceId,
238
243
  },
239
244
  { transaction }
240
245
  );
@@ -439,7 +444,7 @@ CreditPayments.logUnlockMessage = async (
439
444
  message: Message,
440
445
  alreadyPaid?: boolean,
441
446
  transaction?: Transaction,
442
- transId?: number
447
+ invoiceId?: string
443
448
  ) => {
444
449
  if (message.amountInCents! > user.creditsInCents! && !alreadyPaid) {
445
450
  throw new Error(`Sorry, it looks like you've run out of credits`);
@@ -467,7 +472,7 @@ CreditPayments.logUnlockMessage = async (
467
472
  message.amountInCents!,
468
473
  owner.serviceFeePercentage
469
474
  ),
470
- transId,
475
+ invoiceId,
471
476
  interactionType: INTERACTION_TYPES.UNLOCK_MESSAGE,
472
477
  },
473
478
  { transaction }
@@ -555,7 +560,7 @@ CreditPayments.logSubscriptionPayment = async (
555
560
  subscriptionAmountInCents: number,
556
561
  subscription: Subscription,
557
562
  transaction: Transaction | undefined,
558
- transId?: number
563
+ invoiceId?: string
559
564
  ) => {
560
565
  let creditPayment = await CreditPayments.create(
561
566
  {
@@ -568,7 +573,7 @@ CreditPayments.logSubscriptionPayment = async (
568
573
  ),
569
574
  interactionType: INTERACTION_TYPES.SUBSCRIPTION,
570
575
  metadata: JSON.stringify({ subscription_id: subscription.id }),
571
- transId,
576
+ invoiceId,
572
577
  },
573
578
  { transaction }
574
579
  );
@@ -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;