@winible/winible-typed 1.0.9 → 2.0.0
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/migrations/20230206061925-stale.js +13 -0
- package/dist/migrations/20230206061925-stale.js.map +1 -0
- package/dist/migrations/20230313175015-league-user.js +29 -0
- package/dist/migrations/20230313175015-league-user.js.map +1 -0
- package/dist/migrations/20230330174702-extend-premium-content.js +35 -0
- package/dist/migrations/20230330174702-extend-premium-content.js.map +1 -0
- package/dist/migrations/20230405141245-deprecate-agencies.js +9 -0
- package/dist/migrations/20230405141245-deprecate-agencies.js.map +1 -0
- package/dist/migrations/20230405142440-deprecate-unused-tables.js +23 -0
- package/dist/migrations/20230405142440-deprecate-unused-tables.js.map +1 -0
- package/dist/migrations/20230410144940-deprecate-consent-people.js +9 -0
- package/dist/migrations/20230410144940-deprecate-consent-people.js.map +1 -0
- package/dist/migrations/20230410174328-deprecate-consent-people-table.js +9 -0
- package/dist/migrations/20230410174328-deprecate-consent-people-table.js.map +1 -0
- package/dist/migrations/20230410181920-migrate-credit-payments-to-transactions.js +9 -0
- package/dist/migrations/20230410181920-migrate-credit-payments-to-transactions.js.map +1 -0
- package/dist/migrations/20230410202433-migrate-credit-payments-fields.js +12 -0
- package/dist/migrations/20230410202433-migrate-credit-payments-fields.js.map +1 -0
- package/dist/migrations/20230410211059-deprecate-credit-purchases.js +9 -0
- package/dist/migrations/20230410211059-deprecate-credit-purchases.js.map +1 -0
- package/dist/migrations/20230410212035-deprecate-dashboard_user_permissions.js +10 -0
- package/dist/migrations/20230410212035-deprecate-dashboard_user_permissions.js.map +1 -0
- package/dist/migrations/20230410212324-deprecate-non-breaking-tables.js +34 -0
- package/dist/migrations/20230410212324-deprecate-non-breaking-tables.js.map +1 -0
- package/dist/migrations/20230411054826-create-users-table.js +141 -0
- package/dist/migrations/20230411054826-create-users-table.js.map +1 -0
- package/dist/migrations/20230411202848-migrate_transactions_table.js +24 -0
- package/dist/migrations/20230411202848-migrate_transactions_table.js.map +1 -0
- package/dist/migrations/20230411203543-migrate_league_users.js +9 -0
- package/dist/migrations/20230411203543-migrate_league_users.js.map +1 -0
- package/dist/migrations/20230411205324-migrate_league.js +13 -0
- package/dist/migrations/20230411205324-migrate_league.js.map +1 -0
- package/dist/migrations/20230411221159-migrate_media.js +9 -0
- package/dist/migrations/20230411221159-migrate_media.js.map +1 -0
- package/dist/migrations/20230411221327-migrate_media_asset.js +10 -0
- package/dist/migrations/20230411221327-migrate_media_asset.js.map +1 -0
- package/dist/migrations/20230411221842-migrate_media_asset_fields.js +10 -0
- package/dist/migrations/20230411221842-migrate_media_asset_fields.js.map +1 -0
- package/dist/migrations/20230411222018-migrate_notifications.js +25 -0
- package/dist/migrations/20230411222018-migrate_notifications.js.map +1 -0
- package/dist/scripts/bet-syncing/findGoodBets.js +238 -0
- package/dist/scripts/bet-syncing/findGoodBets.js.map +1 -0
- package/dist/scripts/bet-syncing/pullOdds.js +21 -8
- package/dist/scripts/bet-syncing/pullOdds.js.map +1 -1
- package/dist/scripts/bet-syncing/pullPlayerResults.js +47 -21
- package/dist/scripts/bet-syncing/pullPlayerResults.js.map +1 -1
- package/dist/scripts/bet-syncing/pullPlayers.js +1 -1
- package/dist/scripts/bet-syncing/pullPlayers.js.map +1 -1
- package/dist/scripts/bet-syncing/updateStaleOdds.js +34 -0
- package/dist/scripts/bet-syncing/updateStaleOdds.js.map +1 -0
- package/dist/scripts/cleanupRecurlyPlans.js +12 -5
- package/dist/scripts/cleanupRecurlyPlans.js.map +1 -1
- package/dist/scripts/mapCurrentPaymentsToInvoiceId.js +12 -5
- package/dist/scripts/mapCurrentPaymentsToInvoiceId.js.map +1 -1
- package/dist/src/index.js +1 -18
- package/dist/src/index.js.map +1 -1
- package/dist/typed-model/credit-payment.js +133 -82
- package/dist/typed-model/credit-payment.js.map +1 -1
- package/dist/typed-model/index.js +3 -81
- package/dist/typed-model/index.js.map +1 -1
- package/dist/typed-model/league-user.js +60 -0
- package/dist/typed-model/league-user.js.map +1 -0
- package/dist/typed-model/media-asset.js +0 -9
- package/dist/typed-model/media-asset.js.map +1 -1
- package/dist/typed-model/notification.js +34 -24
- package/dist/typed-model/notification.js.map +1 -1
- package/dist/typed-model/odds.js +5 -0
- package/dist/typed-model/odds.js.map +1 -1
- package/dist/typed-model/pb-sequelize.js +18 -4
- package/dist/typed-model/pb-sequelize.js.map +1 -1
- package/dist/typed-model/subscription-plan-on-premium-content.js +57 -0
- package/dist/typed-model/subscription-plan-on-premium-content.js.map +1 -0
- package/dist/typed-model/subscription-plan.js +0 -9
- package/dist/typed-model/subscription-plan.js.map +1 -1
- package/dist/typed-model/subscription.js +0 -14
- package/dist/typed-model/subscription.js.map +1 -1
- package/dist/typed-model/user.js +194 -0
- package/dist/typed-model/user.js.map +1 -0
- package/package.json +4 -3
- package/src/index.ts +0 -2
- package/typed-model/credit-payment.ts +124 -126
- package/typed-model/index.ts +1 -51
- package/typed-model/{list-member.ts → league-user.ts} +31 -19
- package/typed-model/media-asset.ts +0 -10
- package/typed-model/notification.ts +39 -44
- package/typed-model/pb-sequelize.ts +18 -4
- package/typed-model/subscription-plan.ts +0 -10
- package/typed-model/subscription.ts +1 -15
- package/typed-model/user.ts +248 -0
- package/dist/index.d.ts +0 -3
- package/dist/migrations/20220601151258-custom_name_describing_your_migration.d.ts +0 -6
- package/dist/migrations/20220605225655-create-dashboard-user-permissions.d.ts +0 -6
- package/dist/migrations/20220606001300-update-dashboard-user-permissions.d.ts +0 -6
- package/dist/migrations/20220607091109-add-read-date-for-message.d.ts +0 -6
- package/dist/migrations/20220616225456-add-delete-columns.d.ts +0 -6
- package/dist/migrations/20220709202211-disable-feed.d.ts +0 -6
- package/dist/migrations/20220723215213-limit-promotion-claims.d.ts +0 -6
- package/dist/migrations/20220723220233-num_claims.d.ts +0 -6
- package/dist/migrations/20220723221907-default_false_promos.d.ts +0 -6
- package/dist/migrations/20220724172559-default_zero_claims.d.ts +0 -6
- package/dist/migrations/20220724201419-pinned_post.d.ts +0 -6
- package/dist/migrations/20220729164625-unsend_mass.d.ts +0 -6
- package/dist/migrations/20220823033002-interval-unit.d.ts +0 -6
- package/dist/migrations/20220830193530-processorId.d.ts +0 -6
- package/dist/migrations/20220907121932-add-processor-to-sub.d.ts +0 -6
- package/dist/migrations/20220907212232-add-trans-id.d.ts +0 -6
- package/dist/migrations/20220907220423-big-int-trans.d.ts +0 -6
- package/dist/migrations/20220909161902-add-stale.d.ts +0 -6
- package/dist/migrations/20220922000225-verified-spender.d.ts +0 -6
- package/dist/migrations/20220922212108-verified-spender-2.d.ts +0 -6
- package/dist/migrations/20221013223648-product-subscription-list.d.ts +0 -6
- package/dist/migrations/20221014001037-product-subscription-list.d.ts +0 -6
- package/dist/migrations/20221026055245-update-type.d.ts +0 -6
- package/dist/migrations/20221108060019-recurly-sub.d.ts +0 -6
- package/dist/migrations/20221110170148-rename-recurly-account.d.ts +0 -6
- package/dist/migrations/20221112212510-archive-promo.d.ts +0 -6
- package/dist/migrations/20221117044529-sub-status.d.ts +0 -6
- package/dist/migrations/20221122051433-default-plan.d.ts +0 -6
- package/dist/migrations/20221128034620-invoice-id.d.ts +0 -6
- package/dist/scripts/bet-syncing/pullTeams.d.ts +0 -1
- package/dist/scripts/cleanupRecurlyPlans.d.ts +0 -1
- package/dist/scripts/createDashboardLink.d.ts +0 -1
- package/dist/scripts/createRecurlyPlans.d.ts +0 -1
- package/dist/scripts/deleteMalformedImages.d.ts +0 -1
- package/dist/scripts/fixSaltedPasswords.js +0 -40
- package/dist/scripts/fixSaltedPasswords.js.map +0 -1
- package/dist/scripts/mapCurrentPaymentsToInvoiceId.d.ts +0 -1
- package/dist/scripts/payoutRecurlySubs.d.ts +0 -1
- package/dist/scripts/payoutSubscriptions.d.ts +0 -1
- package/dist/scripts/removeUnreferenceSubs.d.ts +0 -1
- package/dist/scripts/test.d.ts +0 -1
- package/dist/slack/index.d.ts +0 -1
- package/dist/slack/v1/bypassCreator.d.ts +0 -8
- package/dist/slack/v1/cancelSubscription.d.ts +0 -6
- package/dist/slack/v1/changeName.d.ts +0 -8
- package/dist/slack/v1/checkAuthSub.d.ts +0 -6
- package/dist/slack/v1/dashboardLink.d.ts +0 -8
- package/dist/slack/v1/index.d.ts +0 -7
- package/dist/slack/v1/refund.d.ts +0 -6
- package/dist/slack/v1/searchUser.d.ts +0 -6
- package/dist/src/index.d.ts +0 -3
- package/dist/src/pk-client.d.ts +0 -151
- package/dist/src/pk-sub.d.ts +0 -77
- package/dist/src/recurlyInstance.d.ts +0 -3
- package/dist/src/types.d.ts +0 -30
- package/dist/support/index.d.ts +0 -2
- package/dist/support/slack-client.d.ts +0 -3
- package/dist/support/uploadcare.d.ts +0 -14
- package/dist/support/utils.d.ts +0 -2
- package/dist/typed-model/asset-category.d.ts +0 -9
- package/dist/typed-model/asset-constent-person.d.ts +0 -13
- package/dist/typed-model/bet.d.ts +0 -12
- package/dist/typed-model/blocked-ip.d.ts +0 -8
- package/dist/typed-model/category-tag.d.ts +0 -9
- package/dist/typed-model/consent-person.d.ts +0 -13
- package/dist/typed-model/content-category-tag.d.ts +0 -9
- package/dist/typed-model/content-like.d.ts +0 -10
- package/dist/typed-model/credit-payment.d.ts +0 -34
- package/dist/typed-model/credit-payout.d.ts +0 -10
- package/dist/typed-model/credit-purchase.d.ts +0 -10
- package/dist/typed-model/customer-profile.d.ts +0 -17
- package/dist/typed-model/dashboard-user-permissions.d.ts +0 -9
- package/dist/typed-model/dashboard-user.d.ts +0 -20
- package/dist/typed-model/fan-list.d.ts +0 -10
- package/dist/typed-model/fraud.d.ts +0 -9
- package/dist/typed-model/game.d.ts +0 -56
- package/dist/typed-model/index.d.ts +0 -46
- package/dist/typed-model/league.d.ts +0 -9
- package/dist/typed-model/list-member.d.ts +0 -9
- package/dist/typed-model/mass-message.d.ts +0 -11
- package/dist/typed-model/media-asset.d.ts +0 -15
- package/dist/typed-model/media-category.d.ts +0 -10
- package/dist/typed-model/media.d.ts +0 -14
- package/dist/typed-model/message-media.d.ts +0 -9
- package/dist/typed-model/message.d.ts +0 -27
- package/dist/typed-model/notification.d.ts +0 -18
- package/dist/typed-model/odds.d.ts +0 -30
- package/dist/typed-model/parlay.d.ts +0 -8
- package/dist/typed-model/pb-sequelize.d.ts +0 -3
- package/dist/typed-model/phone-chat-participation.d.ts +0 -20
- package/dist/typed-model/phone-chat.d.ts +0 -16
- package/dist/typed-model/phone-owner.d.ts +0 -53
- package/dist/typed-model/phone-user.d.ts +0 -21
- package/dist/typed-model/player.d.ts +0 -22
- package/dist/typed-model/premium-content.d.ts +0 -23
- package/dist/typed-model/purchased-content.d.ts +0 -11
- package/dist/typed-model/recurly-account.d.ts +0 -9
- package/dist/typed-model/short-url.d.ts +0 -12
- package/dist/typed-model/subscription-bundle.d.ts +0 -12
- package/dist/typed-model/subscription-category-tags.d.ts +0 -9
- package/dist/typed-model/subscription-plan.d.ts +0 -27
- package/dist/typed-model/subscription-promotion.d.ts +0 -19
- package/dist/typed-model/subscription.d.ts +0 -26
- package/dist/typed-model/team.d.ts +0 -16
- package/dist/typed-model/twilio-phone.d.ts +0 -17
- package/dist/typed-model/user-follow.d.ts +0 -13
- package/dist/typed-model/verification-code.d.ts +0 -11
- package/dist/webhooks/index.d.ts +0 -1
- package/dist/webhooks/payment/index.d.ts +0 -1
- package/dist/webhooks/payment/refund.d.ts +0 -2
- package/src/pk-client.ts +0 -1650
- package/src/pk-sub.ts +0 -455
- package/typed-model/asset-category.ts +0 -57
- package/typed-model/asset-constent-person.ts +0 -82
- package/typed-model/bet.ts +0 -84
- package/typed-model/blocked-ip.ts +0 -52
- package/typed-model/category-tag.ts +0 -66
- package/typed-model/consent-person.ts +0 -78
- package/typed-model/content-category-tag.ts +0 -79
- package/typed-model/credit-purchase.ts +0 -67
- package/typed-model/customer-profile.ts +0 -71
- package/typed-model/dashboard-user-permissions.ts +0 -51
- package/typed-model/dashboard-user.ts +0 -146
- package/typed-model/fan-list.ts +0 -68
- package/typed-model/fraud.ts +0 -62
- package/typed-model/game.ts +0 -311
- package/typed-model/market.ts +0 -54
- package/typed-model/mass-message.ts +0 -64
- package/typed-model/media-category.ts +0 -70
- package/typed-model/message-media.ts +0 -74
- package/typed-model/message.ts +0 -258
- package/typed-model/odds.ts +0 -232
- package/typed-model/parlay.ts +0 -47
- package/typed-model/phone-chat-participation.ts +0 -166
- package/typed-model/phone-chat.ts +0 -185
- package/typed-model/player-result.ts +0 -93
- package/typed-model/player.ts +0 -118
- package/typed-model/short-url.ts +0 -120
- package/typed-model/sportsbook.ts +0 -48
- package/typed-model/subscription-bundle.ts +0 -80
- package/typed-model/subscription-category-tags.ts +0 -79
- package/typed-model/subscription-promotion.ts +0 -134
- package/typed-model/team.ts +0 -91
- package/typed-model/twilio-phone.ts +0 -149
- package/typed-model/user-follow.ts +0 -141
- package/typed-model/verification-code.ts +0 -74
@@ -0,0 +1,238 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const dotenv = require("dotenv");
|
7
|
+
const oddsjam_js_wrapper_1 = __importDefault(require("@winible/oddsjam-js-wrapper"));
|
8
|
+
const typed_model_1 = require("../../typed-model");
|
9
|
+
const sequelize_1 = require("sequelize");
|
10
|
+
const axios_1 = __importDefault(require("axios"));
|
11
|
+
dotenv.config();
|
12
|
+
const OddsJamClient = (0, oddsjam_js_wrapper_1.default)(process.env.ODDS_JAM_API_KEY);
|
13
|
+
const postSlackNotification = async (webhook, body) => {
|
14
|
+
try {
|
15
|
+
await axios_1.default.post(webhook, body);
|
16
|
+
}
|
17
|
+
catch (err) {
|
18
|
+
console.log(err);
|
19
|
+
}
|
20
|
+
};
|
21
|
+
const oddToSlack = (type, odd) => {
|
22
|
+
return {
|
23
|
+
blocks: [
|
24
|
+
{
|
25
|
+
type: "header",
|
26
|
+
text: {
|
27
|
+
type: "plain_text",
|
28
|
+
text: `${type}: ${odd.market_name} - ${odd.name} - ${(odd.pos_ev * 100.0).toFixed(2)}`,
|
29
|
+
emoji: true,
|
30
|
+
},
|
31
|
+
},
|
32
|
+
{
|
33
|
+
type: "divider",
|
34
|
+
},
|
35
|
+
{
|
36
|
+
type: "section",
|
37
|
+
fields: [
|
38
|
+
{
|
39
|
+
text: `pos_ev: ${odd.pos_ev}`,
|
40
|
+
emoji: true,
|
41
|
+
type: "plain_text",
|
42
|
+
},
|
43
|
+
{
|
44
|
+
text: `no_vig_odds: ${odd.no_vig_odds}`,
|
45
|
+
type: "plain_text",
|
46
|
+
emoji: true,
|
47
|
+
},
|
48
|
+
{
|
49
|
+
text: `pinnacle_juice: ${odd.pinnacle_juice}`,
|
50
|
+
type: "plain_text",
|
51
|
+
emoji: true,
|
52
|
+
},
|
53
|
+
{
|
54
|
+
text: `pp_bet_points: ${odd.pp_bet_points}`,
|
55
|
+
type: "plain_text",
|
56
|
+
emoji: true,
|
57
|
+
},
|
58
|
+
{
|
59
|
+
text: `pin_bet_points: ${odd.pin_bet_points}`,
|
60
|
+
type: "plain_text",
|
61
|
+
emoji: true,
|
62
|
+
},
|
63
|
+
{
|
64
|
+
text: `pp_price: ${odd.pp_price}`,
|
65
|
+
type: "plain_text",
|
66
|
+
emoji: true,
|
67
|
+
},
|
68
|
+
],
|
69
|
+
},
|
70
|
+
{
|
71
|
+
type: "section",
|
72
|
+
fields: [
|
73
|
+
{
|
74
|
+
text: `pin_price_over: ${odd.pin_price_over}`,
|
75
|
+
type: "plain_text",
|
76
|
+
emoji: true,
|
77
|
+
},
|
78
|
+
{
|
79
|
+
text: `pin_price_under: ${odd.pin_price_under}`,
|
80
|
+
type: "plain_text",
|
81
|
+
emoji: true,
|
82
|
+
},
|
83
|
+
{
|
84
|
+
text: `pp_implied_odds: ${odd.pp_implied_odds}`,
|
85
|
+
type: "plain_text",
|
86
|
+
emoji: true,
|
87
|
+
},
|
88
|
+
{
|
89
|
+
text: `over_implied_odds: ${odd.over_implied_odds}`,
|
90
|
+
type: "plain_text",
|
91
|
+
emoji: true,
|
92
|
+
},
|
93
|
+
{
|
94
|
+
text: `under_implied_odds: ${odd.under_implied_odds}`,
|
95
|
+
type: "plain_text",
|
96
|
+
emoji: true,
|
97
|
+
},
|
98
|
+
{
|
99
|
+
text: `ppupdate: ${odd.ppupdate.hours} hr, ${odd.ppupdate.minutes} min ago`,
|
100
|
+
type: "plain_text",
|
101
|
+
emoji: true,
|
102
|
+
},
|
103
|
+
{
|
104
|
+
text: `pinnacleupdate: ${odd.pinnacleupdate.hours} hr, ${odd.pinnacleupdate.minutes} min ago`,
|
105
|
+
type: "plain_text",
|
106
|
+
emoji: true,
|
107
|
+
},
|
108
|
+
{
|
109
|
+
text: `away_team: ${odd.away_team}`,
|
110
|
+
type: "plain_text",
|
111
|
+
emoji: true,
|
112
|
+
},
|
113
|
+
{
|
114
|
+
text: `home_team: ${odd.home_team}`,
|
115
|
+
type: "plain_text",
|
116
|
+
emoji: true,
|
117
|
+
},
|
118
|
+
{
|
119
|
+
text: `start_date: ${odd.start_date}`,
|
120
|
+
type: "plain_text",
|
121
|
+
emoji: true,
|
122
|
+
},
|
123
|
+
],
|
124
|
+
},
|
125
|
+
{
|
126
|
+
type: "divider",
|
127
|
+
},
|
128
|
+
],
|
129
|
+
};
|
130
|
+
};
|
131
|
+
const postSlackText = async (book, odd, type) => {
|
132
|
+
let bookUrl = {
|
133
|
+
"PrizePicks (5 or 6 Pick Flex)": "https://hooks.slack.com/services/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",
|
134
|
+
"Underdog Fantasy (3 or 5 Pick)": "https://hooks.slack.com/services/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",
|
135
|
+
}[book];
|
136
|
+
await postSlackNotification(bookUrl, oddToSlack(type, odd));
|
137
|
+
};
|
138
|
+
const run = async (book) => {
|
139
|
+
let results = await typed_model_1.pbSequelize.query(`WITH pinnacle_odds as (
|
140
|
+
SELECT *, case when name like '%Over%' then true else false end as is_over
|
141
|
+
FROM
|
142
|
+
odds where (name like '%Over%' OR name like '%Under%')
|
143
|
+
and sports_book_name = 'Pinnacle' AND NOT stale
|
144
|
+
|
145
|
+
),
|
146
|
+
pp_odds as (
|
147
|
+
SELECT *, case when name like '%Over%' then true else false end as is_over
|
148
|
+
FROM
|
149
|
+
odds where (name like '%Over%' OR name like '%Under%')
|
150
|
+
and sports_book_name = '${book}' AND NOT stale
|
151
|
+
)
|
152
|
+
SELECT
|
153
|
+
no_vig_odds - pp_implied_odds as pos_ev,
|
154
|
+
*
|
155
|
+
FROM (
|
156
|
+
SELECT
|
157
|
+
CASE WHEN sub.is_over
|
158
|
+
THEN over_implied_odds / (over_implied_odds + under_implied_odds)
|
159
|
+
ELSE
|
160
|
+
under_implied_odds / (over_implied_odds + under_implied_odds)
|
161
|
+
END
|
162
|
+
as no_vig_odds,
|
163
|
+
(over_implied_odds + under_implied_odds) - 1.0 as pinnacle_juice,
|
164
|
+
*
|
165
|
+
FROM
|
166
|
+
(
|
167
|
+
SELECT
|
168
|
+
NOW() - pp."updatedAt" as pp_update,
|
169
|
+
pp.bet_points as pp_bet_points,
|
170
|
+
pin_over.bet_points as pin_bet_points,
|
171
|
+
pp.market_name,
|
172
|
+
pp.name,
|
173
|
+
pp.price as pp_price,
|
174
|
+
pin_over.price as pin_price_over,
|
175
|
+
pin_under.price as pin_price_under,
|
176
|
+
CASE
|
177
|
+
WHEN pp.price > 0
|
178
|
+
THEN 100.0 / (pp.price + 100.0)
|
179
|
+
WHEN pp.price < 0
|
180
|
+
THEN ABS(pp.price) / (ABS(pp.price) + 100.0)
|
181
|
+
END as pp_implied_odds,
|
182
|
+
CASE
|
183
|
+
WHEN pin_over.price > 0
|
184
|
+
THEN 100.0 / (pin_over.price + 100.0)
|
185
|
+
WHEN pin_over.price < 0
|
186
|
+
THEN ABS(pin_over.price) / (ABS(pin_over.price) + 100.0)
|
187
|
+
END as over_implied_odds,
|
188
|
+
CASE
|
189
|
+
WHEN pin_under.price > 0
|
190
|
+
THEN 100.0 / (pin_under.price + 100.0)
|
191
|
+
WHEN pin_under.price < 0
|
192
|
+
THEN ABS(pin_under.price) / (ABS(pin_under.price) + 100.0)
|
193
|
+
END as under_implied_odds,
|
194
|
+
NOW() - pp."updatedAt" as ppUpdate,
|
195
|
+
NOW() - pin_over."updatedAt" as pinnacleUpdate,
|
196
|
+
pp.is_over,
|
197
|
+
games.away_team,
|
198
|
+
games.home_team,
|
199
|
+
games.start_date,
|
200
|
+
pp.bet_result
|
201
|
+
FROM pp_odds pp
|
202
|
+
JOIN games on games.id = pp.game_id
|
203
|
+
JOIN pinnacle_odds pin_over
|
204
|
+
ON pp.odds_jam_game_id = pin_over.odds_jam_game_id AND pp.market_id = pin_over.market_id AND pp.odds_jam_player_id = pin_over.odds_jam_player_id AND pin_over.is_over
|
205
|
+
JOIN pinnacle_odds pin_under
|
206
|
+
ON pp.odds_jam_game_id = pin_under.odds_jam_game_id AND pp.market_id = pin_under.market_id AND pp.odds_jam_player_id = pin_under.odds_jam_player_id AND NOT pin_under.is_over
|
207
|
+
-- WHERE NOW() - pin_under."updatedAt" <= interval '3 hours'
|
208
|
+
) as sub
|
209
|
+
) sub2 WHERE
|
210
|
+
-- no_vig_odds - pp_implied_odds > 0.0 AND
|
211
|
+
start_date > now() AND
|
212
|
+
(pin_bet_points = pp_bet_points OR (NOT is_over AND pin_bet_points < pp_bet_points) OR (is_over AND pin_bet_points > pp_bet_points))
|
213
|
+
order by no_vig_odds - pp_implied_odds desc`, { type: sequelize_1.QueryTypes.SELECT });
|
214
|
+
for (let odd of results) {
|
215
|
+
let recentBet = !odd.pp_update.days &&
|
216
|
+
(!odd.pp_update.hours || odd.pp_update.hours == 0) &&
|
217
|
+
odd.pp_update.minutes < 10;
|
218
|
+
if (odd.pos_ev > -0.02 &&
|
219
|
+
odd.pp_bet_points != odd.pin_bet_points &&
|
220
|
+
recentBet) {
|
221
|
+
console.log("Mismatch found");
|
222
|
+
postSlackText(book, odd, "Point mismatch");
|
223
|
+
}
|
224
|
+
if (odd.pos_ev > 0.03 && recentBet) {
|
225
|
+
console.log("Pos EV found");
|
226
|
+
postSlackText(book, odd, "Positive EV");
|
227
|
+
}
|
228
|
+
}
|
229
|
+
};
|
230
|
+
if (require.main === module) {
|
231
|
+
if (require.main === module) {
|
232
|
+
var book = process.argv[2] || "PrizePicks (5 or 6 Pick Flex)";
|
233
|
+
run(book).then(async () => {
|
234
|
+
console.log("Finished");
|
235
|
+
});
|
236
|
+
}
|
237
|
+
}
|
238
|
+
//# sourceMappingURL=findGoodBets.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"findGoodBets.js","sourceRoot":"","sources":["../../../scripts/bet-syncing/findGoodBets.ts"],"names":[],"mappings":"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"}
|
@@ -21,6 +21,9 @@ const PULL_FOR_BOOKS = [
|
|
21
21
|
"FanDuel",
|
22
22
|
"Pinnacle",
|
23
23
|
"PrizePicks",
|
24
|
+
"PrizePicks (5 or 6 Pick Flex)",
|
25
|
+
"Bovada",
|
26
|
+
"Underdog Fantasy (3 or 5 Pick)",
|
24
27
|
];
|
25
28
|
const PULL_FOR_MARKETS = [
|
26
29
|
"1st 3 Innings Moneyline",
|
@@ -74,6 +77,7 @@ const PULL_FOR_MARKETS = [
|
|
74
77
|
"Player Interceptions",
|
75
78
|
"Player Kicking Points",
|
76
79
|
"Player Longest Reception",
|
80
|
+
"Player Made Threes",
|
77
81
|
"Player Longest Rush",
|
78
82
|
"Player Passing Attempts",
|
79
83
|
"Player Passing Completions",
|
@@ -114,6 +118,13 @@ const PULL_FOR_MARKETS = [
|
|
114
118
|
"Total Points",
|
115
119
|
"Total Rounds",
|
116
120
|
"Total Runs",
|
121
|
+
"Total Touchdowns",
|
122
|
+
"1st 2 Maps Player Kills",
|
123
|
+
"Player Blocked Shots",
|
124
|
+
"Player Fantasy Score",
|
125
|
+
"Player Passing + Rushing Yards",
|
126
|
+
"Player Power Play Points",
|
127
|
+
"Player Shots",
|
117
128
|
];
|
118
129
|
dotenv.config();
|
119
130
|
const mapOJOddsToOdds = (odds, market, sportsbook, game, player) => {
|
@@ -140,7 +151,7 @@ const mapOJOddsToOdds = (odds, market, sportsbook, game, player) => {
|
|
140
151
|
awayRotationNumber: odds.away_rotation_number,
|
141
152
|
deepLinkUrl: odds.deep_link_url,
|
142
153
|
oddsJamPlayerId: odds.player_id,
|
143
|
-
marketId: market.id,
|
154
|
+
marketId: market && market.id,
|
144
155
|
sportsbookId: sportsbook.id,
|
145
156
|
gameId: game.id,
|
146
157
|
oddsJamGameId: game.oddsJamId,
|
@@ -187,7 +198,9 @@ const run = async () => {
|
|
187
198
|
},
|
188
199
|
],
|
189
200
|
});
|
190
|
-
let gameMarkets = await OddsJamClient.getMarkets({
|
201
|
+
let gameMarkets = await OddsJamClient.getMarkets({
|
202
|
+
gameId: "13602-17233-23-06",
|
203
|
+
});
|
191
204
|
let marketsToCreate = [
|
192
205
|
...new Set(gameMarkets.filter((s) => !allMarkets.find((m) => m.oddsJamId == s.id))),
|
193
206
|
];
|
@@ -231,7 +244,6 @@ const run = async () => {
|
|
231
244
|
"price",
|
232
245
|
"checkedDate",
|
233
246
|
"betPoints",
|
234
|
-
"isMain",
|
235
247
|
"isLive",
|
236
248
|
"teamId",
|
237
249
|
"playerId",
|
@@ -239,11 +251,12 @@ const run = async () => {
|
|
239
251
|
});
|
240
252
|
console.log(`Inserted ${upsertBodies.length} odds for games ${gameIds.join(",")}`);
|
241
253
|
};
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
254
|
+
await updateOddsForGamePromise(["13602-17233-23-06"]);
|
255
|
+
// let a = upcomingGames.map((g) => g.oddsJamId);
|
256
|
+
// while (a.length) {
|
257
|
+
// let gameIds = a.splice(0, 5);
|
258
|
+
// await updateOddsForGamePromise(gameIds);
|
259
|
+
// }
|
247
260
|
};
|
248
261
|
if (require.main === module) {
|
249
262
|
if (require.main === module) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pullOdds.js","sourceRoot":"","sources":["../../../scripts/bet-syncing/pullOdds.ts"],"names":[],"mappings":";;;;;AAAA,iCAAkC;AAClC,qFAAkD;AAQlD,mDAAqE;AACrE,yCAA+B;AAC/B,sEAA8C;AAC9C,8EAAsD;AACtD,oDAA4B;AAE5B,MAAM,cAAc,GAAU;IAC5B,UAAU;IACV,QAAQ;IACR,qBAAqB;IACrB,YAAY;IACZ,mBAAmB;IACnB,YAAY;IACZ,wBAAwB;IACxB,SAAS;IACT,UAAU;IACV,YAAY;
|
1
|
+
{"version":3,"file":"pullOdds.js","sourceRoot":"","sources":["../../../scripts/bet-syncing/pullOdds.ts"],"names":[],"mappings":"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"}
|
@@ -7,9 +7,13 @@ const dotenv = require("dotenv");
|
|
7
7
|
const oddsjam_js_wrapper_1 = __importDefault(require("@winible/oddsjam-js-wrapper"));
|
8
8
|
const typed_model_1 = require("../../typed-model");
|
9
9
|
const player_result_1 = __importDefault(require("../../typed-model/player-result"));
|
10
|
+
const sequelize_1 = require("sequelize");
|
10
11
|
dotenv.config();
|
11
12
|
const OddsJamClient = (0, oddsjam_js_wrapper_1.default)(process.env.ODDS_JAM_API_KEY);
|
12
13
|
const mapOJPlayerResultToPlayerResults = (p, player, game) => {
|
14
|
+
if (!game) {
|
15
|
+
return undefined;
|
16
|
+
}
|
13
17
|
return {
|
14
18
|
oddsJamId: p.id,
|
15
19
|
oddsJamPlayerId: p.player_id,
|
@@ -29,29 +33,51 @@ const mapOJPlayerResultToPlayerResults = (p, player, game) => {
|
|
29
33
|
};
|
30
34
|
};
|
31
35
|
const run = async () => {
|
32
|
-
const
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
36
|
+
const res = await typed_model_1.pbSequelize.query(`
|
37
|
+
SELECT odds_jam_game_id, start_date, count(*) FROM odds
|
38
|
+
join games on games.odds_jam_id = odds_jam_game_id
|
39
|
+
where games.start_date < now() - interval '10 hours'
|
40
|
+
AND bet_result is null
|
41
|
+
AND games.league = 'NBA'
|
42
|
+
group by odds_jam_game_id, start_date order by start_date desc
|
43
|
+
`, { type: sequelize_1.QueryTypes.SELECT });
|
44
|
+
let oddsJamGameIds = res.map((t) => t.odds_jam_game_id);
|
45
|
+
console.log(oddsJamGameIds);
|
46
|
+
let playerResults = [];
|
47
|
+
for (let gameId of oddsJamGameIds) {
|
48
|
+
let playerResultsResponse = await OddsJamClient.getPlayerResults({
|
49
|
+
gameId: gameId,
|
50
|
+
});
|
51
|
+
playerResults.concat(playerResultsResponse.data);
|
52
|
+
if (gameId) {
|
53
|
+
let playerResults = playerResultsResponse.data;
|
54
|
+
console.log(`Migrate all players results: ${gameId}`);
|
55
|
+
const players = await typed_model_1.Player.findAll();
|
56
|
+
const leagues = await typed_model_1.League.findAll();
|
57
|
+
const games = await typed_model_1.Game.findAll();
|
58
|
+
for (let result of playerResults) {
|
59
|
+
if (players.find((p) => p.oddsJamId == result.player_id)) {
|
60
|
+
continue;
|
61
|
+
}
|
62
|
+
let league = leagues.find((l) => l.leagueName == result.league);
|
63
|
+
players.push(await typed_model_1.Player.create({
|
64
|
+
oddsJamId: result.player_id,
|
65
|
+
playerName: result.player_name,
|
66
|
+
sport: result.sport,
|
67
|
+
league: result.league,
|
68
|
+
leagueId: league.id,
|
69
|
+
}));
|
70
|
+
}
|
71
|
+
let resSet = new Set();
|
72
|
+
const playerResultData = playerResults
|
73
|
+
.map((p) => mapOJPlayerResultToPlayerResults(p, players.find((pl) => pl.oddsJamId == p.player_id), games.find((g) => g.oddsJamId == p.game_id)))
|
74
|
+
.filter((p) => !!p);
|
75
|
+
await player_result_1.default.bulkCreate(playerResultData, {
|
76
|
+
updateOnDuplicate: ["stats", "playerId"],
|
77
|
+
});
|
78
|
+
playerResults = [];
|
40
79
|
}
|
41
|
-
let league = leagues.find((l) => l.leagueName == result.league);
|
42
|
-
players.push(await typed_model_1.Player.create({
|
43
|
-
oddsJamId: result.player_id,
|
44
|
-
playerName: result.player_name,
|
45
|
-
sport: result.sport,
|
46
|
-
league: result.league,
|
47
|
-
leagueId: league.id,
|
48
|
-
}));
|
49
80
|
}
|
50
|
-
let resSet = new Set();
|
51
|
-
const playerResultData = playerResults.map((p) => mapOJPlayerResultToPlayerResults(p, players.find((pl) => pl.oddsJamId == p.player_id), games.find((g) => g.oddsJamId == p.game_id)));
|
52
|
-
await player_result_1.default.bulkCreate(playerResultData, {
|
53
|
-
updateOnDuplicate: ["stats", "playerId"],
|
54
|
-
});
|
55
81
|
};
|
56
82
|
if (require.main === module) {
|
57
83
|
if (require.main === module) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pullPlayerResults.js","sourceRoot":"","sources":["../../../scripts/bet-syncing/pullPlayerResults.ts"],"names":[],"mappings":";;;;;AAAA,iCAAkC;AAClC,qFAAkD;AASlD,
|
1
|
+
{"version":3,"file":"pullPlayerResults.js","sourceRoot":"","sources":["../../../scripts/bet-syncing/pullPlayerResults.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pullPlayers.js","sourceRoot":"","sources":["../../../scripts/bet-syncing/pullPlayers.ts"],"names":[],"mappings":";;;;;AAAA,iCAAkC;AAClC,qFAAkD;AAQlD,mDAAyD;AAEzD,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,aAAa,GAAG,IAAA,4BAAO,EAAC,OAAO,CAAC,GAAG,CAAC,gBAAiB,CAAC,CAAC;AAE7D,MAAM,mBAAmB,GAAG,CAAC,CAAW,EAAE,MAAc,EAAE,IAAU,EAAE,EAAE;IACtE,OAAO;QACL,SAAS,EAAE,CAAC,CAAC,EAAE;QACf,UAAU,EAAE,CAAC,CAAC,WAAW;QACzB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,aAAa,EAAE,CAAC,CAAC,OAAO;QACxB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,IAAI,CAAC,EAAE;
|
1
|
+
{"version":3,"file":"pullPlayers.js","sourceRoot":"","sources":["../../../scripts/bet-syncing/pullPlayers.ts"],"names":[],"mappings":";;;;;AAAA,iCAAkC;AAClC,qFAAkD;AAQlD,mDAAyD;AAEzD,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,aAAa,GAAG,IAAA,4BAAO,EAAC,OAAO,CAAC,GAAG,CAAC,gBAAiB,CAAC,CAAC;AAE7D,MAAM,mBAAmB,GAAG,CAAC,CAAW,EAAE,MAAc,EAAE,IAAU,EAAE,EAAE;IACtE,OAAO;QACL,SAAS,EAAE,CAAC,CAAC,EAAE;QACf,UAAU,EAAE,CAAC,CAAC,WAAW;QACzB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,aAAa,EAAE,CAAC,CAAC,OAAO;QACxB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,EAAE;QACvB,QAAQ,EAAE,MAAM,CAAC,EAAE;KACpB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;IACrB,MAAM,OAAO,GAAG,MAAM,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;IAEvD,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAa,MAAM,oBAAM,CAAC,OAAO,EAAE,CAAC;IAEjD,MAAM,KAAK,GAAW,MAAM,kBAAI,CAAC,OAAO,EAAE,CAAC;IAE3C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACnC,mBAAmB,CACjB,CAAC,EACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,CAAE,EAC9C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,OAAO,CAAE,CACjD,CACF,CAAC;IAEF,MAAM,oBAAM,CAAC,UAAU,CAAC,UAAU,EAAE;QAClC,iBAAiB,EAAE;YACjB,OAAO;YACP,QAAQ;YACR,WAAW;YACX,UAAU;YACV,UAAU;YACV,eAAe;YACf,QAAQ;YACR,UAAU;YACV,KAAK;YACL,QAAQ;YACR,QAAQ;SACT;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;QAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;KACJ;CACF"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const dotenv = require("dotenv");
|
4
|
+
const typed_model_1 = require("../../typed-model");
|
5
|
+
const sequelize_1 = require("sequelize");
|
6
|
+
dotenv.config();
|
7
|
+
const run = async () => {
|
8
|
+
console.log("Updating stale odds");
|
9
|
+
await typed_model_1.pbSequelize.query(`UPDATE odds set stale = true where id in
|
10
|
+
(select id FROM (
|
11
|
+
SELECT
|
12
|
+
id,
|
13
|
+
name,
|
14
|
+
market_name,
|
15
|
+
odds_jam_game_id,
|
16
|
+
sports_book_name,
|
17
|
+
is_main,
|
18
|
+
market_id,
|
19
|
+
odds_jam_player_id,
|
20
|
+
checked_date,
|
21
|
+
name like '%Over%' as is_over,
|
22
|
+
ROW_NUMBER() over (partition by odds_jam_game_id, sports_book_name, is_main, market_name, odds_jam_player_id, name like '%Over%' order by checked_date DESC) as row
|
23
|
+
FROM odds
|
24
|
+
WHERE odds_jam_player_id IS NOT NULL AND bet_result IS NULL AND is_main
|
25
|
+
) sub where row > 1)`, { type: sequelize_1.QueryTypes.UPDATE });
|
26
|
+
};
|
27
|
+
if (require.main === module) {
|
28
|
+
if (require.main === module) {
|
29
|
+
run().then(async () => {
|
30
|
+
console.log("Finished");
|
31
|
+
});
|
32
|
+
}
|
33
|
+
}
|
34
|
+
//# sourceMappingURL=updateStaleOdds.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"updateStaleOdds.js","sourceRoot":"","sources":["../../../scripts/bet-syncing/updateStaleOdds.ts"],"names":[],"mappings":";;AAAA,iCAAkC;AAElC,mDAAgD;AAChD,yCAAuC;AAEvC,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;IACrB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,MAAM,yBAAW,CAAC,KAAK,CACrB;;;;;;;;;;;;;;;;yBAgBqB,EACrB,EAAE,IAAI,EAAE,sBAAU,CAAC,MAAM,EAAE,CAC5B,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;QAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;KACJ;CACF"}
|
@@ -12,18 +12,25 @@ dotenv.config();
|
|
12
12
|
const src_1 = require("../src");
|
13
13
|
const typed_model_1 = require("../typed-model");
|
14
14
|
const run = async () => {
|
15
|
-
var e_1,
|
15
|
+
var _a, e_1, _b, _c;
|
16
16
|
let listPager = src_1.recurlyInstance.listPlans({ params: { state: "active" } });
|
17
17
|
try {
|
18
|
-
for (var
|
19
|
-
|
20
|
-
|
18
|
+
for (var _d = true, _e = __asyncValues(listPager.each()), _f; _f = await _e.next(), _a = _f.done, !_a;) {
|
19
|
+
_c = _f.value;
|
20
|
+
_d = false;
|
21
|
+
try {
|
22
|
+
const plan = _c;
|
23
|
+
await src_1.recurlyInstance.removePlan(plan.id);
|
24
|
+
}
|
25
|
+
finally {
|
26
|
+
_d = true;
|
27
|
+
}
|
21
28
|
}
|
22
29
|
}
|
23
30
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
24
31
|
finally {
|
25
32
|
try {
|
26
|
-
if (
|
33
|
+
if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
|
27
34
|
}
|
28
35
|
finally { if (e_1) throw e_1.error; }
|
29
36
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cleanupRecurlyPlans.js","sourceRoot":"","sources":["../../scripts/cleanupRecurlyPlans.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iCAAkC;AAClC,MAAM,CAAC,MAAM,EAAE,CAAC;AAGhB,gCAAyC;AACzC,gDAA6C;AAE7C,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;;IACrB,IAAI,SAAS,GAAG,qBAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;;QAE3E,KAAyB,
|
1
|
+
{"version":3,"file":"cleanupRecurlyPlans.js","sourceRoot":"","sources":["../../scripts/cleanupRecurlyPlans.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iCAAkC;AAClC,MAAM,CAAC,MAAM,EAAE,CAAC;AAGhB,gCAAyC;AACzC,gDAA6C;AAE7C,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;;IACrB,IAAI,SAAS,GAAG,qBAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;;QAE3E,KAAyB,eAAA,KAAA,cAAA,SAAS,CAAC,IAAI,EAAE,CAAA,IAAA;YAAhB,cAAgB;YAAhB,WAAgB;;gBAA9B,MAAM,IAAI,KAAA,CAAA;gBACnB,MAAM,qBAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAG,CAAC,CAAC;;;;;SAC5C;;;;;;;;;IAED,MAAM,yBAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;IACF,MAAM,yBAAW,CAAC,KAAK,CACrB,wDAAwD,CACzD,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;QAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;KACJ;CACF"}
|
@@ -33,7 +33,7 @@ const run = async () => {
|
|
33
33
|
}
|
34
34
|
};
|
35
35
|
const mapSubscription = async (sub, creditPayments) => {
|
36
|
-
var e_1,
|
36
|
+
var _a, e_1, _b, _c;
|
37
37
|
let subPayments = creditPayments
|
38
38
|
.filter((c) => {
|
39
39
|
return JSON.parse(c.metadata).subscription_id == sub.id;
|
@@ -49,15 +49,22 @@ const mapSubscription = async (sub, creditPayments) => {
|
|
49
49
|
});
|
50
50
|
let invoices = [];
|
51
51
|
try {
|
52
|
-
for (var
|
53
|
-
|
54
|
-
|
52
|
+
for (var _d = true, _e = __asyncValues(response.each()), _f; _f = await _e.next(), _a = _f.done, !_a;) {
|
53
|
+
_c = _f.value;
|
54
|
+
_d = false;
|
55
|
+
try {
|
56
|
+
const invoice = _c;
|
57
|
+
invoices.push(invoice);
|
58
|
+
}
|
59
|
+
finally {
|
60
|
+
_d = true;
|
61
|
+
}
|
55
62
|
}
|
56
63
|
}
|
57
64
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
58
65
|
finally {
|
59
66
|
try {
|
60
|
-
if (
|
67
|
+
if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
|
61
68
|
}
|
62
69
|
finally { if (e_1) throw e_1.error; }
|
63
70
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mapCurrentPaymentsToInvoiceId.js","sourceRoot":"","sources":["../../scripts/mapCurrentPaymentsToInvoiceId.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAkC;AAClC,MAAM,CAAC,MAAM,EAAE,CAAC;AAIhB,yCAAwC;AAExC,gCAAyC;AACzC,oDAA4B;AAE5B,gDAQwB;AAExB,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;IACrB,MAAM,aAAa,GAAG,MAAM,0BAAY,CAAC,OAAO,CAAC;QAC/C,KAAK,EAAE,IAAA,mBAAO,EAAC,qCAAqC,CAAC;KACtD,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,MAAM,4BAAc,CAAC,OAAO,CAAC;QAClD,KAAK,EAAE;YACL,EAAE,EAAE;gBACF,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,qBAAqB;aAC/B;YACD,eAAe,EAAE,cAAc;SAChC;KACF,CAAC,CAAC;IAEH,KAAK,IAAI,GAAG,IAAI,aAAa,EAAE;QAC7B,MAAM,eAAe,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;KAC5C;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,KAAK,EAC3B,GAAiB,EACjB,cAAgC,EAChC,EAAE;;IACF,IAAI,WAAW,GAAG,cAAc;SAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAS,CAAC,CAAC,eAAe,IAAI,GAAG,CAAC,EAAE,CAAC;IAC3D,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACf,IAAI,IAAA,gBAAM,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAA,gBAAM,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE;YACtD,OAAO,CAAC,CAAC,CAAC;SACX;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEL,IAAI,QAAQ,GAAG,MAAM,qBAAe,CAAC,wBAAwB,CAC3D,GAAG,CAAC,qBAAsB,EAC1B;QACE,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC9D,CACF,CAAC;IAEF,IAAI,QAAQ,GAAc,EAAE,CAAC;;QAE7B,KAA4B,
|
1
|
+
{"version":3,"file":"mapCurrentPaymentsToInvoiceId.js","sourceRoot":"","sources":["../../scripts/mapCurrentPaymentsToInvoiceId.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
@@ -1,26 +1,9 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
-
};
|
16
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
17
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
18
4
|
};
|
19
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
20
|
-
exports.recurlyInstance =
|
21
|
-
var pk_client_1 = require("./pk-client");
|
22
|
-
Object.defineProperty(exports, "pkClient", { enumerable: true, get: function () { return __importDefault(pk_client_1).default; } });
|
23
|
-
__exportStar(require("./pk-sub"), exports);
|
6
|
+
exports.recurlyInstance = void 0;
|
24
7
|
var recurlyInstance_1 = require("./recurlyInstance");
|
25
8
|
Object.defineProperty(exports, "recurlyInstance", { enumerable: true, get: function () { return __importDefault(recurlyInstance_1).default; } });
|
26
9
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB"}
|