@winible/winible-typed 1.0.9 → 1.0.10

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.
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sequelize_1 = require("sequelize");
4
+ exports.default = {
5
+ async up(queryInterface, sequelize) {
6
+ queryInterface.addColumn("odds", "stale", {
7
+ type: sequelize_1.DataTypes.BOOLEAN,
8
+ defaultValue: false,
9
+ });
10
+ },
11
+ async down(queryInterface, sequelize) { },
12
+ };
13
+ //# sourceMappingURL=20230206061925-stale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20230206061925-stale.js","sourceRoot":"","sources":["../../migrations/20230206061925-stale.ts"],"names":[],"mappings":";;AAAA,yCAAiE;AAEjE,kBAAe;IACb,KAAK,CAAC,EAAE,CAAC,cAA8B,EAAE,SAAoB;QAC3D,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE;YACxC,IAAI,EAAE,qBAAS,CAAC,OAAO;YACvB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,cAA8B,EAAE,SAAoB,IAAG,CAAC;CACpE,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sequelize_1 = require("sequelize");
4
+ exports.default = {
5
+ async up(queryInterface, sequelize) {
6
+ queryInterface.createTable("league_users", {
7
+ id: {
8
+ type: sequelize_1.DataTypes.BIGINT,
9
+ primaryKey: true,
10
+ allowNull: false,
11
+ defaultValue: (0, sequelize_1.fn)("next_id"),
12
+ },
13
+ leagueId: {
14
+ type: new sequelize_1.DataTypes.BIGINT(),
15
+ allowNull: false,
16
+ },
17
+ userId: {
18
+ type: new sequelize_1.DataTypes.BIGINT(),
19
+ allowNull: false,
20
+ },
21
+ createdAt: sequelize_1.DataTypes.DATE,
22
+ updatedAt: sequelize_1.DataTypes.DATE,
23
+ });
24
+ },
25
+ async down(queryInterface, sequelize) { },
26
+ };
27
+ //# sourceMappingURL=20230313175014-league-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20230313175014-league-user.js","sourceRoot":"","sources":["../../migrations/20230313175014-league-user.ts"],"names":[],"mappings":";;AAAA,yCAAqE;AAErE,kBAAe;IACb,KAAK,CAAC,EAAE,CAAC,cAA8B,EAAE,SAAoB;QAC3D,cAAc,CAAC,WAAW,CAAC,cAAc,EAAE;YACzC,EAAE,EAAE;gBACF,IAAI,EAAE,qBAAS,CAAC,MAAM;gBACtB,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,IAAA,cAAE,EAAC,SAAS,CAAC;aAC5B;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,qBAAS,CAAC,MAAM,EAAE;gBAC5B,SAAS,EAAE,KAAK;aACjB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,qBAAS,CAAC,MAAM,EAAE;gBAC5B,SAAS,EAAE,KAAK;aACjB;YACD,SAAS,EAAE,qBAAS,CAAC,IAAI;YACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,cAA8B,EAAE,SAAoB,IAAG,CAAC;CACpE,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sequelize_1 = require("sequelize");
4
+ exports.default = {
5
+ async up(queryInterface, sequelize) {
6
+ queryInterface.createTable("league_users", {
7
+ id: {
8
+ type: sequelize_1.DataTypes.BIGINT,
9
+ primaryKey: true,
10
+ allowNull: false,
11
+ defaultValue: (0, sequelize_1.fn)("next_id"),
12
+ },
13
+ leagueId: {
14
+ type: new sequelize_1.DataTypes.BIGINT(),
15
+ field: "league_id",
16
+ allowNull: false,
17
+ },
18
+ userId: {
19
+ type: new sequelize_1.DataTypes.BIGINT(),
20
+ field: "user_id",
21
+ allowNull: false,
22
+ },
23
+ createdAt: sequelize_1.DataTypes.DATE,
24
+ updatedAt: sequelize_1.DataTypes.DATE,
25
+ });
26
+ },
27
+ async down(queryInterface, sequelize) { },
28
+ };
29
+ //# sourceMappingURL=20230313175015-league-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20230313175015-league-user.js","sourceRoot":"","sources":["../../migrations/20230313175015-league-user.ts"],"names":[],"mappings":";;AAAA,yCAAqE;AAErE,kBAAe;IACb,KAAK,CAAC,EAAE,CAAC,cAA8B,EAAE,SAAoB;QAC3D,cAAc,CAAC,WAAW,CAAC,cAAc,EAAE;YACzC,EAAE,EAAE;gBACF,IAAI,EAAE,qBAAS,CAAC,MAAM;gBACtB,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,IAAA,cAAE,EAAC,SAAS,CAAC;aAC5B;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,qBAAS,CAAC,MAAM,EAAE;gBAC5B,KAAK,EAAE,WAAW;gBAClB,SAAS,EAAE,KAAK;aACjB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,qBAAS,CAAC,MAAM,EAAE;gBAC5B,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,KAAK;aACjB;YACD,SAAS,EAAE,qBAAS,CAAC,IAAI;YACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,cAA8B,EAAE,SAAoB,IAAG,CAAC;CACpE,CAAC"}
@@ -0,0 +1,85 @@
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 sequelize = require("../../typed-model/pb-sequelize");
9
+ dotenv.config();
10
+ const OddsJamClient = (0, oddsjam_js_wrapper_1.default)(process.env.ODDS_JAM_API_KEY);
11
+ function timeout(ms) {
12
+ return new Promise((resolve) => setTimeout(resolve, ms));
13
+ }
14
+ const run = async () => {
15
+ sequelize.default.query(`
16
+ WITH normalized_odds AS (SELECT
17
+ *,
18
+ CASE WHEN price > 0 THEN price - 100 WHEN price < 0 THEN price + 100 END as normalized_price
19
+ FROM odds
20
+ WHERE NOW() - odds."createdAt" <= interval '24 hours' and sports_book_name != 'PrizePicks'
21
+ )
22
+ SELECT
23
+ market_id,
24
+ game_id,
25
+ player_id,
26
+ team_id,
27
+ label,
28
+ bet_points,
29
+ sub.name,
30
+ sports_book_name,
31
+ rnum,
32
+ normalized_price,
33
+ max_price,
34
+ min_price,
35
+ avg_price,
36
+ total_books,
37
+ normalized_price - min_price as ev_diff,
38
+ normalized_price - avg_price as ev_avg_diff
39
+ FROM
40
+ (
41
+ select
42
+ market_id,
43
+ game_id,
44
+ player_id,
45
+ team_id,
46
+ markets.label,
47
+ sportsbooks.name as sports_book_name,
48
+ price,
49
+ odds_jam_id,
50
+ bet_points,
51
+ normalized_odds.name,
52
+ normalized_price,
53
+ best_price.max_price,
54
+ best_price.min_price,
55
+ best_price.avg_price,
56
+ total_books,
57
+ row_number() OVER (PARTITION BY market_id, game_id, player_id, team_id, markets.label, bet_points, normalized_odds.name ORDER BY price DESC) AS rnum
58
+ -- json_agg(json_build_object('sportsbook',sportsbook_id,'price',price, 'book_name', sportsbooks.name))
59
+ from normalized_odds
60
+ LEFT join
61
+ (
62
+ select
63
+ market_id,
64
+ game_id,
65
+ name,
66
+ max(normalized_price) as max_price,
67
+ min(normalized_price) as min_price,
68
+ avg(normalized_price) as avg_price,
69
+ count(*) as total_books
70
+ from normalized_odds group by 1, 2, 3)
71
+ best_price USING (market_id, game_id, name)
72
+ join sportsbooks on sportsbook_id = sportsbooks.id
73
+ join markets on markets.id = normalized_odds.market_id
74
+ --group by 1, 2, 3, 4, 5;
75
+ ) sub where sports_book_name like 'PrizePicks%' and total_books > 3 order by ev_diff desc
76
+ `);
77
+ };
78
+ if (require.main === module) {
79
+ if (require.main === module) {
80
+ run().then(async () => {
81
+ console.log("Finished");
82
+ });
83
+ }
84
+ }
85
+ //# sourceMappingURL=checkForPrizePicks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkForPrizePicks.js","sourceRoot":"","sources":["../../../scripts/bet-syncing/checkForPrizePicks.ts"],"names":[],"mappings":";;;;;AAAA,iCAAkC;AAClC,qFAAkD;AAOlD,4DAA6D;AAE7D,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,aAAa,GAAG,IAAA,4BAAO,EAAC,OAAO,CAAC,GAAG,CAAC,gBAAiB,CAAC,CAAC;AAE7D,SAAS,OAAO,CAAC,EAAE;IACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;IACrB,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6DrB,CAAC,CAAC;AACP,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,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":";;;;;AAAA,iCAAkC;AAClC,qFAAkD;AAIlD,mDAA+E;AAC/E,yCAA2C;AAE3C,kDAA0B;AAE1B,MAAM,CAAC,MAAM,EAAE,CAAC;AA0BhB,MAAM,aAAa,GAAG,IAAA,4BAAO,EAAC,OAAO,CAAC,GAAG,CAAC,gBAAiB,CAAC,CAAC;AAE7D,MAAM,qBAAqB,GAAG,KAAK,EAAE,OAAe,EAAE,IAAS,EAAE,EAAE;IACjE,IAAI;QACF,MAAM,eAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACjC;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAClB;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,GAAQ,EAAE,EAAE;IAC5C,OAAO;QACL,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,GAAG,IAAI,KAAK,GAAG,CAAC,WAAW,MAAM,GAAG,CAAC,IAAI,MAAM,CACnD,GAAG,CAAC,MAAM,GAAG,KAAK,CACnB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACd,KAAK,EAAE,IAAI;iBACZ;aACF;YACD;gBACE,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,WAAW,GAAG,CAAC,MAAM,EAAE;wBAC7B,KAAK,EAAE,IAAI;wBACX,IAAI,EAAE,YAAY;qBACnB;oBACD;wBACE,IAAI,EAAE,gBAAgB,GAAG,CAAC,WAAW,EAAE;wBACvC,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,mBAAmB,GAAG,CAAC,cAAc,EAAE;wBAC7C,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,kBAAkB,GAAG,CAAC,aAAa,EAAE;wBAC3C,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,mBAAmB,GAAG,CAAC,cAAc,EAAE;wBAC7C,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,aAAa,GAAG,CAAC,QAAQ,EAAE;wBACjC,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;iBACF;aACF;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,mBAAmB,GAAG,CAAC,cAAc,EAAE;wBAC7C,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,oBAAoB,GAAG,CAAC,eAAe,EAAE;wBAC/C,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,oBAAoB,GAAG,CAAC,eAAe,EAAE;wBAC/C,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,sBAAsB,GAAG,CAAC,iBAAiB,EAAE;wBACnD,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,uBAAuB,GAAG,CAAC,kBAAkB,EAAE;wBACrD,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,aAAa,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ,GAAG,CAAC,QAAQ,CAAC,OAAO,UAAU;wBAC3E,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,mBAAmB,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ,GAAG,CAAC,cAAc,CAAC,OAAO,UAAU;wBAC7F,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,cAAc,GAAG,CAAC,SAAS,EAAE;wBACnC,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,cAAc,GAAG,CAAC,SAAS,EAAE;wBACnC,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,eAAe,GAAG,CAAC,UAAU,EAAE;wBACrC,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;qBACZ;iBACF;aACF;YACD;gBACE,IAAI,EAAE,SAAS;aAChB;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,IAAU,EAAE,GAAQ,EAAE,IAAY,EAAE,EAAE;IACjE,IAAI,OAAO,GAAG;QACZ,+BAA+B,EAC7B,mFAAmF;QACrF,gCAAgC,EAC9B,mFAAmF;KACtF,CAAC,IAAI,CAAC,CAAC;IACR,MAAM,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,GAAG,GAAG,KAAK,EACf,IAAwE,EACxE,EAAE;IACF,IAAI,OAAO,GAAU,MAAM,yBAAW,CAAC,KAAK,CAC1C;;;;;;;;;;;sCAWkC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDA+DM,EAC5C,EAAE,IAAI,EAAE,sBAAU,CAAC,MAAM,EAAE,CAC5B,CAAC;IAEF,KAAK,IAAI,GAAG,IAAI,OAAO,EAAE;QACvB,IAAI,SAAS,GACX,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI;YACnB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC;YAClD,GAAG,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;QAE7B,IACE,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI;YAClB,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,cAAc;YACvC,SAAS,EACT;YACA,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;SAC5C;QAED,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,IAAI,SAAS,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5B,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;SACzC;KACF;AACH,CAAC,CAAC;AAEF,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;QAC3B,IAAI,IAAI,GACL,OAAO,CAAC,IAAI,CAAC,CAAC,CAAU,IAAI,+BAA+B,CAAC;QAC/D,GAAG,CAAC,IAAW,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;KACJ;CACF"}
@@ -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({ gameId: gameIds });
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
- let a = upcomingGames.map((g) => g.oddsJamId);
243
- while (a.length) {
244
- let gameIds = a.splice(0, 5);
245
- await updateOddsForGamePromise(gameIds);
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":"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"}
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 playerResults = await await OddsJamClient.getPlayerResults();
33
- console.log(`Migrate all players results: ${playerResults.length}`);
34
- const players = await typed_model_1.Player.findAll();
35
- const leagues = await typed_model_1.League.findAll();
36
- const games = await typed_model_1.Game.findAll();
37
- for (let result of playerResults) {
38
- if (players.find((p) => p.oddsJamId == result.player_id)) {
39
- continue;
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":"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"}
1
+ {"version":3,"file":"pullPlayerResults.js","sourceRoot":"","sources":["../../../scripts/bet-syncing/pullPlayerResults.ts"],"names":[],"mappings":";;;;;AAAA,iCAAkC;AAClC,qFAAkD;AASlD,mDAAsE;AACtE,oFAA2D;AAC3D,yCAAuC;AAEvC,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,aAAa,GAAG,IAAA,4BAAO,EAAC,OAAO,CAAC,GAAG,CAAC,gBAAiB,CAAC,CAAC;AAE7D,MAAM,gCAAgC,GAAG,CACvC,CAAiB,EACjB,MAAc,EACd,IAAU,EACV,EAAE;IACF,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,SAAS,CAAC;KAClB;IACD,OAAO;QACL,SAAS,EAAE,CAAC,CAAC,EAAE;QACf,eAAe,EAAE,CAAC,CAAC,SAAS;QAC5B,UAAU,EAAE,CAAC,CAAC,WAAW;QACzB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACxC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACpB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpC,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC;QACR,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,aAAa,EAAE,CAAC,CAAC,OAAO;QACxB,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC,QAAQ;QACnC,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC,EAAE;KAC9B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;IACrB,MAAM,GAAG,GAAG,MAAM,yBAAW,CAAC,KAAK,CACjC;;;;;;;GAOD,EACC,EAAE,IAAI,EAAE,sBAAU,CAAC,MAAM,EAAE,CAC5B,CAAC;IAEF,IAAI,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAE7D,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAE5B,IAAI,aAAa,GAAqB,EAAE,CAAC;IAEzC,KAAK,IAAI,MAAM,IAAI,cAAc,EAAE;QACjC,IAAI,qBAAqB,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC;YAC/D,MAAM,EAAE,MAAM;SACR,CAAC,CAAC;QAEV,aAAa,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,MAAM,EAAE;YACV,IAAI,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC;YAEtD,MAAM,OAAO,GAAa,MAAM,oBAAM,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,OAAO,GAAa,MAAM,oBAAM,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,KAAK,GAAW,MAAM,kBAAI,CAAC,OAAO,EAAE,CAAC;YAE3C,KAAK,IAAI,MAAM,IAAI,aAAa,EAAE;gBAChC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;oBACxD,SAAS;iBACV;gBACD,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChE,OAAO,CAAC,IAAI,CACV,MAAM,oBAAM,CAAC,MAAM,CAAC;oBAClB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,UAAU,EAAE,MAAM,CAAC,WAAW;oBAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAO,CAAC,EAAE;iBACrB,CAAC,CACH,CAAC;aACH;YAED,IAAI,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACvB,MAAM,gBAAgB,GAAG,aAAa;iBACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,gCAAgC,CAC9B,CAAC,EACD,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAE,EAClD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,CAAE,CAC7C,CACF;iBACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtB,MAAM,uBAAY,CAAC,UAAU,CAAC,gBAAuB,EAAE;gBACrD,iBAAiB,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;aACzC,CAAC,CAAC;YAEH,aAAa,GAAG,EAAE,CAAC;SACpB;KACF;AACH,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"}
@@ -23,7 +23,7 @@ const mapOJPlayerToPlayer = (t, league, team) => {
23
23
  age: t.age,
24
24
  height: t.height,
25
25
  weight: t.weight,
26
- teamId: team.id,
26
+ teamId: team && team.id,
27
27
  leagueId: league.id,
28
28
  };
29
29
  };
@@ -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;QACf,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"}
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"}
@@ -0,0 +1,36 @@
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 sequelize_1 = require("sequelize");
7
+ const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
8
+ // order of InferAttributes & InferCreationAttributes is important.
9
+ class League extends sequelize_1.Model {
10
+ }
11
+ League.init({
12
+ id: {
13
+ type: sequelize_1.DataTypes.BIGINT,
14
+ primaryKey: true,
15
+ allowNull: false,
16
+ defaultValue: pb_sequelize_1.default.fn("next_id"),
17
+ },
18
+ leagueId: {
19
+ type: sequelize_1.DataTypes.BIGINT,
20
+ field: "league_id",
21
+ allowNull: false,
22
+ },
23
+ userId: {
24
+ type: sequelize_1.DataTypes.BIGINT,
25
+ field: "user_id",
26
+ allowNull: false,
27
+ },
28
+ createdAt: sequelize_1.DataTypes.DATE,
29
+ updatedAt: sequelize_1.DataTypes.DATE,
30
+ }, {
31
+ // Other model options go here
32
+ tableName: "leagues",
33
+ sequelize: pb_sequelize_1.default,
34
+ });
35
+ exports.default = League;
36
+ //# sourceMappingURL=league-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"league-user.js","sourceRoot":"","sources":["../../typed-model/league-user.ts"],"names":[],"mappings":";;;;;AAAA,yCAOmB;AAEnB,kEAAuC;AAEvC,mEAAmE;AACnE,MAAM,MAAO,SAAQ,iBAGpB;CAQA;AAED,MAAM,CAAC,IAAI,CACT;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,KAAK;KACjB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,8BAA8B;IAC9B,SAAS,EAAE,SAAS;IACpB,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,kBAAe,MAAM,CAAC"}
@@ -112,6 +112,11 @@ Odds.init({
112
112
  type: sequelize_1.DataTypes.INTEGER,
113
113
  field: "player_score",
114
114
  },
115
+ isStale: {
116
+ type: sequelize_1.DataTypes.BOOLEAN,
117
+ field: "stale",
118
+ defaultValue: false,
119
+ },
115
120
  createdAt: sequelize_1.DataTypes.DATE,
116
121
  updatedAt: sequelize_1.DataTypes.DATE,
117
122
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"odds.js","sourceRoot":"","sources":["../../typed-model/odds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odds.js","sourceRoot":"","sources":["../../typed-model/odds.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@winible/winible-typed",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  "@slack/bolt": "^3.12.1",
21
21
  "@types/express": "^4.17.13",
22
22
  "@types/uploadcare": "^0.4.1",
23
- "@winible/oddsjam-js-wrapper": "1.0.3",
23
+ "@winible/oddsjam-js-wrapper": "^1.0.4",
24
24
  "authorizenet": "^1.0.8",
25
25
  "aws-sdk": "^2.824.0",
26
26
  "axios": "^0.21.4",
@@ -0,0 +1,79 @@
1
+ import {
2
+ Model,
3
+ InferAttributes,
4
+ InferCreationAttributes,
5
+ CreationOptional,
6
+ DataTypes,
7
+ } from "sequelize";
8
+ import League from "./league";
9
+
10
+ import sequelize from "./pb-sequelize";
11
+ import PhoneUser from "./phone-user";
12
+
13
+ // order of InferAttributes & InferCreationAttributes is important.
14
+ class LeagueUser extends Model<
15
+ InferAttributes<LeagueUser>,
16
+ InferCreationAttributes<LeagueUser>
17
+ > {
18
+ // 'CreationOptional' is a special type that marks the field as optional
19
+ // when creating an instance of the model (such as using Model.create()).
20
+ declare id: CreationOptional<string>;
21
+ declare leagueId: string;
22
+ declare userId: string;
23
+ declare createdAt: CreationOptional<Date>;
24
+ declare updatedAt: CreationOptional<Date>;
25
+ }
26
+
27
+ LeagueUser.init(
28
+ {
29
+ id: {
30
+ type: DataTypes.BIGINT,
31
+ primaryKey: true,
32
+ allowNull: false,
33
+ defaultValue: sequelize.fn("next_id"),
34
+ },
35
+ leagueId: {
36
+ type: DataTypes.BIGINT,
37
+ field: "league_id",
38
+ allowNull: false,
39
+ },
40
+ userId: {
41
+ type: DataTypes.BIGINT,
42
+ field: "user_id",
43
+ allowNull: false,
44
+ },
45
+ createdAt: DataTypes.DATE,
46
+ updatedAt: DataTypes.DATE,
47
+ },
48
+ {
49
+ // Other model options go here
50
+ tableName: "league_users",
51
+ sequelize,
52
+ }
53
+ );
54
+
55
+ LeagueUser.hasOne(League, {
56
+ foreignKey: "id",
57
+ sourceKey: "leagueId",
58
+ onDelete: "NO ACTION",
59
+ constraints: false,
60
+ });
61
+ League.hasMany(LeagueUser, {
62
+ foreignKey: "leagueId",
63
+ onDelete: "NO ACTION",
64
+ constraints: false,
65
+ });
66
+
67
+ LeagueUser.hasOne(PhoneUser, {
68
+ foreignKey: "id",
69
+ sourceKey: "userId",
70
+ onDelete: "NO ACTION",
71
+ constraints: false,
72
+ });
73
+ PhoneUser.hasMany(LeagueUser, {
74
+ foreignKey: "userId",
75
+ onDelete: "NO ACTION",
76
+ constraints: false,
77
+ });
78
+
79
+ export default LeagueUser;
@@ -76,6 +76,7 @@ class Odds extends Model<InferAttributes<Odds>, InferCreationAttributes<Odds>> {
76
76
  declare homeScore?: number;
77
77
  declare awayScore?: number;
78
78
  declare playerScore?: number;
79
+ declare isStale?: boolean;
79
80
  declare createdAt: CreationOptional<Date>;
80
81
  declare updatedAt: CreationOptional<Date>;
81
82
 
@@ -183,6 +184,11 @@ Odds.init(
183
184
  type: DataTypes.INTEGER,
184
185
  field: "player_score",
185
186
  },
187
+ isStale: {
188
+ type: DataTypes.BOOLEAN,
189
+ field: "stale",
190
+ defaultValue: false,
191
+ },
186
192
  createdAt: DataTypes.DATE,
187
193
  updatedAt: DataTypes.DATE,
188
194
  },