@winible/winible-typed 2.1.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/dist/typed-model/post.js +0 -12
  2. package/dist/typed-model/post.js.map +1 -1
  3. package/dist/typed-model/subscription-plan.js +0 -11
  4. package/dist/typed-model/subscription-plan.js.map +1 -1
  5. package/package.json +1 -1
  6. package/typed-model/post.ts +0 -13
  7. package/typed-model/subscription-plan.ts +0 -12
  8. package/dist/migrations/20220601151258-custom_name_describing_your_migration.js +0 -19
  9. package/dist/migrations/20220601151258-custom_name_describing_your_migration.js.map +0 -1
  10. package/dist/migrations/20220605225655-create-dashboard-user-permissions.js +0 -27
  11. package/dist/migrations/20220605225655-create-dashboard-user-permissions.js.map +0 -1
  12. package/dist/migrations/20220606001300-update-dashboard-user-permissions.js +0 -14
  13. package/dist/migrations/20220606001300-update-dashboard-user-permissions.js.map +0 -1
  14. package/dist/migrations/20220607091109-add-read-date-for-message.js +0 -19
  15. package/dist/migrations/20220607091109-add-read-date-for-message.js.map +0 -1
  16. package/dist/migrations/20220616225456-add-delete-columns.js +0 -21
  17. package/dist/migrations/20220616225456-add-delete-columns.js.map +0 -1
  18. package/dist/migrations/20220709202211-disable-feed.js +0 -24
  19. package/dist/migrations/20220709202211-disable-feed.js.map +0 -1
  20. package/dist/migrations/20220723215213-limit-promotion-claims.js +0 -18
  21. package/dist/migrations/20220723215213-limit-promotion-claims.js.map +0 -1
  22. package/dist/migrations/20220723220233-num_claims.js +0 -12
  23. package/dist/migrations/20220723220233-num_claims.js.map +0 -1
  24. package/dist/migrations/20220723221907-default_false_promos.js +0 -17
  25. package/dist/migrations/20220723221907-default_false_promos.js.map +0 -1
  26. package/dist/migrations/20220724172559-default_zero_claims.js +0 -13
  27. package/dist/migrations/20220724172559-default_zero_claims.js.map +0 -1
  28. package/dist/migrations/20220724201419-pinned_post.js +0 -13
  29. package/dist/migrations/20220724201419-pinned_post.js.map +0 -1
  30. package/dist/migrations/20220729164625-unsend_mass.js +0 -12
  31. package/dist/migrations/20220729164625-unsend_mass.js.map +0 -1
  32. package/dist/migrations/20220823033002-interval-unit.js +0 -14
  33. package/dist/migrations/20220823033002-interval-unit.js.map +0 -1
  34. package/dist/migrations/20220830193530-processorId.js +0 -15
  35. package/dist/migrations/20220830193530-processorId.js.map +0 -1
  36. package/dist/migrations/20220907121932-add-processor-to-sub.js +0 -15
  37. package/dist/migrations/20220907121932-add-processor-to-sub.js.map +0 -1
  38. package/dist/migrations/20220907212232-add-trans-id.js +0 -12
  39. package/dist/migrations/20220907212232-add-trans-id.js.map +0 -1
  40. package/dist/migrations/20220907220423-big-int-trans.js +0 -12
  41. package/dist/migrations/20220907220423-big-int-trans.js.map +0 -1
  42. package/dist/migrations/20220909161902-add-stale.js +0 -13
  43. package/dist/migrations/20220909161902-add-stale.js.map +0 -1
  44. package/dist/migrations/20220922000225-verified-spender.js +0 -13
  45. package/dist/migrations/20220922000225-verified-spender.js.map +0 -1
  46. package/dist/migrations/20220922212108-verified-spender-2.js +0 -16
  47. package/dist/migrations/20220922212108-verified-spender-2.js.map +0 -1
  48. package/dist/migrations/20221013223648-product-subscription-list.js +0 -12
  49. package/dist/migrations/20221013223648-product-subscription-list.js.map +0 -1
  50. package/dist/migrations/20221014001037-product-subscription-list.js +0 -75
  51. package/dist/migrations/20221014001037-product-subscription-list.js.map +0 -1
  52. package/dist/migrations/20221026055245-update-type.js +0 -15
  53. package/dist/migrations/20221026055245-update-type.js.map +0 -1
  54. package/dist/migrations/20221108060019-recurly-sub.js +0 -34
  55. package/dist/migrations/20221108060019-recurly-sub.js.map +0 -1
  56. package/dist/migrations/20221110170148-rename-recurly-account.js +0 -9
  57. package/dist/migrations/20221110170148-rename-recurly-account.js.map +0 -1
  58. package/dist/migrations/20221112212510-archive-promo.js +0 -13
  59. package/dist/migrations/20221112212510-archive-promo.js.map +0 -1
  60. package/dist/migrations/20221117044529-sub-status.js +0 -13
  61. package/dist/migrations/20221117044529-sub-status.js.map +0 -1
  62. package/dist/migrations/20221122051433-default-plan.js +0 -13
  63. package/dist/migrations/20221122051433-default-plan.js.map +0 -1
  64. package/dist/migrations/20221128034620-invoice-id.js +0 -12
  65. package/dist/migrations/20221128034620-invoice-id.js.map +0 -1
  66. package/dist/migrations/20230330174702-extend-premium-content.js +0 -35
  67. package/dist/migrations/20230330174702-extend-premium-content.js.map +0 -1
  68. package/dist/scripts/bet-syncing/findGoodBets.js +0 -238
  69. package/dist/scripts/bet-syncing/findGoodBets.js.map +0 -1
  70. package/dist/scripts/bet-syncing/gradeBets.js +0 -109
  71. package/dist/scripts/bet-syncing/gradeBets.js.map +0 -1
  72. package/dist/scripts/bet-syncing/pullGames.js +0 -198
  73. package/dist/scripts/bet-syncing/pullGames.js.map +0 -1
  74. package/dist/scripts/bet-syncing/pullLiveScores.js +0 -187
  75. package/dist/scripts/bet-syncing/pullLiveScores.js.map +0 -1
  76. package/dist/scripts/bet-syncing/pullOdds.js +0 -268
  77. package/dist/scripts/bet-syncing/pullOdds.js.map +0 -1
  78. package/dist/scripts/bet-syncing/pullPlayerResults.js +0 -89
  79. package/dist/scripts/bet-syncing/pullPlayerResults.js.map +0 -1
  80. package/dist/scripts/bet-syncing/pullPlayers.js +0 -59
  81. package/dist/scripts/bet-syncing/pullPlayers.js.map +0 -1
  82. package/dist/scripts/bet-syncing/pullScores.js +0 -183
  83. package/dist/scripts/bet-syncing/pullScores.js.map +0 -1
  84. package/dist/scripts/bet-syncing/pullTeams.js +0 -85
  85. package/dist/scripts/bet-syncing/pullTeams.js.map +0 -1
  86. package/dist/scripts/bet-syncing/updateStaleOdds.js +0 -34
  87. package/dist/scripts/bet-syncing/updateStaleOdds.js.map +0 -1
  88. package/dist/scripts/createDashboardLink.js +0 -30
  89. package/dist/scripts/createDashboardLink.js.map +0 -1
  90. package/dist/scripts/createRecurlyPlans.js +0 -124
  91. package/dist/scripts/createRecurlyPlans.js.map +0 -1
  92. package/dist/scripts/mapCurrentPaymentsToInvoiceId.js +0 -98
  93. package/dist/scripts/mapCurrentPaymentsToInvoiceId.js.map +0 -1
  94. package/dist/scripts/payoutRecurlySubs.js +0 -160
  95. package/dist/scripts/payoutRecurlySubs.js.map +0 -1
  96. package/dist/scripts/payoutSubscriptions.js +0 -201
  97. package/dist/scripts/payoutSubscriptions.js.map +0 -1
  98. package/dist/scripts/removeUnreferenceSubs.js +0 -39
  99. package/dist/scripts/removeUnreferenceSubs.js.map +0 -1
  100. package/dist/slack/index.js +0 -26
  101. package/dist/slack/index.js.map +0 -1
  102. package/dist/slack/v1/bypassCreator.js +0 -81
  103. package/dist/slack/v1/bypassCreator.js.map +0 -1
  104. package/dist/slack/v1/cancelSubscription.js +0 -35
  105. package/dist/slack/v1/cancelSubscription.js.map +0 -1
  106. package/dist/slack/v1/changeName.js +0 -41
  107. package/dist/slack/v1/changeName.js.map +0 -1
  108. package/dist/slack/v1/checkAuthSub.js +0 -58
  109. package/dist/slack/v1/checkAuthSub.js.map +0 -1
  110. package/dist/slack/v1/dashboardLink.js +0 -30
  111. package/dist/slack/v1/dashboardLink.js.map +0 -1
  112. package/dist/slack/v1/index.js +0 -21
  113. package/dist/slack/v1/index.js.map +0 -1
  114. package/dist/slack/v1/refund.js +0 -42
  115. package/dist/slack/v1/refund.js.map +0 -1
  116. package/dist/slack/v1/searchUser.js +0 -169
  117. package/dist/slack/v1/searchUser.js.map +0 -1
  118. package/dist/src/pk-client.js +0 -1103
  119. package/dist/src/pk-client.js.map +0 -1
  120. package/dist/src/pk-sub.js +0 -310
  121. package/dist/src/pk-sub.js.map +0 -1
  122. package/dist/typed-model/asset-category.js +0 -38
  123. package/dist/typed-model/asset-category.js.map +0 -1
  124. package/dist/typed-model/asset-constent-person.js +0 -56
  125. package/dist/typed-model/asset-constent-person.js.map +0 -1
  126. package/dist/typed-model/bet.js +0 -64
  127. package/dist/typed-model/bet.js.map +0 -1
  128. package/dist/typed-model/blocked-ip.js +0 -34
  129. package/dist/typed-model/blocked-ip.js.map +0 -1
  130. package/dist/typed-model/category-tag.js +0 -46
  131. package/dist/typed-model/category-tag.js.map +0 -1
  132. package/dist/typed-model/consent-person.js +0 -55
  133. package/dist/typed-model/consent-person.js.map +0 -1
  134. package/dist/typed-model/content-category-tag.js +0 -58
  135. package/dist/typed-model/content-category-tag.js.map +0 -1
  136. package/dist/typed-model/credit-payment.js +0 -108
  137. package/dist/typed-model/credit-payment.js.map +0 -1
  138. package/dist/typed-model/credit-payout.js +0 -42
  139. package/dist/typed-model/credit-payout.js.map +0 -1
  140. package/dist/typed-model/credit-purchase.js +0 -46
  141. package/dist/typed-model/credit-purchase.js.map +0 -1
  142. package/dist/typed-model/customer-profile.js +0 -52
  143. package/dist/typed-model/customer-profile.js.map +0 -1
  144. package/dist/typed-model/dashboard-user-permissions.js +0 -34
  145. package/dist/typed-model/dashboard-user-permissions.js.map +0 -1
  146. package/dist/typed-model/dashboard-user.js +0 -109
  147. package/dist/typed-model/dashboard-user.js.map +0 -1
  148. package/dist/typed-model/fan-list.js +0 -46
  149. package/dist/typed-model/fan-list.js.map +0 -1
  150. package/dist/typed-model/fraud.js +0 -41
  151. package/dist/typed-model/fraud.js.map +0 -1
  152. package/dist/typed-model/game.js +0 -234
  153. package/dist/typed-model/game.js.map +0 -1
  154. package/dist/typed-model/list-member.js +0 -47
  155. package/dist/typed-model/list-member.js.map +0 -1
  156. package/dist/typed-model/market.js +0 -36
  157. package/dist/typed-model/market.js.map +0 -1
  158. package/dist/typed-model/mass-message.js +0 -43
  159. package/dist/typed-model/mass-message.js.map +0 -1
  160. package/dist/typed-model/media-category.js +0 -49
  161. package/dist/typed-model/media-category.js.map +0 -1
  162. package/dist/typed-model/message-media.js +0 -53
  163. package/dist/typed-model/message-media.js.map +0 -1
  164. package/dist/typed-model/message.js +0 -191
  165. package/dist/typed-model/message.js.map +0 -1
  166. package/dist/typed-model/odds.js +0 -160
  167. package/dist/typed-model/odds.js.map +0 -1
  168. package/dist/typed-model/parlay.js +0 -30
  169. package/dist/typed-model/parlay.js.map +0 -1
  170. package/dist/typed-model/phone-chat-participation.js +0 -127
  171. package/dist/typed-model/phone-chat-participation.js.map +0 -1
  172. package/dist/typed-model/phone-chat.js +0 -118
  173. package/dist/typed-model/phone-chat.js.map +0 -1
  174. package/dist/typed-model/phone-owner.js +0 -266
  175. package/dist/typed-model/phone-owner.js.map +0 -1
  176. package/dist/typed-model/phone-user.js +0 -109
  177. package/dist/typed-model/phone-user.js.map +0 -1
  178. package/dist/typed-model/player-result.js +0 -67
  179. package/dist/typed-model/player-result.js.map +0 -1
  180. package/dist/typed-model/player.js +0 -87
  181. package/dist/typed-model/player.js.map +0 -1
  182. package/dist/typed-model/premium-content.js +0 -128
  183. package/dist/typed-model/premium-content.js.map +0 -1
  184. package/dist/typed-model/purchased-content.js +0 -69
  185. package/dist/typed-model/purchased-content.js.map +0 -1
  186. package/dist/typed-model/short-url.js +0 -88
  187. package/dist/typed-model/short-url.js.map +0 -1
  188. package/dist/typed-model/sportsbook.js +0 -31
  189. package/dist/typed-model/sportsbook.js.map +0 -1
  190. package/dist/typed-model/subscription-bundle.js +0 -57
  191. package/dist/typed-model/subscription-bundle.js.map +0 -1
  192. package/dist/typed-model/subscription-category-tags.js +0 -58
  193. package/dist/typed-model/subscription-category-tags.js.map +0 -1
  194. package/dist/typed-model/subscription-plan-on-premium-content.js +0 -57
  195. package/dist/typed-model/subscription-plan-on-premium-content.js.map +0 -1
  196. package/dist/typed-model/subscription-promotion.js +0 -101
  197. package/dist/typed-model/subscription-promotion.js.map +0 -1
  198. package/dist/typed-model/subscription.js +0 -111
  199. package/dist/typed-model/subscription.js.map +0 -1
  200. package/dist/typed-model/team.js +0 -70
  201. package/dist/typed-model/team.js.map +0 -1
  202. package/dist/typed-model/twilio-phone.js +0 -92
  203. package/dist/typed-model/twilio-phone.js.map +0 -1
  204. package/dist/typed-model/user-follow.js +0 -103
  205. package/dist/typed-model/user-follow.js.map +0 -1
  206. package/dist/typed-model/verification-code.js +0 -52
  207. package/dist/typed-model/verification-code.js.map +0 -1
