@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.
- package/dist/index.d.ts +3 -0
- package/dist/migrations/20220601151258-custom_name_describing_your_migration.d.ts +6 -0
- package/dist/migrations/20220605225655-create-dashboard-user-permissions.d.ts +6 -0
- package/dist/migrations/20220606001300-update-dashboard-user-permissions.d.ts +6 -0
- package/dist/migrations/20220607091109-add-read-date-for-message.d.ts +6 -0
- package/dist/migrations/20220616225456-add-delete-columns.d.ts +6 -0
- package/dist/migrations/20220709202211-disable-feed.d.ts +6 -0
- package/dist/migrations/20220723215213-limit-promotion-claims.d.ts +6 -0
- package/dist/migrations/20220723220233-num_claims.d.ts +6 -0
- package/dist/migrations/20220723221907-default_false_promos.d.ts +6 -0
- package/dist/migrations/20220724172559-default_zero_claims.d.ts +6 -0
- package/dist/migrations/20220724201419-pinned_post.d.ts +6 -0
- package/dist/migrations/20220729164625-unsend_mass.d.ts +6 -0
- package/dist/migrations/20220823033002-interval-unit.d.ts +6 -0
- package/dist/migrations/20220830193530-processorId.d.ts +6 -0
- package/dist/migrations/20220907121932-add-processor-to-sub.d.ts +6 -0
- package/dist/migrations/20220907212232-add-trans-id.d.ts +6 -0
- package/dist/migrations/20220907220423-big-int-trans.d.ts +6 -0
- package/dist/migrations/20220909161902-add-stale.d.ts +6 -0
- package/dist/migrations/20220922000225-verified-spender.d.ts +6 -0
- package/dist/migrations/20220922212108-verified-spender-2.d.ts +6 -0
- package/dist/migrations/20221013223648-product-subscription-list.d.ts +6 -0
- package/dist/migrations/20221014001037-product-subscription-list.d.ts +6 -0
- package/dist/migrations/20221026055245-update-type.d.ts +6 -0
- package/dist/migrations/20221108060019-recurly-sub.d.ts +6 -0
- package/dist/migrations/20221110170148-rename-recurly-account.d.ts +6 -0
- package/dist/migrations/20221112212510-archive-promo.d.ts +6 -0
- package/dist/migrations/20221117044529-sub-status.d.ts +6 -0
- package/dist/migrations/20221122051433-default-plan.d.ts +6 -0
- package/dist/migrations/20221128034620-invoice-id.d.ts +6 -0
- package/dist/migrations/20221128034620-invoice-id.js +12 -0
- package/dist/migrations/20221128034620-invoice-id.js.map +1 -0
- package/dist/migrations/20230104055346-oddsjam.js +501 -0
- package/dist/migrations/20230104055346-oddsjam.js.map +1 -0
- package/dist/migrations/20230104233909-markets.js +28 -0
- package/dist/migrations/20230104233909-markets.js.map +1 -0
- package/dist/migrations/20230105005418-sportsbook.js +24 -0
- package/dist/migrations/20230105005418-sportsbook.js.map +1 -0
- package/dist/migrations/20230106044910-player-result.js +59 -0
- package/dist/migrations/20230106044910-player-result.js.map +1 -0
- package/dist/scripts/bet-syncing/gradeBets.js +109 -0
- package/dist/scripts/bet-syncing/gradeBets.js.map +1 -0
- package/dist/scripts/bet-syncing/pullGames.js +198 -0
- package/dist/scripts/bet-syncing/pullGames.js.map +1 -0
- package/dist/scripts/bet-syncing/pullLiveScores.js +187 -0
- package/dist/scripts/bet-syncing/pullLiveScores.js.map +1 -0
- package/dist/scripts/bet-syncing/pullOdds.js +255 -0
- package/dist/scripts/bet-syncing/pullOdds.js.map +1 -0
- package/dist/scripts/bet-syncing/pullPlayerResults.js +63 -0
- package/dist/scripts/bet-syncing/pullPlayerResults.js.map +1 -0
- package/dist/scripts/bet-syncing/pullPlayers.js +59 -0
- package/dist/scripts/bet-syncing/pullPlayers.js.map +1 -0
- package/dist/scripts/bet-syncing/pullScores.js +183 -0
- package/dist/scripts/bet-syncing/pullScores.js.map +1 -0
- package/dist/scripts/bet-syncing/pullTeams.d.ts +1 -0
- package/dist/scripts/bet-syncing/pullTeams.js +85 -0
- package/dist/scripts/bet-syncing/pullTeams.js.map +1 -0
- package/dist/scripts/cleanupRecurlyPlans.d.ts +1 -0
- package/dist/scripts/createDashboardLink.d.ts +1 -0
- package/dist/scripts/createDashboardLink.js +4 -4
- package/dist/scripts/createDashboardLink.js.map +1 -1
- package/dist/scripts/createRecurlyPlans.d.ts +1 -0
- package/dist/scripts/deleteMalformedImages.d.ts +1 -0
- package/dist/scripts/fixSaltedPasswords.js +40 -0
- package/dist/scripts/fixSaltedPasswords.js.map +1 -0
- package/dist/scripts/mapCurrentPaymentsToInvoiceId.d.ts +1 -0
- package/dist/scripts/mapCurrentPaymentsToInvoiceId.js +91 -0
- package/dist/scripts/mapCurrentPaymentsToInvoiceId.js.map +1 -0
- package/dist/scripts/payoutRecurlySubs.d.ts +1 -0
- package/dist/scripts/payoutRecurlySubs.js +8 -1
- package/dist/scripts/payoutRecurlySubs.js.map +1 -1
- package/dist/scripts/payoutSubscriptions.d.ts +1 -0
- package/dist/scripts/payoutSubscriptions.js +18 -10
- package/dist/scripts/payoutSubscriptions.js.map +1 -1
- package/dist/scripts/removeUnreferenceSubs.d.ts +1 -0
- package/dist/scripts/test.d.ts +1 -0
- package/dist/scripts/test.js +3 -21
- package/dist/scripts/test.js.map +1 -1
- package/dist/slack/index.d.ts +1 -0
- package/dist/{server → slack}/index.js +0 -4
- package/dist/slack/index.js.map +1 -0
- package/dist/slack/v1/bypassCreator.d.ts +8 -0
- package/dist/slack/v1/bypassCreator.js.map +1 -0
- package/dist/slack/v1/cancelSubscription.d.ts +6 -0
- package/dist/slack/v1/cancelSubscription.js.map +1 -0
- package/dist/slack/v1/changeName.d.ts +8 -0
- package/dist/slack/v1/changeName.js.map +1 -0
- package/dist/slack/v1/checkAuthSub.d.ts +6 -0
- package/dist/{server → slack}/v1/checkAuthSub.js +5 -5
- package/dist/slack/v1/checkAuthSub.js.map +1 -0
- package/dist/slack/v1/dashboardLink.d.ts +8 -0
- package/dist/{server → slack}/v1/dashboardLink.js +1 -1
- package/dist/slack/v1/dashboardLink.js.map +1 -0
- package/dist/slack/v1/index.d.ts +7 -0
- package/dist/{server → slack}/v1/index.js +1 -8
- package/dist/slack/v1/index.js.map +1 -0
- package/dist/slack/v1/refund.d.ts +6 -0
- package/dist/slack/v1/refund.js +42 -0
- package/dist/slack/v1/refund.js.map +1 -0
- package/dist/slack/v1/searchUser.d.ts +6 -0
- package/dist/slack/v1/searchUser.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/pk-client.d.ts +151 -0
- package/dist/src/pk-sub.d.ts +77 -0
- package/dist/src/recurlyInstance.d.ts +3 -0
- package/dist/src/types.d.ts +30 -0
- package/dist/support/index.d.ts +2 -0
- package/dist/support/slack-client.d.ts +3 -0
- package/dist/support/uploadcare.d.ts +14 -0
- package/dist/support/utils.d.ts +2 -0
- package/dist/typed-model/asset-category.d.ts +9 -0
- package/dist/typed-model/asset-constent-person.d.ts +13 -0
- package/dist/typed-model/bet.d.ts +12 -0
- package/dist/typed-model/bet.js +64 -0
- package/dist/typed-model/bet.js.map +1 -0
- package/dist/typed-model/blocked-ip.d.ts +8 -0
- package/dist/typed-model/category-tag.d.ts +9 -0
- package/dist/typed-model/consent-person.d.ts +13 -0
- package/dist/typed-model/content-category-tag.d.ts +9 -0
- package/dist/typed-model/content-like.d.ts +10 -0
- package/dist/typed-model/credit-payment.d.ts +34 -0
- package/dist/typed-model/credit-payment.js +10 -6
- package/dist/typed-model/credit-payment.js.map +1 -1
- package/dist/typed-model/credit-payout.d.ts +10 -0
- package/dist/typed-model/credit-purchase.d.ts +10 -0
- package/dist/typed-model/customer-profile.d.ts +17 -0
- package/dist/typed-model/dashboard-user-permissions.d.ts +9 -0
- package/dist/typed-model/dashboard-user.d.ts +20 -0
- package/dist/typed-model/fan-list.d.ts +10 -0
- package/dist/typed-model/fraud.d.ts +9 -0
- package/dist/typed-model/game.d.ts +56 -0
- package/dist/typed-model/game.js +234 -0
- package/dist/typed-model/game.js.map +1 -0
- package/dist/typed-model/index.d.ts +46 -0
- package/dist/typed-model/index.js +15 -1
- package/dist/typed-model/index.js.map +1 -1
- package/dist/typed-model/league.d.ts +9 -0
- package/dist/typed-model/league.js +35 -0
- package/dist/typed-model/league.js.map +1 -0
- package/dist/typed-model/list-member.d.ts +9 -0
- package/dist/typed-model/market.js +36 -0
- package/dist/typed-model/market.js.map +1 -0
- package/dist/typed-model/mass-message.d.ts +11 -0
- package/dist/typed-model/media-asset.d.ts +15 -0
- package/dist/typed-model/media-category.d.ts +10 -0
- package/dist/typed-model/media.d.ts +14 -0
- package/dist/typed-model/message-media.d.ts +9 -0
- package/dist/typed-model/message.d.ts +27 -0
- package/dist/typed-model/notification.d.ts +18 -0
- package/dist/typed-model/odds.d.ts +30 -0
- package/dist/typed-model/odds.js +155 -0
- package/dist/typed-model/odds.js.map +1 -0
- package/dist/typed-model/parlay.d.ts +8 -0
- package/dist/typed-model/parlay.js +30 -0
- package/dist/typed-model/parlay.js.map +1 -0
- package/dist/typed-model/pb-sequelize.d.ts +3 -0
- package/dist/typed-model/phone-chat-participation.d.ts +20 -0
- package/dist/typed-model/phone-chat.d.ts +16 -0
- package/dist/typed-model/phone-owner.d.ts +53 -0
- package/dist/typed-model/phone-user.d.ts +21 -0
- package/dist/typed-model/player-result.js +67 -0
- package/dist/typed-model/player-result.js.map +1 -0
- package/dist/typed-model/player.d.ts +22 -0
- package/dist/typed-model/player.js +87 -0
- package/dist/typed-model/player.js.map +1 -0
- package/dist/typed-model/premium-content.d.ts +23 -0
- package/dist/typed-model/purchased-content.d.ts +11 -0
- package/dist/typed-model/recurly-account.d.ts +9 -0
- package/dist/typed-model/short-url.d.ts +12 -0
- package/dist/typed-model/sportsbook.js +31 -0
- package/dist/typed-model/sportsbook.js.map +1 -0
- package/dist/typed-model/subscription-bundle.d.ts +12 -0
- package/dist/typed-model/subscription-category-tags.d.ts +9 -0
- package/dist/typed-model/subscription-plan.d.ts +27 -0
- package/dist/typed-model/subscription-plan.js +1 -0
- package/dist/typed-model/subscription-plan.js.map +1 -1
- package/dist/typed-model/subscription-promotion.d.ts +19 -0
- package/dist/typed-model/subscription.d.ts +26 -0
- package/dist/typed-model/team.d.ts +16 -0
- package/dist/typed-model/team.js +70 -0
- package/dist/typed-model/team.js.map +1 -0
- package/dist/typed-model/twilio-phone.d.ts +17 -0
- package/dist/typed-model/user-follow.d.ts +13 -0
- package/dist/typed-model/verification-code.d.ts +11 -0
- package/dist/webhooks/index.d.ts +1 -0
- package/dist/webhooks/index.js +48 -0
- package/dist/webhooks/index.js.map +1 -0
- package/dist/webhooks/payment/index.d.ts +1 -0
- package/dist/webhooks/payment/index.js +9 -0
- package/dist/webhooks/payment/index.js.map +1 -0
- package/dist/webhooks/payment/refund.d.ts +2 -0
- package/dist/webhooks/payment/refund.js +39 -0
- package/dist/webhooks/payment/refund.js.map +1 -0
- package/package.json +3 -1
- package/typed-model/bet.ts +84 -0
- package/typed-model/credit-payment.ts +14 -9
- package/typed-model/game.ts +311 -0
- package/typed-model/index.ts +7 -0
- package/typed-model/league.ts +53 -0
- package/typed-model/market.ts +54 -0
- package/typed-model/odds.ts +232 -0
- package/typed-model/parlay.ts +47 -0
- package/typed-model/player-result.ts +93 -0
- package/typed-model/player.ts +118 -0
- package/typed-model/sportsbook.ts +48 -0
- package/typed-model/team.ts +91 -0
- package/dist/scripts/authorizeTransfer.js +0 -188
- package/dist/scripts/authorizeTransfer.js.map +0 -1
- package/dist/server/index.js.map +0 -1
- package/dist/server/v1/bypassCreator.js.map +0 -1
- package/dist/server/v1/cancelSubscription.js.map +0 -1
- package/dist/server/v1/changeName.js.map +0 -1
- package/dist/server/v1/checkAuthSub.js.map +0 -1
- package/dist/server/v1/dashboardLink.js.map +0 -1
- package/dist/server/v1/getSuspendedSubs.js +0 -76
- package/dist/server/v1/getSuspendedSubs.js.map +0 -1
- package/dist/server/v1/index.js.map +0 -1
- package/dist/server/v1/manualCreateSub.js +0 -159
- package/dist/server/v1/manualCreateSub.js.map +0 -1
- package/dist/server/v1/refund.js +0 -78
- package/dist/server/v1/refund.js.map +0 -1
- package/dist/server/v1/retrySubscription.js +0 -81
- package/dist/server/v1/retrySubscription.js.map +0 -1
- package/dist/server/v1/searchUser.js.map +0 -1
- /package/dist/{server → slack}/v1/bypassCreator.js +0 -0
- /package/dist/{server → slack}/v1/cancelSubscription.js +0 -0
- /package/dist/{server → slack}/v1/changeName.js +0 -0
- /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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
package/typed-model/index.ts
CHANGED
|
@@ -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;
|