@@ -1,198 +0,0 @@
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
- dotenv.config();
10
- const OddsJamClient = (0, oddsjam_js_wrapper_1.default)(process.env.ODDS_JAM_API_KEY);
11
- const mapOJGameToGame = (t, league, homeTeam, awayTeam) => {
12
- if (!league) {
13
- throw new Error(`No league for ${t.league}`);
14
- }
15
- return {
16
- oddsJamId: `${t.id}`,
17
- sport: t.sport,
18
- league: t.league,
19
- startDate: new Date(t.start_date),
20
- homeTeam: homeTeam.teamName,
21
- awayTeam: awayTeam.teamName,
22
- isLive: t.is_live,
23
- homeTeamId: homeTeam.id,
24
- homeOddsJamTeamId: homeTeam.oddsJamTeamId,
25
- awayTeamId: awayTeam.id,
26
- awayOddsJamTeamId: awayTeam.oddsJamTeamId,
27
- leagueId: league.id,
28
- };
29
- };
30
- const mapOJScoreToGame = (score, league, homeTeam, awayTeam) => {
31
- if (!league) {
32
- throw new Error(`No league for ${score.league}`);
33
- }
34
- return {
35
- oddsJamId: `${score.game_id}`,
36
- startDate: new Date(score.start_date),
37
- homeTeam: homeTeam.teamName,
38
- awayTeam: awayTeam.teamName,
39
- isLive: score.is_live,
40
- homeTeamId: homeTeam.id,
41
- homeOddsJamTeamId: homeTeam.oddsJamTeamId,
42
- awayTeamId: awayTeam.id,
43
- awayOddsJamTeamId: awayTeam.oddsJamTeamId,
44
- leagueId: league.id,
45
- sport: score.sport,
46
- league: score.league,
47
- tournament: score.tournament,
48
- clock: score.clock,
49
- period: score.period,
50
- status: score.status,
51
- weather: score.weather,
52
- broadcast: score.broadcast,
53
- lastPlay: score.last_play,
54
- venueName: score.venue_name,
55
- description: score.description,
56
- seasonType: score.season_type,
57
- seasonWeek: score.season_week,
58
- seasonYear: score.season_year,
59
- awayStarter: score.away_starter,
60
- currentOuts: score.current_outs,
61
- homeStarter: score.home_starter,
62
- weatherTemp: score.weather_temp,
63
- awayTeamAbb: score.away_team_abb,
64
- currentBalls: score.current_balls,
65
- homeTeamAbb: score.home_team_abb,
66
- awayTeamCity: score.away_team_city,
67
- awayTeamName: score.away_team_name,
68
- homeTeamCity: score.home_team_city,
69
- homeTeamName: score.home_team_name,
70
- venueLocation: score.venue_location,
71
- currentStrikes: score.current_strikes,
72
- runnerOnFirst: score.runner_on_first,
73
- runnerOnThird: score.runner_on_third,
74
- runnerOnSecond: score.runner_on_second,
75
- scoreAwayTotal: score.score_away_total,
76
- scoreHomeTotal: score.score_home_total,
77
- weatherTempHigh: score.weather_temp_high,
78
- currentPossession: score.current_possession,
79
- currentBatterName: score.current_batter_name,
80
- scoreAwayPeriods: Object.entries(score)
81
- .filter((s) => /^score_away_period_[1-9]*/.test(s[0]))
82
- .sort((a, b) => a[0].localeCompare(b[0]))
83
- .map((s) => s[1]),
84
- scoreHomePeriods: Object.entries(score)
85
- .filter((s) => /^score_home_period_[1-9]*/.test(s[0]))
86
- .sort((a, b) => a[0].localeCompare(b[0]))
87
- .map((s) => s[1]),
88
- currentPitcherName: score.current_pitcher_name,
89
- currentDownAndDistance: score.current_down_and_distance,
90
- };
91
- };
92
- const run = async () => {
93
- const leagues = await typed_model_1.League.findAll();
94
- const leagueForName = (name) => leagues.find((l) => l.leagueName == name);
95
- let teams = await typed_model_1.Team.findAll();
96
- const teamForName = (name) => teams.find((t) => t.teamName == name);
97
- const createTeamForGame = async (teamName, g) => {
98
- let l = leagueForName(g.league);
99
- if (!l) {
100
- l = await typed_model_1.League.create({
101
- leagueName: g.league,
102
- sport: g.sport,
103
- });
104
- leagues.push(l);
105
- }
106
- return await typed_model_1.Team.create({
107
- teamName,
108
- sport: g.sport,
109
- league: g.league,
110
- leagueId: l.id,
111
- });
112
- };
113
- const upcomingGames = await OddsJamClient.getGames();
114
- let teamNameSet = new Set();
115
- for (let g of upcomingGames) {
116
- if (!teamForName(g.home_team) && !teamNameSet.has(g.home_team)) {
117
- await createTeamForGame(g.home_team, g);
118
- }
119
- teamNameSet.add(g.home_team);
120
- if (!teamForName(g.away_team) && !teamNameSet.has(g.away_team)) {
121
- await createTeamForGame(g.away_team, g);
122
- }
123
- teamNameSet.add(g.away_team);
124
- }
125
- teams = await typed_model_1.Team.findAll();
126
- const upcomingGameData = upcomingGames.map((g) => mapOJGameToGame(g, leagueForName(g.league), teamForName(g.home_team), teamForName(g.away_team)));
127
- // Updating upcoming games
128
- await typed_model_1.Game.bulkCreate(upcomingGameData, {
129
- updateOnDuplicate: ["isLive", "startDate"],
130
- });
131
- const liveGames = await OddsJamClient.getGames({ isLive: true });
132
- for (let g of liveGames) {
133
- if (!teamForName(g.home_team) && !teamNameSet.has(g.home_team)) {
134
- await createTeamForGame(g.home_team, g);
135
- }
136
- teamNameSet.add(g.home_team);
137
- if (!teamForName(g.away_team) && !teamNameSet.has(g.away_team)) {
138
- await createTeamForGame(g.away_team, g);
139
- }
140
- teamNameSet.add(g.away_team);
141
- }
142
- const scoreResponse = await OddsJamClient.getScores({
143
- gameId: liveGames.map((g) => g.id),
144
- });
145
- const score = scoreResponse.scores.map((g) => mapOJScoreToGame(g, leagueForName(g.league), teamForName(g.home_team), teamForName(g.away_team)));
146
- // Updating upcoming games
147
- await typed_model_1.Game.bulkCreate(score, {
148
- updateOnDuplicate: [
149
- "startDate",
150
- "isLive",
151
- "tournament",
152
- "clock",
153
- "period",
154
- "status",
155
- "weather",
156
- "broadcast",
157
- "lastPlay",
158
- "venueName",
159
- "description",
160
- "seasonType",
161
- "seasonWeek",
162
- "seasonYear",
163
- "awayStarter",
164
- "currentOuts",
165
- "homeStarter",
166
- "weatherTemp",
167
- "awayTeamAbb",
168
- "currentBalls",
169
- "homeTeamAbb",
170
- "awayTeamCity",
171
- "awayTeamName",
172
- "homeTeamCity",
173
- "homeTeamName",
174
- "venueLocation",
175
- "currentStrikes",
176
- "runnerOnFirst",
177
- "runnerOnThird",
178
- "runnerOnSecond",
179
- "scoreAwayTotal",
180
- "scoreHomeTotal",
181
- "weatherTempHigh",
182
- "currentPossession",
183
- "currentBatterName",
184
- "scoreAwayPeriods",
185
- "scoreHomePeriods",
186
- "currentPitcherName",
187
- "currentDownAndDistance",
188
- ],
189
- });
190
- };
191
- if (require.main === module) {
192
- if (require.main === module) {
193
- run().then(async () => {
194
- console.log("Finished");
195
- });
196
- }
197
- }
198
- //# sourceMappingURL=pullGames.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pullGames.js","sourceRoot":"","sources":["../../../scripts/bet-syncing/pullGames.ts"],"names":[],"mappings":"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"}
@@ -1,187 +0,0 @@
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 moment_1 = __importDefault(require("moment"));
11
- dotenv.config();
12
- const OddsJamClient = (0, oddsjam_js_wrapper_1.default)(process.env.ODDS_JAM_API_KEY);
13
- const mapOJScoreToGame = (score, league, homeTeam, awayTeam) => {
14
- if (!league) {
15
- throw new Error(`No league for ${score.league}`);
16
- }
17
- return {
18
- oddsJamId: `${score.game_id}`,
19
- startDate: new Date(score.start_date),
20
- homeTeam: homeTeam.teamName,
21
- awayTeam: awayTeam.teamName,
22
- isLive: score.is_live,
23
- homeTeamId: homeTeam.id,
24
- homeOddsJamTeamId: homeTeam.oddsJamTeamId,
25
- awayTeamId: awayTeam.id,
26
- awayOddsJamTeamId: awayTeam.oddsJamTeamId,
27
- leagueId: league.id,
28
- sport: score.sport,
29
- league: score.league,
30
- tournament: score.tournament,
31
- clock: score.clock,
32
- period: score.period,
33
- status: score.status,
34
- weather: score.weather,
35
- broadcast: score.broadcast,
36
- lastPlay: score.last_play,
37
- venueName: score.venue_name,
38
- description: score.description,
39
- seasonType: score.season_type,
40
- seasonWeek: score.season_week,
41
- seasonYear: score.season_year,
42
- awayStarter: score.away_starter,
43
- currentOuts: score.current_outs,
44
- homeStarter: score.home_starter,
45
- weatherTemp: score.weather_temp,
46
- awayTeamAbb: score.away_team_abb,
47
- currentBalls: score.current_balls,
48
- homeTeamAbb: score.home_team_abb,
49
- awayTeamCity: score.away_team_city,
50
- awayTeamName: score.away_team_name,
51
- homeTeamCity: score.home_team_city,
52
- homeTeamName: score.home_team_name,
53
- venueLocation: score.venue_location,
54
- currentStrikes: score.current_strikes,
55
- runnerOnFirst: score.runner_on_first,
56
- runnerOnThird: score.runner_on_third,
57
- runnerOnSecond: score.runner_on_second,
58
- scoreAwayTotal: score.score_away_total,
59
- scoreHomeTotal: score.score_home_total,
60
- weatherTempHigh: score.weather_temp_high,
61
- currentPossession: score.current_possession,
62
- currentBatterName: score.current_batter_name,
63
- scoreAwayPeriods: Object.entries(score)
64
- .filter((s) => /^score_away_period_[1-9]*/.test(s[0]))
65
- .sort((a, b) => a[0].localeCompare(b[0]))
66
- .map((s) => s[1]),
67
- scoreHomePeriods: Object.entries(score)
68
- .filter((s) => /^score_home_period_[1-9]*/.test(s[0]))
69
- .sort((a, b) => a[0].localeCompare(b[0]))
70
- .map((s) => s[1]),
71
- currentPitcherName: score.current_pitcher_name,
72
- currentDownAndDistance: score.current_down_and_distance,
73
- };
74
- };
75
- const run = async () => {
76
- const leagues = await typed_model_1.League.findAll();
77
- const leagueForName = (name) => leagues.find((l) => l.leagueName == name);
78
- let teams = await typed_model_1.Team.findAll();
79
- const teamForName = (name) => teams.find((t) => t.teamName == name);
80
- const createTeamForScore = async (teamName, g) => {
81
- let l = leagueForName(g.league);
82
- if (!l) {
83
- l = await typed_model_1.League.create({
84
- leagueName: g.league,
85
- sport: g.sport,
86
- });
87
- leagues.push(l);
88
- }
89
- return await typed_model_1.Team.create({
90
- teamName,
91
- sport: g.sport,
92
- league: g.league,
93
- leagueId: l.id,
94
- });
95
- };
96
- let teamNameSet = new Set();
97
- const liveGames = await typed_model_1.Game.findAll({
98
- where: {
99
- isLive: true,
100
- startDate: {
101
- [sequelize_1.Op.gte]: (0, moment_1.default)().subtract(2, "d"),
102
- },
103
- },
104
- });
105
- console.log(liveGames.map((g) => g.startDate));
106
- const scoreResponse = await OddsJamClient.getScores({
107
- gameId: liveGames.map((m) => m.oddsJamId),
108
- });
109
- for (let score of scoreResponse.scores) {
110
- if (!teamForName(score.home_team) && !teamNameSet.has(score.home_team)) {
111
- teams.push(await createTeamForScore(score.home_team, score));
112
- }
113
- teamNameSet.add(score.home_team);
114
- if (!teamForName(score.away_team) && !teamNameSet.has(score.away_team)) {
115
- teams.push(await createTeamForScore(score.away_team, score));
116
- }
117
- teamNameSet.add(score.away_team);
118
- }
119
- let scoreSet = new Set();
120
- let upsertBodies = [];
121
- for (let score of scoreResponse.scores) {
122
- if (scoreSet.has(score.game_id)) {
123
- continue;
124
- }
125
- if (!leagueForName(score.league)) {
126
- console.log("Create new leage");
127
- leagues.push(await typed_model_1.League.create({
128
- sport: score.sport,
129
- leagueName: score.league,
130
- }));
131
- }
132
- scoreSet.add(score.game_id);
133
- upsertBodies.push(mapOJScoreToGame(score, leagueForName(score.league), teamForName(score.home_team), teamForName(score.away_team)));
134
- }
135
- // Updating upcoming games
136
- await typed_model_1.Game.bulkCreate(upsertBodies, {
137
- updateOnDuplicate: [
138
- "startDate",
139
- "isLive",
140
- "tournament",
141
- "clock",
142
- "period",
143
- "status",
144
- "weather",
145
- "broadcast",
146
- "lastPlay",
147
- "venueName",
148
- "description",
149
- "seasonType",
150
- "seasonWeek",
151
- "seasonYear",
152
- "awayStarter",
153
- "currentOuts",
154
- "homeStarter",
155
- "weatherTemp",
156
- "awayTeamAbb",
157
- "currentBalls",
158
- "homeTeamAbb",
159
- "awayTeamCity",
160
- "awayTeamName",
161
- "homeTeamCity",
162
- "homeTeamName",
163
- "venueLocation",
164
- "currentStrikes",
165
- "runnerOnFirst",
166
- "runnerOnThird",
167
- "runnerOnSecond",
168
- "scoreAwayTotal",
169
- "scoreHomeTotal",
170
- "weatherTempHigh",
171
- "currentPossession",
172
- "currentBatterName",
173
- "scoreAwayPeriods",
174
- "scoreHomePeriods",
175
- "currentPitcherName",
176
- "currentDownAndDistance",
177
- ],
178
- });
179
- };
180
- if (require.main === module) {
181
- if (require.main === module) {
182
- run().then(async () => {
183
- console.log("Finished");
184
- });
185
- }
186
- }
187
- //# sourceMappingURL=pullLiveScores.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pullLiveScores.js","sourceRoot":"","sources":["../../../scripts/bet-syncing/pullLiveScores.ts"],"names":[],"mappings":"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"}
@@ -1,268 +0,0 @@
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 market_1 = __importDefault(require("../../typed-model/market"));
11
- const sportsbook_1 = __importDefault(require("../../typed-model/sportsbook"));
12
- const moment_1 = __importDefault(require("moment"));
13
- const PULL_FOR_BOOKS = [
14
- "Barstool",
15
- "BetMGM",
16
- "Caesars (Tennessee)",
17
- "DraftKings",
18
- "Caesars (Ontario)",
19
- "DraftKings",
20
- "DraftKings (Tennessee)",
21
- "FanDuel",
22
- "Pinnacle",
23
- "PrizePicks",
24
- "PrizePicks (5 or 6 Pick Flex)",
25
- "Bovada",
26
- "Underdog Fantasy (3 or 5 Pick)",
27
- ];
28
- const PULL_FOR_MARKETS = [
29
- "1st 3 Innings Moneyline",
30
- "1st 3 Innings Run Line",
31
- "1st 3 Innings Total Runs",
32
- "1st 7 Innings Moneyline",
33
- "1st 7 Innings Run Line",
34
- "1st 7 Innings Total Runs",
35
- "1st Half Moneyline",
36
- "1st Half Moneyline 3-Way",
37
- "1st Half Point Spread",
38
- "1st Half Run Line",
39
- "1st Half Team Total",
40
- "1st Half Total Points",
41
- "1st Half Total Runs",
42
- "1st Inning Moneyline",
43
- "1st Inning Moneyline 3-Way",
44
- "1st Inning Run Line",
45
- "1st Inning Total Runs",
46
- "1st Period Both Teams To Score",
47
- "1st Period Moneyline",
48
- "1st Period Puck Line",
49
- "1st Period Total Goals",
50
- "1st Quarter Moneyline",
51
- "1st Quarter Point Spread",
52
- "1st Quarter Team Total",
53
- "1st Quarter Total Points",
54
- "2nd Inning Moneyline",
55
- "2nd Inning Run Line",
56
- "2nd Inning Total Runs",
57
- "2nd Period Moneyline",
58
- "2nd Period Puck Line",
59
- "2nd Period Total Goals",
60
- "2nd Quarter Moneyline",
61
- "2nd Quarter Point Spread",
62
- "2nd Quarter Team Total",
63
- "2nd Quarter Total Points",
64
- "Both Teams To Score",
65
- "Moneyline",
66
- "Moneyline 3-Way",
67
- "Player Assists",
68
- "Player Blocks",
69
- "Player Earned Runs",
70
- "Player Extra Points Made",
71
- "Player Field Goals Made",
72
- "Player Goals",
73
- "Player Goals Against",
74
- "Player Hits",
75
- "Player Hits Allowed",
76
- "Player Home Runs",
77
- "Player Interceptions",
78
- "Player Kicking Points",
79
- "Player Longest Reception",
80
- "Player Made Threes",
81
- "Player Longest Rush",
82
- "Player Passing Attempts",
83
- "Player Passing Completions",
84
- "Player Passing Touchdowns",
85
- "Player Passing Yards",
86
- "Player Points",
87
- "Player Points + Assists",
88
- "Player Points + Rebounds",
89
- "Player Points + Rebounds + Assists",
90
- "Player RBIs",
91
- "Player Rebounds",
92
- "Player Rebounds + Assists",
93
- "Player Receiving Touchdowns",
94
- "Player Receiving Yards",
95
- "Player Receptions",
96
- "Player Runs",
97
- "Player Rushing Attempts",
98
- "Player Rushing Touchdowns",
99
- "Player Rushing Yards",
100
- "Player Sacks",
101
- "Player Saves",
102
- "Player Shots On Goal",
103
- "Player Steals",
104
- "Player Steals + Blocks",
105
- "Player Strikeouts",
106
- "Player Tackles",
107
- "Player Tackles + Assists",
108
- "Player Turnovers",
109
- "Player Walks",
110
- "Point Spread",
111
- "Puck Line",
112
- "Puck Line Reg Time",
113
- "Run Line",
114
- "Team Total",
115
- "Team Total Reg Time",
116
- "Total Goals",
117
- "Total Goals Reg Time",
118
- "Total Points",
119
- "Total Rounds",
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",
128
- ];
129
- dotenv.config();
130
- const mapOJOddsToOdds = (odds, market, sportsbook, game, player) => {
131
- let team;
132
- if (game.homeTeamInstance &&
133
- odds.name.includes(game.homeTeamInstance.teamName)) {
134
- team = game.homeTeamInstance;
135
- }
136
- else if (game.awayTeamInstance &&
137
- odds.name.includes(game.awayTeamInstance.teamName)) {
138
- team = game.awayTeamInstance;
139
- }
140
- return {
141
- oddsJamId: odds.id,
142
- sportsBookName: odds.sports_book_name,
143
- name: odds.name,
144
- price: odds.price,
145
- checkedDate: odds.checked_date,
146
- betPoints: odds.bet_points,
147
- isMain: odds.is_main,
148
- isLive: odds.is_live,
149
- marketName: odds.market_name,
150
- homeRotationNumber: odds.home_rotation_number,
151
- awayRotationNumber: odds.away_rotation_number,
152
- deepLinkUrl: odds.deep_link_url,
153
- oddsJamPlayerId: odds.player_id,
154
- marketId: market && market.id,
155
- sportsbookId: sportsbook.id,
156
- gameId: game.id,
157
- oddsJamGameId: game.oddsJamId,
158
- teamId: team && team.id,
159
- playerId: player === null || player === void 0 ? void 0 : player.id,
160
- oddsJamPayerId: odds.player_id,
161
- };
162
- };
163
- const OddsJamClient = (0, oddsjam_js_wrapper_1.default)(process.env.ODDS_JAM_API_KEY);
164
- const run = async () => {
165
- const upcomingGames = await typed_model_1.Game.findAll({
166
- where: {
167
- startDate: {
168
- [sequelize_1.Op.gte]: new Date(),
169
- [sequelize_1.Op.lte]: (0, moment_1.default)().add(7, "d"),
170
- },
171
- },
172
- order: [["startDate", "ASC"]],
173
- });
174
- console.log(`Running for ${upcomingGames.length} games`);
175
- let allMarkets = await market_1.default.findAll();
176
- let allSportsbooks = await sportsbook_1.default.findAll();
177
- let allSportbookNames = allSportsbooks.map((s) => s.name);
178
- const updateOddsForGamePromise = async (gameIds) => {
179
- let gameOddsResponse = await OddsJamClient.getGameOdds({
180
- gameId: gameIds,
181
- sportsbook: PULL_FOR_BOOKS,
182
- marketName: PULL_FOR_MARKETS,
183
- });
184
- if (!gameOddsResponse) {
185
- console.log(`No odds for game ${gameIds.join(",")}`);
186
- return;
187
- }
188
- let games = await typed_model_1.Game.findAll({
189
- where: { oddsJamId: { [sequelize_1.Op.in]: gameIds } },
190
- include: [
191
- {
192
- model: typed_model_1.Team,
193
- as: "homeTeamInstance",
194
- },
195
- {
196
- model: typed_model_1.Team,
197
- as: "awayTeamInstance",
198
- },
199
- ],
200
- });
201
- let gameMarkets = await OddsJamClient.getMarkets({
202
- gameId: "13602-17233-23-06",
203
- });
204
- let marketsToCreate = [
205
- ...new Set(gameMarkets.filter((s) => !allMarkets.find((m) => m.oddsJamId == s.id))),
206
- ];
207
- if (marketsToCreate && marketsToCreate.length > 0) {
208
- console.log("Creating markets");
209
- await market_1.default.bulkCreate(marketsToCreate.map((m) => {
210
- return { oddsJamId: m.id, label: m.label };
211
- }), { ignoreDuplicates: true });
212
- allMarkets = await market_1.default.findAll();
213
- console.log("markets complete");
214
- }
215
- let upsertBodies = [];
216
- for (let response of gameOddsResponse) {
217
- let odds = response.odds;
218
- let gameId = response.id;
219
- let sportsbookNamesToCreate = odds
220
- .map((o) => o.sports_book_name)
221
- .filter((s) => !allSportbookNames.includes(s));
222
- if (sportsbookNamesToCreate && sportsbookNamesToCreate.length > 0) {
223
- console.log("Creating sportsbooks");
224
- await sportsbook_1.default.bulkCreate(sportsbookNamesToCreate.map((s) => {
225
- return { name: s };
226
- }), { ignoreDuplicates: true });
227
- allSportsbooks = await sportsbook_1.default.findAll();
228
- }
229
- let game = games.find((g) => g.oddsJamId == gameId);
230
- let oddSet = new Set();
231
- for (let odd of odds) {
232
- if (oddSet.has(odd.id))
233
- continue;
234
- oddSet.add(odd.id);
235
- let market = allMarkets.find((m) => m.label === odd.market_name);
236
- let sportsbook = allSportsbooks.find((s) => s.name === odd.sports_book_name);
237
- let oddsUpsertBody = mapOJOddsToOdds(odd, market, sportsbook, game, undefined);
238
- upsertBodies.push(oddsUpsertBody);
239
- }
240
- }
241
- console.log("Should start upsert");
242
- await typed_model_1.Odds.bulkCreate(upsertBodies, {
243
- updateOnDuplicate: [
244
- "price",
245
- "checkedDate",
246
- "betPoints",
247
- "isLive",
248
- "teamId",
249
- "playerId",
250
- ],
251
- });
252
- console.log(`Inserted ${upsertBodies.length} odds for games ${gameIds.join(",")}`);
253
- };
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
- // }
260
- };
261
- if (require.main === module) {
262
- if (require.main === module) {
263
- run().then(async () => {
264
- console.log("Finished");
265
- });
266
- }
267
- }
268
- //# sourceMappingURL=pullOdds.js.map