@levrbet/shared 0.2.78 → 0.2.80

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 (39) hide show
  1. package/dist/core/utils/game.utils.d.ts +0 -2
  2. package/dist/core/utils/game.utils.js +1 -69
  3. package/dist/core/utils/game.utils.js.map +1 -1
  4. package/dist/server/oracle/config/game-periods/providers/lsports.periods.js +3 -3
  5. package/dist/server/oracle/config/game-periods/providers/lsports.periods.js.map +1 -1
  6. package/dist/server/oracle/config/game-periods/providers/optic-odds.periods.d.ts +27 -4
  7. package/dist/server/oracle/config/game-periods/providers/optic-odds.periods.js +27 -4
  8. package/dist/server/oracle/config/game-periods/providers/optic-odds.periods.js.map +1 -1
  9. package/dist/server/oracle/config/game-periods/sports.config.js +65 -8
  10. package/dist/server/oracle/config/game-periods/sports.config.js.map +1 -1
  11. package/dist/server/oracle/config/game-periods/types.d.ts +5 -2
  12. package/dist/server/oracle/config/game-periods/types.js +1 -0
  13. package/dist/server/oracle/config/game-periods/types.js.map +1 -1
  14. package/dist/server/oracle/redis-cache-manager/game.progress.d.ts +4 -0
  15. package/dist/server/oracle/redis-cache-manager/game.progress.js +27 -0
  16. package/dist/server/oracle/redis-cache-manager/game.progress.js.map +1 -0
  17. package/dist/server/oracle/redis-cache-manager/market.query.engine.d.ts +1 -1
  18. package/dist/server/oracle/redis-cache-manager/market.query.engine.js +2 -3
  19. package/dist/server/oracle/redis-cache-manager/market.query.engine.js.map +1 -1
  20. package/dist/server/oracle/types/providers/game-clock/index.d.ts +1 -1
  21. package/dist/server/oracle/types/providers/game-clock/index.js +1 -1
  22. package/dist/server/oracle/types/providers/game-clock/index.js.map +1 -1
  23. package/dist/server/utils/game_progress/caclulate.game.progress.d.ts +6 -0
  24. package/dist/server/utils/game_progress/caclulate.game.progress.js +96 -0
  25. package/dist/server/utils/game_progress/caclulate.game.progress.js.map +1 -0
  26. package/dist/server/utils/game_progress/game.utils.d.ts +2 -0
  27. package/dist/server/utils/game_progress/game.utils.js +65 -0
  28. package/dist/server/utils/game_progress/game.utils.js.map +1 -0
  29. package/dist/server/utils/game_progress/index.d.ts +5 -0
  30. package/dist/server/utils/game_progress/index.js +84 -0
  31. package/dist/server/utils/game_progress/index.js.map +1 -0
  32. package/dist/server/{oracle/types/providers/game-clock → utils/game_progress}/parser.d.ts +1 -7
  33. package/dist/server/{oracle/types/providers/game-clock → utils/game_progress}/parser.js +2 -13
  34. package/dist/server/utils/game_progress/parser.js.map +1 -0
  35. package/dist/server/utils/index.d.ts +1 -0
  36. package/dist/server/utils/index.js +1 -0
  37. package/dist/server/utils/index.js.map +1 -1
  38. package/package.json +1 -1
  39. package/dist/server/oracle/types/providers/game-clock/parser.js.map +0 -1
@@ -1,4 +1,2 @@
1
- import { SportGroup } from "@prisma/client";
2
1
  export declare const calculatePrice: (americanOdds: number, normalizationFactor: number) => number;
3
2
  export declare const calculateAmericanOdds: (price: number, normalizationFactor?: number) => string;
4
- export declare const getGameProgressBPS: (gameClock: string, totalPeriodDurationInSeconds: number, period: number, totalPeriods: number, sportGroup: SportGroup) => number | null;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getGameProgressBPS = exports.calculateAmericanOdds = exports.calculatePrice = void 0;
4
- const client_1 = require("@prisma/client");
3
+ exports.calculateAmericanOdds = exports.calculatePrice = void 0;
5
4
  const calculatePrice = (americanOdds, normalizationFactor) => {
6
5
  const decimalOdds = americanOdds > 0 ? americanOdds / 100 + 1 : 100 / Math.abs(americanOdds) + 1;
7
6
  return Number((normalizationFactor / decimalOdds).toFixed(4));
@@ -22,71 +21,4 @@ const calculateAmericanOdds = (price, normalizationFactor = 1) => {
22
21
  }
23
22
  };
24
23
  exports.calculateAmericanOdds = calculateAmericanOdds;
25
- // Game progress calculation utilities
26
- const parseGameClockToSeconds = (gameClock) => {
27
- const [rawMinutes, rawSeconds] = gameClock.split(":");
28
- const minutes = Number(rawMinutes);
29
- const seconds = Number(rawSeconds);
30
- if (isNaN(minutes) || isNaN(seconds))
31
- return null;
32
- return minutes * 60 + seconds;
33
- };
34
- const calculateGameProgressBPSWithPeriodsOnly = (period, totalPeriods) => {
35
- if (period > totalPeriods)
36
- return 1e4;
37
- const progress = period / totalPeriods;
38
- return Math.round(progress * 1e4);
39
- };
40
- //{ totalPeriods: 2, totalPeriodDurationInSeconds: 45 * 60 },
41
- // gameClock: '57:20',
42
- //levr-v1-dev-oracle-core | gamePeriod: 20,
43
- const calculateGameProgressBPS = (elapsedSeconds, totalPeriodDurationInSeconds, totalPeriods, period) => {
44
- if (totalPeriodDurationInSeconds === 0)
45
- return 0;
46
- if (elapsedSeconds > totalPeriodDurationInSeconds)
47
- elapsedSeconds = totalPeriodDurationInSeconds;
48
- const progress = elapsedSeconds / totalPeriodDurationInSeconds;
49
- const periodsPassed = period - 1;
50
- const pastProgress = calculateGameProgressBPSWithPeriodsOnly(periodsPassed, totalPeriods);
51
- const currentPeriodProgress = (progress * 1e4) / totalPeriods;
52
- const value = Math.round(pastProgress + currentPeriodProgress);
53
- //TODO: revise time tracking
54
- if (value > 1e4 || value < 0)
55
- return 5e3;
56
- return value;
57
- };
58
- // Example: { totalPeriods: 2, totalPeriodDurationInSeconds: 45 * 60 }, gameClock: '57:20', period: 2
59
- // gameClock is cumulative (57:20 = 57 mins into game, which is 12:20 into period 2)
60
- // Expected: elapsedInPeriod = 3440 - 2700 = 740 seconds → ~63.7% game progress
61
- const calculateGameProgressBPSWithGameClockCountUp = (gameClock, totalPeriodDurationInSeconds, totalPeriods, period) => {
62
- const cumulativeElapsedSeconds = parseGameClockToSeconds(gameClock);
63
- if (cumulativeElapsedSeconds === null)
64
- return null;
65
- // Subtract time from previous periods since gameClock is cumulative
66
- const previousPeriodsSeconds = (period - 1) * totalPeriodDurationInSeconds;
67
- const elapsedSecondsInCurrentPeriod = cumulativeElapsedSeconds - previousPeriodsSeconds;
68
- return calculateGameProgressBPS(elapsedSecondsInCurrentPeriod, totalPeriodDurationInSeconds, totalPeriods, period);
69
- };
70
- const calculateGameProgressBPSWithGameClockCountDown = (gameClock, totalPeriodDurationInSeconds, totalPeriods, period) => {
71
- const remainingSeconds = parseGameClockToSeconds(gameClock);
72
- if (remainingSeconds === null)
73
- return null;
74
- const elapsedSeconds = totalPeriodDurationInSeconds - remainingSeconds;
75
- return calculateGameProgressBPS(elapsedSeconds, totalPeriodDurationInSeconds, totalPeriods, period);
76
- };
77
- const getGameProgressBPS = (gameClock, totalPeriodDurationInSeconds, period, totalPeriods, sportGroup) => {
78
- switch (sportGroup) {
79
- case client_1.SportGroup.Soccer:
80
- return calculateGameProgressBPSWithGameClockCountUp(gameClock, totalPeriodDurationInSeconds, totalPeriods, period);
81
- case client_1.SportGroup.Basketball:
82
- return calculateGameProgressBPSWithGameClockCountDown(gameClock, totalPeriodDurationInSeconds, totalPeriods, period);
83
- case client_1.SportGroup.Football:
84
- return calculateGameProgressBPSWithGameClockCountDown(gameClock, totalPeriodDurationInSeconds, totalPeriods, period);
85
- case client_1.SportGroup.Baseball:
86
- return calculateGameProgressBPSWithPeriodsOnly(period, totalPeriods);
87
- default:
88
- return null;
89
- }
90
- };
91
- exports.getGameProgressBPS = getGameProgressBPS;
92
24
  //# sourceMappingURL=game.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"game.utils.js","sourceRoot":"","sources":["../../../src/core/utils/game.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game.utils.js","sourceRoot":"","sources":["../../../src/core/utils/game.utils.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAE,mBAA2B,EAAU,EAAE;IACxF,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IAChG,OAAO,MAAM,CAAC,CAAC,mBAAmB,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AACjE,CAAC,CAAA;AAHY,QAAA,cAAc,kBAG1B;AAEM,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAE,mBAAmB,GAAG,CAAC,EAAU,EAAE;IACpF,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5B,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,mBAAmB,GAAG,KAAK,CAAA;QAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,KAAK,CAAA;QAEhE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAA;QAE5G,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;IAC7D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAA;QACrD,OAAO,IAAI,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AAbY,QAAA,qBAAqB,yBAajC"}
@@ -5,9 +5,9 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.LSPORTS_NCAA_PERIODS = exports.LSPORTS_AMERICAN_FOOTBALL_PERIODS = exports.LSPORTS_BASEBALL_PERIODS = exports.LSPORTS_BASKETBALL_PERIODS = exports.LSPORTS_SOCCER_PERIODS = void 0;
7
7
  exports.LSPORTS_SOCCER_PERIODS = {
8
- FIRST_HALF: 10, // regular
9
- SECOND_HALF: 20, // regular
10
- THIRD_HALF: 25, // extra time // how is this treated?
8
+ FIRST_HALF: 10, // regular 1, = 44 minutes // maximum
9
+ SECOND_HALF: 20, // regular 2, = 45 minutes
10
+ THIRD_HALF: 25, // extra time // how is this treated? // 15 minutes?
11
11
  OVERTIME_FIRST_HALF: 30, // extra time is it a full cycle period?
12
12
  OVERTIME_SECOND_HALF: 35, // extra time is it a full cycle period?
13
13
  PENALTIES: 50, // full cycle, considered 100% or almost 100% game progress
@@ -1 +1 @@
1
- {"version":3,"file":"lsports.periods.js","sourceRoot":"","sources":["../../../../../../src/server/oracle/config/game-periods/providers/lsports.periods.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,sBAAsB,GAAG;IAClC,UAAU,EAAE,EAAE,EAAE,UAAU;IAC1B,WAAW,EAAE,EAAE,EAAE,UAAU;IAC3B,UAAU,EAAE,EAAE,EAAE,qCAAqC;IACrD,mBAAmB,EAAE,EAAE,EAAE,wCAAwC;IACjE,oBAAoB,EAAE,EAAE,EAAE,wCAAwC;IAClE,SAAS,EAAE,EAAE,EAAE,2DAA2D;IAC1E,IAAI,EAAE,EAAE,EAAE,wBAAwB;IAClC,SAAS,EAAE,GAAG,EAAE,2CAA2C;IAC3D,wBAAwB,EAAE,GAAG,EAAE,2CAA2C;IAC1E,yBAAyB,EAAE,GAAG,EAAE,2CAA2C;CACrE,CAAA;AAEG,QAAA,0BAA0B,GAAG;IACtC,aAAa,EAAE,CAAC,EAAE,UAAU;IAC5B,cAAc,EAAE,CAAC,EAAE,UAAU;IAC7B,aAAa,EAAE,CAAC,EAAE,UAAU;IAC5B,cAAc,EAAE,CAAC,EAAE,UAAU;IAC7B,QAAQ,EAAE,EAAE,EAAE,2DAA2D;IACzE,SAAS,EAAE,GAAG,EAAE,2CAA2C;IAC3D,wBAAwB,EAAE,GAAG,EAAE,2CAA2C;CACpE,CAAA;AAEG,QAAA,wBAAwB,GAAG;IACpC,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,EAAE;IACjB,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;IACR,SAAS,EAAE,GAAG,EAAE,2CAA2C;IAC3D,0BAA0B,EAAE,GAAG,EAAE,2CAA2C;CACtE,CAAA;AAEG,QAAA,iCAAiC,GAAG;IAC7C,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,GAAG;IACd,wBAAwB,EAAE,GAAG;CACvB,CAAA;AAEV,sDAAsD;AACzC,QAAA,oBAAoB,GAAG;IAChC,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,GAAG;IACd,wBAAwB,EAAE,GAAG;IAC7B,QAAQ,EAAE,EAAE;CACN,CAAA"}
1
+ {"version":3,"file":"lsports.periods.js","sourceRoot":"","sources":["../../../../../../src/server/oracle/config/game-periods/providers/lsports.periods.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGU,QAAA,sBAAsB,GAAG;IAClC,UAAU,EAAE,EAAE,EAAE,wCAAwC;IACxD,WAAW,EAAE,EAAE,EAAE,2BAA2B;IAE5C,UAAU,EAAE,EAAE,EAAE,oDAAoD;IACpE,mBAAmB,EAAE,EAAE,EAAE,wCAAwC;IACjE,oBAAoB,EAAE,EAAE,EAAE,wCAAwC;IAClE,SAAS,EAAE,EAAE,EAAE,2DAA2D;IAC1E,IAAI,EAAE,EAAE,EAAE,wBAAwB;IAClC,SAAS,EAAE,GAAG,EAAE,2CAA2C;IAC3D,wBAAwB,EAAE,GAAG,EAAE,2CAA2C;IAC1E,yBAAyB,EAAE,GAAG,EAAE,2CAA2C;CACrE,CAAA;AAGG,QAAA,0BAA0B,GAAG;IACtC,aAAa,EAAE,CAAC,EAAE,UAAU;IAC5B,cAAc,EAAE,CAAC,EAAE,UAAU;IAC7B,aAAa,EAAE,CAAC,EAAE,UAAU;IAC5B,cAAc,EAAE,CAAC,EAAE,UAAU;IAC7B,QAAQ,EAAE,EAAE,EAAE,2DAA2D;IACzE,SAAS,EAAE,GAAG,EAAE,2CAA2C;IAC3D,wBAAwB,EAAE,GAAG,EAAE,2CAA2C;CACpE,CAAA;AAEG,QAAA,wBAAwB,GAAG;IACpC,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,EAAE;IACjB,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;IACR,SAAS,EAAE,GAAG,EAAE,2CAA2C;IAC3D,0BAA0B,EAAE,GAAG,EAAE,2CAA2C;CACtE,CAAA;AAEG,QAAA,iCAAiC,GAAG;IAC7C,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,GAAG;IACd,wBAAwB,EAAE,GAAG;CACvB,CAAA;AAEV,sDAAsD;AACzC,QAAA,oBAAoB,GAAG;IAChC,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,GAAG;IACd,wBAAwB,EAAE,GAAG;IAC7B,QAAQ,EAAE,EAAE;CACN,CAAA"}
@@ -2,7 +2,30 @@
2
2
  * OpticOdds provider period constants by sport
3
3
  * TODO: Add period mappings when OpticOdds integration is complete
4
4
  */
5
- export declare const OPTIC_ODDS_SOCCER_PERIODS: {};
6
- export declare const OPTIC_ODDS_BASKETBALL_PERIODS: {};
7
- export declare const OPTIC_ODDS_BASEBALL_PERIODS: {};
8
- export declare const OPTIC_ODDS_AMERICAN_FOOTBALL_PERIODS: {};
5
+ export declare const OPTIC_ODDS_SOCCER_PERIODS: {
6
+ readonly FIRST_HALF: 1;
7
+ readonly SECOND_HALF: 2;
8
+ };
9
+ export declare const OPTIC_ODDS_BASKETBALL_PERIODS: {
10
+ readonly FIRST_QUARTER: 1;
11
+ readonly SECOND_QUARTER: 2;
12
+ readonly THIRD_QUARTER: 3;
13
+ readonly FOURTH_QUARTER: 4;
14
+ };
15
+ export declare const OPTIC_ODDS_BASEBALL_PERIODS: {
16
+ readonly FIRST_INNING: 1;
17
+ readonly SECOND_INNING: 2;
18
+ readonly THIRD_INNING: 3;
19
+ readonly FOURTH_INNING: 4;
20
+ readonly FIFTH_INNING: 5;
21
+ readonly SIXTH_INNING: 6;
22
+ readonly SEVENTH_INNING: 7;
23
+ readonly EIGHTH_INNING: 8;
24
+ readonly NINTH_INNING: 9;
25
+ };
26
+ export declare const OPTIC_ODDS_AMERICAN_FOOTBALL_PERIODS: {
27
+ readonly FIRST_QUARTER: 1;
28
+ readonly SECOND_QUARTER: 2;
29
+ readonly THIRD_QUARTER: 3;
30
+ readonly FOURTH_QUARTER: 4;
31
+ };
@@ -5,8 +5,31 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.OPTIC_ODDS_AMERICAN_FOOTBALL_PERIODS = exports.OPTIC_ODDS_BASEBALL_PERIODS = exports.OPTIC_ODDS_BASKETBALL_PERIODS = exports.OPTIC_ODDS_SOCCER_PERIODS = void 0;
8
- exports.OPTIC_ODDS_SOCCER_PERIODS = {};
9
- exports.OPTIC_ODDS_BASKETBALL_PERIODS = {};
10
- exports.OPTIC_ODDS_BASEBALL_PERIODS = {};
11
- exports.OPTIC_ODDS_AMERICAN_FOOTBALL_PERIODS = {};
8
+ exports.OPTIC_ODDS_SOCCER_PERIODS = {
9
+ FIRST_HALF: 1,
10
+ SECOND_HALF: 2,
11
+ };
12
+ exports.OPTIC_ODDS_BASKETBALL_PERIODS = {
13
+ FIRST_QUARTER: 1,
14
+ SECOND_QUARTER: 2,
15
+ THIRD_QUARTER: 3,
16
+ FOURTH_QUARTER: 4,
17
+ };
18
+ exports.OPTIC_ODDS_BASEBALL_PERIODS = {
19
+ FIRST_INNING: 1,
20
+ SECOND_INNING: 2,
21
+ THIRD_INNING: 3,
22
+ FOURTH_INNING: 4,
23
+ FIFTH_INNING: 5,
24
+ SIXTH_INNING: 6,
25
+ SEVENTH_INNING: 7,
26
+ EIGHTH_INNING: 8,
27
+ NINTH_INNING: 9,
28
+ };
29
+ exports.OPTIC_ODDS_AMERICAN_FOOTBALL_PERIODS = {
30
+ FIRST_QUARTER: 1,
31
+ SECOND_QUARTER: 2,
32
+ THIRD_QUARTER: 3,
33
+ FOURTH_QUARTER: 4,
34
+ };
12
35
  //# sourceMappingURL=optic-odds.periods.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"optic-odds.periods.js","sourceRoot":"","sources":["../../../../../../src/server/oracle/config/game-periods/providers/optic-odds.periods.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEU,QAAA,yBAAyB,GAAG,EAAW,CAAA;AAEvC,QAAA,6BAA6B,GAAG,EAAW,CAAA;AAE3C,QAAA,2BAA2B,GAAG,EAAW,CAAA;AAEzC,QAAA,oCAAoC,GAAG,EAAW,CAAA"}
1
+ {"version":3,"file":"optic-odds.periods.js","sourceRoot":"","sources":["../../../../../../src/server/oracle/config/game-periods/providers/optic-odds.periods.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEU,QAAA,yBAAyB,GAAG;IACrC,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;CACR,CAAA;AAEG,QAAA,6BAA6B,GAAG;IACzC,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;CACX,CAAA;AAEG,QAAA,2BAA2B,GAAG;IACvC,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;CACT,CAAA;AAEG,QAAA,oCAAoC,GAAG;IAChD,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;CACX,CAAA"}
@@ -3,12 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SportsGamePeriodClockConfig = void 0;
4
4
  const client_1 = require("@prisma/client");
5
5
  const providers_1 = require("./providers");
6
+ const core_1 = require("../../../../core");
6
7
  /**
7
8
  * Main configuration for game periods and clock behavior by sport and provider
8
9
  */
9
10
  exports.SportsGamePeriodClockConfig = {
10
11
  [client_1.SportGroup.Basketball]: {
11
- lsports: {
12
+ totalPeriodDurationInSeconds: 720, // 12 minutes per quarter
13
+ totalPeriods: 4,
14
+ [core_1.OddsServices.LSPORTS]: {
12
15
  sportPeriods: {
13
16
  regular: [
14
17
  providers_1.LSPORTS_BASKETBALL_PERIODS.FIRST_QUARTER,
@@ -25,10 +28,24 @@ exports.SportsGamePeriodClockConfig = {
25
28
  },
26
29
  leaguePeriods: null,
27
30
  },
28
- opticOdds: {},
31
+ [core_1.OddsServices.OPTIC_ODDS]: {
32
+ sportPeriods: {
33
+ regular: [
34
+ providers_1.OPTIC_ODDS_BASKETBALL_PERIODS.FIRST_QUARTER,
35
+ providers_1.OPTIC_ODDS_BASKETBALL_PERIODS.SECOND_QUARTER,
36
+ providers_1.OPTIC_ODDS_BASKETBALL_PERIODS.THIRD_QUARTER,
37
+ providers_1.OPTIC_ODDS_BASKETBALL_PERIODS.FOURTH_QUARTER,
38
+ ],
39
+ fullCycle: [],
40
+ extraTime: [],
41
+ },
42
+ leaguePeriods: null,
43
+ },
29
44
  },
30
45
  [client_1.SportGroup.Soccer]: {
31
- lsports: {
46
+ totalPeriodDurationInSeconds: 2700, // 45 minutes per half
47
+ totalPeriods: 2,
48
+ [core_1.OddsServices.LSPORTS]: {
32
49
  sportPeriods: {
33
50
  regular: [providers_1.LSPORTS_SOCCER_PERIODS.FIRST_HALF, providers_1.LSPORTS_SOCCER_PERIODS.SECOND_HALF],
34
51
  fullCycle: [
@@ -45,10 +62,19 @@ exports.SportsGamePeriodClockConfig = {
45
62
  },
46
63
  leaguePeriods: null,
47
64
  },
48
- opticOdds: {},
65
+ [core_1.OddsServices.OPTIC_ODDS]: {
66
+ sportPeriods: {
67
+ regular: [providers_1.OPTIC_ODDS_SOCCER_PERIODS.FIRST_HALF, providers_1.OPTIC_ODDS_SOCCER_PERIODS.SECOND_HALF],
68
+ fullCycle: [],
69
+ extraTime: [],
70
+ },
71
+ leaguePeriods: null,
72
+ },
49
73
  },
50
74
  [client_1.SportGroup.Baseball]: {
51
- lsports: {
75
+ totalPeriodDurationInSeconds: 1200, // Approximate 20 minutes per inning
76
+ totalPeriods: 9,
77
+ [core_1.OddsServices.LSPORTS]: {
52
78
  sportPeriods: {
53
79
  regular: [
54
80
  providers_1.LSPORTS_BASEBALL_PERIODS.FIRST_INNING,
@@ -66,10 +92,29 @@ exports.SportsGamePeriodClockConfig = {
66
92
  },
67
93
  leaguePeriods: null,
68
94
  },
69
- opticOdds: {},
95
+ [core_1.OddsServices.OPTIC_ODDS]: {
96
+ sportPeriods: {
97
+ regular: [
98
+ providers_1.OPTIC_ODDS_BASEBALL_PERIODS.FIRST_INNING,
99
+ providers_1.OPTIC_ODDS_BASEBALL_PERIODS.SECOND_INNING,
100
+ providers_1.OPTIC_ODDS_BASEBALL_PERIODS.THIRD_INNING,
101
+ providers_1.OPTIC_ODDS_BASEBALL_PERIODS.FOURTH_INNING,
102
+ providers_1.OPTIC_ODDS_BASEBALL_PERIODS.FIFTH_INNING,
103
+ providers_1.OPTIC_ODDS_BASEBALL_PERIODS.SIXTH_INNING,
104
+ providers_1.OPTIC_ODDS_BASEBALL_PERIODS.SEVENTH_INNING,
105
+ providers_1.OPTIC_ODDS_BASEBALL_PERIODS.EIGHTH_INNING,
106
+ providers_1.OPTIC_ODDS_BASEBALL_PERIODS.NINTH_INNING,
107
+ ],
108
+ fullCycle: [],
109
+ extraTime: [],
110
+ },
111
+ leaguePeriods: null,
112
+ },
70
113
  },
71
114
  [client_1.SportGroup.Football]: {
72
- lsports: {
115
+ totalPeriodDurationInSeconds: 900, // 15 minutes per quarter
116
+ totalPeriods: 4,
117
+ [core_1.OddsServices.LSPORTS]: {
73
118
  sportPeriods: {
74
119
  regular: [
75
120
  providers_1.LSPORTS_AMERICAN_FOOTBALL_PERIODS.FIRST_QUARTER,
@@ -85,7 +130,19 @@ exports.SportsGamePeriodClockConfig = {
85
130
  },
86
131
  leaguePeriods: null,
87
132
  },
88
- opticOdds: {},
133
+ [core_1.OddsServices.OPTIC_ODDS]: {
134
+ sportPeriods: {
135
+ regular: [
136
+ providers_1.OPTIC_ODDS_AMERICAN_FOOTBALL_PERIODS.FIRST_QUARTER,
137
+ providers_1.OPTIC_ODDS_AMERICAN_FOOTBALL_PERIODS.SECOND_QUARTER,
138
+ providers_1.OPTIC_ODDS_AMERICAN_FOOTBALL_PERIODS.THIRD_QUARTER,
139
+ providers_1.OPTIC_ODDS_AMERICAN_FOOTBALL_PERIODS.FOURTH_QUARTER,
140
+ ],
141
+ fullCycle: [],
142
+ extraTime: [],
143
+ },
144
+ leaguePeriods: null,
145
+ },
89
146
  },
90
147
  };
91
148
  //# sourceMappingURL=sports.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sports.config.js","sourceRoot":"","sources":["../../../../../src/server/oracle/config/game-periods/sports.config.ts"],"names":[],"mappings":";;;AAAA,2CAA2C;AAE3C,2CAKoB;AAEpB;;GAEG;AACU,QAAA,2BAA2B,GAAoC;IACxE,CAAC,mBAAU,CAAC,UAAU,CAAC,EAAE;QACrB,OAAO,EAAE;YACL,YAAY,EAAE;gBACV,OAAO,EAAE;oBACL,sCAA0B,CAAC,aAAa;oBACxC,sCAA0B,CAAC,cAAc;oBACzC,sCAA0B,CAAC,aAAa;oBACxC,sCAA0B,CAAC,cAAc;iBAC5C;gBACD,SAAS,EAAE;oBACP,sCAA0B,CAAC,QAAQ;oBACnC,sCAA0B,CAAC,SAAS;oBACpC,sCAA0B,CAAC,wBAAwB;iBACtD;gBACD,SAAS,EAAE,CAAC,sCAA0B,CAAC,QAAQ,CAAC;aACnD;YACD,aAAa,EAAE,IAAI;SACtB;QACD,SAAS,EAAE,EAAE;KAChB;IACD,CAAC,mBAAU,CAAC,MAAM,CAAC,EAAE;QACjB,OAAO,EAAE;YACL,YAAY,EAAE;gBACV,OAAO,EAAE,CAAC,kCAAsB,CAAC,UAAU,EAAE,kCAAsB,CAAC,WAAW,CAAC;gBAChF,SAAS,EAAE;oBACP,kCAAsB,CAAC,SAAS;oBAChC,kCAAsB,CAAC,SAAS;oBAChC,kCAAsB,CAAC,wBAAwB;oBAC/C,kCAAsB,CAAC,yBAAyB;iBACnD;gBACD,SAAS,EAAE;oBACP,kCAAsB,CAAC,UAAU;oBACjC,kCAAsB,CAAC,mBAAmB;oBAC1C,kCAAsB,CAAC,oBAAoB;iBAC9C;aACJ;YACD,aAAa,EAAE,IAAI;SACtB;QACD,SAAS,EAAE,EAAE;KAChB;IACD,CAAC,mBAAU,CAAC,QAAQ,CAAC,EAAE;QACnB,OAAO,EAAE;YACL,YAAY,EAAE;gBACV,OAAO,EAAE;oBACL,oCAAwB,CAAC,YAAY;oBACrC,oCAAwB,CAAC,aAAa;oBACtC,oCAAwB,CAAC,YAAY;oBACrC,oCAAwB,CAAC,aAAa;oBACtC,oCAAwB,CAAC,YAAY;oBACrC,oCAAwB,CAAC,YAAY;oBACrC,oCAAwB,CAAC,cAAc;oBACvC,oCAAwB,CAAC,aAAa;oBACtC,oCAAwB,CAAC,YAAY;iBACxC;gBACD,SAAS,EAAE,CAAC,oCAAwB,CAAC,SAAS,EAAE,oCAAwB,CAAC,0BAA0B,CAAC;gBACpG,SAAS,EAAE,CAAC,oCAAwB,CAAC,aAAa,CAAC;aACtD;YACD,aAAa,EAAE,IAAI;SACtB;QACD,SAAS,EAAE,EAAE;KAChB;IACD,CAAC,mBAAU,CAAC,QAAQ,CAAC,EAAE;QACnB,OAAO,EAAE;YACL,YAAY,EAAE;gBACV,OAAO,EAAE;oBACL,6CAAiC,CAAC,aAAa;oBAC/C,6CAAiC,CAAC,cAAc;oBAChD,6CAAiC,CAAC,aAAa;oBAC/C,6CAAiC,CAAC,cAAc;iBACnD;gBACD,SAAS,EAAE;oBACP,6CAAiC,CAAC,SAAS;oBAC3C,6CAAiC,CAAC,wBAAwB;iBAC7D;gBACD,SAAS,EAAE,CAAC,6CAAiC,CAAC,QAAQ,CAAC;aAC1D;YACD,aAAa,EAAE,IAAI;SACtB;QACD,SAAS,EAAE,EAAE;KAChB;CACJ,CAAA"}
1
+ {"version":3,"file":"sports.config.js","sourceRoot":"","sources":["../../../../../src/server/oracle/config/game-periods/sports.config.ts"],"names":[],"mappings":";;;AAAA,2CAA2C;AAE3C,2CASoB;AACpB,2CAA+C;AAE/C;;GAEG;AACU,QAAA,2BAA2B,GAAoC;IACxE,CAAC,mBAAU,CAAC,UAAU,CAAC,EAAE;QACrB,4BAA4B,EAAE,GAAG,EAAE,yBAAyB;QAC5D,YAAY,EAAE,CAAC;QACf,CAAC,mBAAY,CAAC,OAAO,CAAC,EAAE;YACpB,YAAY,EAAE;gBACV,OAAO,EAAE;oBACL,sCAA0B,CAAC,aAAa;oBACxC,sCAA0B,CAAC,cAAc;oBACzC,sCAA0B,CAAC,aAAa;oBACxC,sCAA0B,CAAC,cAAc;iBAC5C;gBACD,SAAS,EAAE;oBACP,sCAA0B,CAAC,QAAQ;oBACnC,sCAA0B,CAAC,SAAS;oBACpC,sCAA0B,CAAC,wBAAwB;iBACtD;gBACD,SAAS,EAAE,CAAC,sCAA0B,CAAC,QAAQ,CAAC;aACnD;YACD,aAAa,EAAE,IAAI;SACtB;QACD,CAAC,mBAAY,CAAC,UAAU,CAAC,EAAE;YACvB,YAAY,EAAE;gBACV,OAAO,EAAE;oBACL,yCAA6B,CAAC,aAAa;oBAC3C,yCAA6B,CAAC,cAAc;oBAC5C,yCAA6B,CAAC,aAAa;oBAC3C,yCAA6B,CAAC,cAAc;iBAC/C;gBACD,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,EAAE;aAChB;YACD,aAAa,EAAE,IAAI;SACtB;KACJ;IACD,CAAC,mBAAU,CAAC,MAAM,CAAC,EAAE;QACjB,4BAA4B,EAAE,IAAI,EAAE,sBAAsB;QAC1D,YAAY,EAAE,CAAC;QACf,CAAC,mBAAY,CAAC,OAAO,CAAC,EAAE;YACpB,YAAY,EAAE;gBACV,OAAO,EAAE,CAAC,kCAAsB,CAAC,UAAU,EAAE,kCAAsB,CAAC,WAAW,CAAC;gBAChF,SAAS,EAAE;oBACP,kCAAsB,CAAC,SAAS;oBAChC,kCAAsB,CAAC,SAAS;oBAChC,kCAAsB,CAAC,wBAAwB;oBAC/C,kCAAsB,CAAC,yBAAyB;iBACnD;gBACD,SAAS,EAAE;oBACP,kCAAsB,CAAC,UAAU;oBACjC,kCAAsB,CAAC,mBAAmB;oBAC1C,kCAAsB,CAAC,oBAAoB;iBAC9C;aACJ;YACD,aAAa,EAAE,IAAI;SACtB;QACD,CAAC,mBAAY,CAAC,UAAU,CAAC,EAAE;YACvB,YAAY,EAAE;gBACV,OAAO,EAAE,CAAC,qCAAyB,CAAC,UAAU,EAAE,qCAAyB,CAAC,WAAW,CAAC;gBACtF,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,EAAE;aAChB;YACD,aAAa,EAAE,IAAI;SACtB;KACJ;IACD,CAAC,mBAAU,CAAC,QAAQ,CAAC,EAAE;QACnB,4BAA4B,EAAE,IAAI,EAAE,oCAAoC;QACxE,YAAY,EAAE,CAAC;QACf,CAAC,mBAAY,CAAC,OAAO,CAAC,EAAE;YACpB,YAAY,EAAE;gBACV,OAAO,EAAE;oBACL,oCAAwB,CAAC,YAAY;oBACrC,oCAAwB,CAAC,aAAa;oBACtC,oCAAwB,CAAC,YAAY;oBACrC,oCAAwB,CAAC,aAAa;oBACtC,oCAAwB,CAAC,YAAY;oBACrC,oCAAwB,CAAC,YAAY;oBACrC,oCAAwB,CAAC,cAAc;oBACvC,oCAAwB,CAAC,aAAa;oBACtC,oCAAwB,CAAC,YAAY;iBACxC;gBACD,SAAS,EAAE,CAAC,oCAAwB,CAAC,SAAS,EAAE,oCAAwB,CAAC,0BAA0B,CAAC;gBACpG,SAAS,EAAE,CAAC,oCAAwB,CAAC,aAAa,CAAC;aACtD;YACD,aAAa,EAAE,IAAI;SACtB;QACD,CAAC,mBAAY,CAAC,UAAU,CAAC,EAAE;YACvB,YAAY,EAAE;gBACV,OAAO,EAAE;oBACL,uCAA2B,CAAC,YAAY;oBACxC,uCAA2B,CAAC,aAAa;oBACzC,uCAA2B,CAAC,YAAY;oBACxC,uCAA2B,CAAC,aAAa;oBACzC,uCAA2B,CAAC,YAAY;oBACxC,uCAA2B,CAAC,YAAY;oBACxC,uCAA2B,CAAC,cAAc;oBAC1C,uCAA2B,CAAC,aAAa;oBACzC,uCAA2B,CAAC,YAAY;iBAC3C;gBACD,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,EAAE;aAChB;YACD,aAAa,EAAE,IAAI;SACtB;KACJ;IACD,CAAC,mBAAU,CAAC,QAAQ,CAAC,EAAE;QACnB,4BAA4B,EAAE,GAAG,EAAE,yBAAyB;QAC5D,YAAY,EAAE,CAAC;QACf,CAAC,mBAAY,CAAC,OAAO,CAAC,EAAE;YACpB,YAAY,EAAE;gBACV,OAAO,EAAE;oBACL,6CAAiC,CAAC,aAAa;oBAC/C,6CAAiC,CAAC,cAAc;oBAChD,6CAAiC,CAAC,aAAa;oBAC/C,6CAAiC,CAAC,cAAc;iBACnD;gBACD,SAAS,EAAE;oBACP,6CAAiC,CAAC,SAAS;oBAC3C,6CAAiC,CAAC,wBAAwB;iBAC7D;gBACD,SAAS,EAAE,CAAC,6CAAiC,CAAC,QAAQ,CAAC;aAC1D;YACD,aAAa,EAAE,IAAI;SACtB;QACD,CAAC,mBAAY,CAAC,UAAU,CAAC,EAAE;YACvB,YAAY,EAAE;gBACV,OAAO,EAAE;oBACL,gDAAoC,CAAC,aAAa;oBAClD,gDAAoC,CAAC,cAAc;oBACnD,gDAAoC,CAAC,aAAa;oBAClD,gDAAoC,CAAC,cAAc;iBACtD;gBACD,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,EAAE;aAChB;YACD,aAAa,EAAE,IAAI;SACtB;KACJ;CACJ,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { SportGroup } from "@prisma/client";
2
+ import { OddsServices } from "../../../../core";
2
3
  /**
3
4
  * Period configuration for a specific sport or league
4
5
  */
@@ -25,8 +26,10 @@ export interface ProviderPeriodConfig {
25
26
  * Complete period configuration for all providers
26
27
  */
27
28
  export interface SportPeriodClockConfig {
28
- lsports: ProviderPeriodConfig;
29
- opticOdds: Partial<ProviderPeriodConfig>;
29
+ totalPeriods: number;
30
+ totalPeriodDurationInSeconds: number;
31
+ [OddsServices.LSPORTS]: ProviderPeriodConfig;
32
+ [OddsServices.OPTIC_ODDS]: ProviderPeriodConfig;
30
33
  }
31
34
  /**
32
35
  * Main configuration type mapping sport groups to their period configs
@@ -1,3 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("../../../../core");
3
4
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/server/oracle/config/game-periods/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/server/oracle/config/game-periods/types.ts"],"names":[],"mappings":";;AACA,2CAA+C"}
@@ -0,0 +1,4 @@
1
+ import Redis from "ioredis";
2
+ export declare const saveGameProgressToCache: (gameObjectId: string, progressBPS: number, redisClient: Redis) => Promise<void>;
3
+ export declare const getAllGameProgressFromCache: (gameObjectId: string, redisClient: Redis) => Promise<number[]>;
4
+ export declare const getLatestGameProgressFromCache: (gameObjectId: string, redisClient: Redis) => Promise<number | null>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLatestGameProgressFromCache = exports.getAllGameProgressFromCache = exports.saveGameProgressToCache = void 0;
4
+ const cacheKey = `game-progress:test:`;
5
+ const getCacheKey = (gameObjectId) => {
6
+ return `${cacheKey}${gameObjectId}`;
7
+ };
8
+ const saveGameProgressToCache = async (gameObjectId, progressBPS, redisClient) => {
9
+ const cacheKey = getCacheKey(gameObjectId);
10
+ await redisClient.lpush(cacheKey, progressBPS.toString());
11
+ };
12
+ exports.saveGameProgressToCache = saveGameProgressToCache;
13
+ const getAllGameProgressFromCache = async (gameObjectId, redisClient) => {
14
+ const cacheKey = getCacheKey(gameObjectId);
15
+ const results = await redisClient.lrange(cacheKey, 0, -1);
16
+ return results.map((val) => parseInt(val, 10));
17
+ };
18
+ exports.getAllGameProgressFromCache = getAllGameProgressFromCache;
19
+ const getLatestGameProgressFromCache = async (gameObjectId, redisClient) => {
20
+ const cacheKey = getCacheKey(gameObjectId);
21
+ const result = await redisClient.lindex(cacheKey, 0);
22
+ if (result === null)
23
+ return null;
24
+ return parseInt(result, 10);
25
+ };
26
+ exports.getLatestGameProgressFromCache = getLatestGameProgressFromCache;
27
+ //# sourceMappingURL=game.progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game.progress.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/game.progress.ts"],"names":[],"mappings":";;;AAIA,MAAM,QAAQ,GAAG,qBAAqB,CAAA;AAEtC,MAAM,WAAW,GAAG,CAAC,YAAoB,EAAU,EAAE;IACjD,OAAO,GAAG,QAAQ,GAAG,YAAY,EAAE,CAAA;AACvC,CAAC,CAAA;AAEM,MAAM,uBAAuB,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAmB,EAAE,WAAkB,EAAE,EAAE;IAC3G,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;IAC1C,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;AAC7D,CAAC,CAAA;AAHY,QAAA,uBAAuB,2BAGnC;AAEM,MAAM,2BAA2B,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAkB,EAAqB,EAAE;IAC7G,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACzD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;AAClD,CAAC,CAAA;AAJY,QAAA,2BAA2B,+BAIvC;AAEM,MAAM,8BAA8B,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAkB,EAA0B,EAAE;IACrH,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACpD,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAChC,OAAO,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAC/B,CAAC,CAAA;AALY,QAAA,8BAA8B,kCAK1C"}
@@ -32,7 +32,7 @@ export interface SearchResult<T> {
32
32
  * @param limit - Number of latest odds to return (from the end)
33
33
  * @returns Array of Odds objects
34
34
  */
35
- export declare const getOddsList: (redis: Redis, gameUniqueId: string, marketType: MarketType, limit?: number) => Promise<Odds[]>;
35
+ export declare const getOddsList: (redis: Redis, gameUniqueId: string, marketType: MarketType) => Promise<Odds[]>;
36
36
  /**
37
37
  * Fallback market query engine for Redis instances without RediSearch support
38
38
  * Uses simple hash operations instead of full-text search indexing
@@ -14,7 +14,7 @@ const cache_keys_utils_1 = require("./cache.keys.utils");
14
14
  * @param limit - Number of latest odds to return (from the end)
15
15
  * @returns Array of Odds objects
16
16
  */
17
- const getOddsList = async (redis, gameUniqueId, marketType, limit = 10) => {
17
+ const getOddsList = async (redis, gameUniqueId, marketType) => {
18
18
  try {
19
19
  const key = cache_keys_utils_1.gameToMarketOfOddsInCache;
20
20
  const field = (0, cache_keys_utils_1.getMarketOddsField)(gameUniqueId, marketType);
@@ -24,8 +24,7 @@ const getOddsList = async (redis, gameUniqueId, marketType, limit = 10) => {
24
24
  }
25
25
  const oddsList = JSON.parse(value);
26
26
  // Return the last N odds entries
27
- const startIndex = Math.max(0, oddsList.length - limit);
28
- return oddsList.slice(startIndex);
27
+ return oddsList;
29
28
  }
30
29
  catch (error) {
31
30
  winston_1.default.error("Error getting odds list", error);
@@ -1 +1 @@
1
- {"version":3,"file":"market.query.engine.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/market.query.engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market.query.engine.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/market.query.engine.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export * from "./types";
2
- export * from "./parser";
2
+ export * from "../../../../utils/game_progress/parser";
@@ -15,5 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./types"), exports);
18
- __exportStar(require("./parser"), exports);
18
+ __exportStar(require("../../../../utils/game_progress/parser"), exports);
19
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/server/oracle/types/providers/game-clock/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,2CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/server/oracle/types/providers/game-clock/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,yEAAsD"}
@@ -0,0 +1,6 @@
1
+ import { SportGroup } from "@prisma/client";
2
+ import { OddsServices } from "../../../core";
3
+ export declare const calculateSoccerProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup, provider: OddsServices) => number | null;
4
+ export declare const calculateBasketballProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup, provider: OddsServices) => number | null;
5
+ export declare const calculateFootballProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup, provider: OddsServices) => number | null;
6
+ export declare const calculateBaseballProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup, provider: OddsServices) => number | null;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateBaseballProgress = exports.calculateFootballProgress = exports.calculateBasketballProgress = exports.calculateSoccerProgress = void 0;
4
+ const client_1 = require("@prisma/client");
5
+ const game_utils_1 = require("../game_progress/game.utils");
6
+ const parser_1 = require("./parser");
7
+ const oracle_1 = require("../../oracle");
8
+ const core_1 = require("../../../core");
9
+ const PERIOD_MAPPERS = {
10
+ [core_1.OddsServices.LSPORTS]: {
11
+ [client_1.SportGroup.Soccer]: (currentPeriod) => {
12
+ if (currentPeriod === 10)
13
+ return 1;
14
+ if (currentPeriod === 20)
15
+ return 2;
16
+ return null;
17
+ },
18
+ [client_1.SportGroup.Basketball]: (currentPeriod, totalPeriods) => {
19
+ if (currentPeriod >= 1 && currentPeriod <= totalPeriods)
20
+ return currentPeriod;
21
+ return null;
22
+ },
23
+ [client_1.SportGroup.Football]: (currentPeriod, totalPeriods) => {
24
+ if (currentPeriod >= 1 && currentPeriod <= totalPeriods)
25
+ return currentPeriod;
26
+ return null;
27
+ },
28
+ [client_1.SportGroup.Baseball]: (currentPeriod, totalPeriods) => {
29
+ if (currentPeriod >= 1 && currentPeriod <= totalPeriods)
30
+ return currentPeriod;
31
+ return null;
32
+ },
33
+ },
34
+ [core_1.OddsServices.OPTIC_ODDS]: {
35
+ [client_1.SportGroup.Soccer]: (currentPeriod, totalPeriods) => {
36
+ if (currentPeriod >= 1 && currentPeriod <= totalPeriods)
37
+ return currentPeriod;
38
+ return null;
39
+ },
40
+ [client_1.SportGroup.Basketball]: (currentPeriod, totalPeriods) => {
41
+ if (currentPeriod >= 1 && currentPeriod <= totalPeriods)
42
+ return currentPeriod;
43
+ return null;
44
+ },
45
+ [client_1.SportGroup.Football]: (currentPeriod, totalPeriods) => {
46
+ if (currentPeriod >= 1 && currentPeriod <= totalPeriods)
47
+ return currentPeriod;
48
+ return null;
49
+ },
50
+ [client_1.SportGroup.Baseball]: (currentPeriod, totalPeriods) => {
51
+ if (currentPeriod >= 1 && currentPeriod <= totalPeriods)
52
+ return currentPeriod;
53
+ return null;
54
+ },
55
+ },
56
+ };
57
+ const calculateGameProgress = (currentPeriod, gameClock, sportGroup, provider) => {
58
+ const config = oracle_1.SportsGamePeriodClockConfig[sportGroup];
59
+ if (!config?.[provider].sportPeriods.regular.includes(currentPeriod))
60
+ return null;
61
+ const periodMapper = PERIOD_MAPPERS[provider]?.[sportGroup];
62
+ if (!periodMapper)
63
+ return null;
64
+ const period = periodMapper(currentPeriod, config.totalPeriods);
65
+ if (period === null)
66
+ return null;
67
+ const gameClockInSeconds = (0, parser_1.parseGameClockToSeconds)(gameClock);
68
+ if (gameClockInSeconds === null)
69
+ return null;
70
+ return (0, game_utils_1.getGameProgressBPS)(gameClockInSeconds, config.totalPeriodDurationInSeconds, config.totalPeriods, period, sportGroup);
71
+ };
72
+ const calculateSoccerProgress = (currentPeriod, gameClock, sportGroup, provider) => {
73
+ if (sportGroup !== client_1.SportGroup.Soccer)
74
+ throw new Error("Sport group is not soccer");
75
+ return calculateGameProgress(currentPeriod, gameClock, sportGroup, provider);
76
+ };
77
+ exports.calculateSoccerProgress = calculateSoccerProgress;
78
+ const calculateBasketballProgress = (currentPeriod, gameClock, sportGroup, provider) => {
79
+ if (sportGroup !== client_1.SportGroup.Basketball)
80
+ throw new Error("Sport group is not basketball");
81
+ return calculateGameProgress(currentPeriod, gameClock, sportGroup, provider);
82
+ };
83
+ exports.calculateBasketballProgress = calculateBasketballProgress;
84
+ const calculateFootballProgress = (currentPeriod, gameClock, sportGroup, provider) => {
85
+ if (sportGroup !== client_1.SportGroup.Football)
86
+ throw new Error("Sport group is not football");
87
+ return calculateGameProgress(currentPeriod, gameClock, sportGroup, provider);
88
+ };
89
+ exports.calculateFootballProgress = calculateFootballProgress;
90
+ const calculateBaseballProgress = (currentPeriod, gameClock, sportGroup, provider) => {
91
+ if (sportGroup !== client_1.SportGroup.Baseball)
92
+ throw new Error("Sport group is not baseball");
93
+ return calculateGameProgress(currentPeriod, gameClock, sportGroup, provider);
94
+ };
95
+ exports.calculateBaseballProgress = calculateBaseballProgress;
96
+ //# sourceMappingURL=caclulate.game.progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caclulate.game.progress.js","sourceRoot":"","sources":["../../../../src/server/utils/game_progress/caclulate.game.progress.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { SportGroup } from "@prisma/client";
2
+ export declare const getGameProgressBPS: (gameClock: number, totalPeriodDurationInSeconds: number, period: number, totalPeriods: number, sportGroup: SportGroup) => number | null;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGameProgressBPS = void 0;
4
+ const client_1 = require("@prisma/client");
5
+ const calculateGameProgressBPSWithPeriodsOnly = (period, totalPeriods) => {
6
+ if (period > totalPeriods)
7
+ return 1e4;
8
+ const progress = period / totalPeriods;
9
+ return Math.round(progress * 1e4);
10
+ };
11
+ //{ totalPeriods: 2, totalPeriodDurationInSeconds: 45 * 60 },
12
+ // gameClock: '57:20',
13
+ //levr-v1-dev-oracle-core | gamePeriod: 20,
14
+ const calculateGameProgressBPS = (elapsedSeconds, totalPeriodDurationInSeconds, totalPeriods, period) => {
15
+ if (totalPeriodDurationInSeconds === 0)
16
+ return 0;
17
+ if (elapsedSeconds > totalPeriodDurationInSeconds)
18
+ elapsedSeconds = totalPeriodDurationInSeconds;
19
+ const progress = elapsedSeconds / totalPeriodDurationInSeconds;
20
+ const periodsPassed = period - 1;
21
+ const pastProgress = calculateGameProgressBPSWithPeriodsOnly(periodsPassed, totalPeriods);
22
+ const currentPeriodProgress = (progress * 1e4) / totalPeriods;
23
+ const value = Math.round(pastProgress + currentPeriodProgress);
24
+ //TODO: revise time tracking
25
+ if (value > 1e4)
26
+ return 1e4;
27
+ if (value < 0)
28
+ return 0;
29
+ return value;
30
+ };
31
+ // Example: { totalPeriods: 2, totalPeriodDurationInSeconds: 45 * 60 }, gameClock: '57:20', period: 2
32
+ // gameClock is cumulative (57:20 = 57 mins into game, which is 12:20 into period 2)
33
+ // Expected: elapsedInPeriod = 3440 - 2700 = 740 seconds → ~63.7% game progress
34
+ const calculateGameProgressBPSWithGameClockCountUp = (gameClock, totalPeriodDurationInSeconds, totalPeriods, period) => {
35
+ const cumulativeElapsedSeconds = gameClock;
36
+ if (cumulativeElapsedSeconds === null)
37
+ return null;
38
+ // Subtract time from previous periods since gameClock is cumulative
39
+ const previousPeriodsSeconds = (period - 1) * totalPeriodDurationInSeconds;
40
+ const elapsedSecondsInCurrentPeriod = cumulativeElapsedSeconds - previousPeriodsSeconds;
41
+ return calculateGameProgressBPS(elapsedSecondsInCurrentPeriod, totalPeriodDurationInSeconds, totalPeriods, period);
42
+ };
43
+ const calculateGameProgressBPSWithGameClockCountDown = (gameClock, totalPeriodDurationInSeconds, totalPeriods, period) => {
44
+ const remainingSeconds = gameClock;
45
+ if (remainingSeconds === null)
46
+ return null;
47
+ const elapsedSeconds = totalPeriodDurationInSeconds - remainingSeconds;
48
+ return calculateGameProgressBPS(elapsedSeconds, totalPeriodDurationInSeconds, totalPeriods, period);
49
+ };
50
+ const getGameProgressBPS = (gameClock, totalPeriodDurationInSeconds, period, totalPeriods, sportGroup) => {
51
+ switch (sportGroup) {
52
+ case client_1.SportGroup.Soccer:
53
+ return calculateGameProgressBPSWithGameClockCountUp(gameClock, totalPeriodDurationInSeconds, totalPeriods, period);
54
+ case client_1.SportGroup.Basketball:
55
+ return calculateGameProgressBPSWithGameClockCountDown(gameClock, totalPeriodDurationInSeconds, totalPeriods, period);
56
+ case client_1.SportGroup.Football:
57
+ return calculateGameProgressBPSWithGameClockCountDown(gameClock, totalPeriodDurationInSeconds, totalPeriods, period);
58
+ case client_1.SportGroup.Baseball:
59
+ return calculateGameProgressBPSWithPeriodsOnly(period, totalPeriods);
60
+ default:
61
+ return null;
62
+ }
63
+ };
64
+ exports.getGameProgressBPS = getGameProgressBPS;
65
+ //# sourceMappingURL=game.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game.utils.js","sourceRoot":"","sources":["../../../../src/server/utils/game_progress/game.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { SportGroup } from "@prisma/client";
2
+ export declare const calculateSoccerProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup) => number | null;
3
+ export declare const calculateBasketballProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup) => number | null;
4
+ export declare const calculateFootballProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup) => number | null;
5
+ export declare const calculateBaseballProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup) => number | null;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateBaseballProgress = exports.calculateFootballProgress = exports.calculateBasketballProgress = exports.calculateSoccerProgress = void 0;
4
+ const client_1 = require("@prisma/client");
5
+ const game_utils_1 = require("../game_progress/game.utils");
6
+ const parser_1 = require("./parser");
7
+ const oracle_1 = require("../../oracle");
8
+ // identify the period, match it to the equivalent levr period
9
+ // then identify the clock, maket sure the clock is convert to seconds
10
+ // then calculate the progress based on that
11
+ // 1st half 0-45 minutes
12
+ // 2nd half 46-90 minutes
13
+ // assumptions, use only regular time to calculate progress
14
+ // extra time 91-105 minutes
15
+ // extra time 106-120 minutes
16
+ // penalties 121 minutes +
17
+ // we want seconds for game clock here
18
+ // calculate for soccer
19
+ const calculateSoccerProgress = (currentPeriod, gameClock, sportGroup) => {
20
+ // Implementation here
21
+ if (sportGroup !== client_1.SportGroup.Soccer)
22
+ throw new Error("Sport group is not soccer");
23
+ let config = oracle_1.SportsGamePeriodClockConfig[sportGroup];
24
+ if (!config)
25
+ return null;
26
+ const period = currentPeriod === 10 ? 1 : currentPeriod === 20 ? 2 : currentPeriod > 20 ? config.totalPeriods + 1 : 0;
27
+ if (period === 0)
28
+ return null;
29
+ const gameClockInSeconds = (0, parser_1.parseGameClockToSeconds)(gameClock);
30
+ if (gameClockInSeconds === null)
31
+ return null;
32
+ return (0, game_utils_1.getGameProgressBPS)(gameClockInSeconds, config.totalPeriodDurationInSeconds, config.totalPeriods, period, sportGroup);
33
+ };
34
+ exports.calculateSoccerProgress = calculateSoccerProgress;
35
+ // parse game clock to seconds
36
+ const calculateBasketballProgress = (currentPeriod, gameClock, sportGroup) => {
37
+ // Implementation here
38
+ if (sportGroup !== client_1.SportGroup.Basketball)
39
+ throw new Error("Sport group is not basketball");
40
+ let config = oracle_1.SportsGamePeriodClockConfig[sportGroup];
41
+ if (!config)
42
+ return null;
43
+ const period = currentPeriod >= 1 && currentPeriod <= 4 ? currentPeriod : currentPeriod === 40 ? config.totalPeriods + 1 : 0;
44
+ if (period === 0)
45
+ return null;
46
+ const gameClockInSeconds = (0, parser_1.parseGameClockToSeconds)(gameClock);
47
+ if (gameClockInSeconds === null)
48
+ return null;
49
+ return (0, game_utils_1.getGameProgressBPS)(gameClockInSeconds, config.totalPeriodDurationInSeconds, config.totalPeriods, period, sportGroup);
50
+ };
51
+ exports.calculateBasketballProgress = calculateBasketballProgress;
52
+ const calculateFootballProgress = (currentPeriod, gameClock, sportGroup) => {
53
+ // Implementation here
54
+ if (sportGroup !== client_1.SportGroup.Football)
55
+ throw new Error("Sport group is not football");
56
+ let config = oracle_1.SportsGamePeriodClockConfig[sportGroup];
57
+ if (!config)
58
+ return null;
59
+ const period = currentPeriod >= 1 && currentPeriod <= 4 ? currentPeriod : currentPeriod === 40 ? config.totalPeriods + 1 : 0;
60
+ if (period === 0)
61
+ return null;
62
+ const gameClockInSeconds = (0, parser_1.parseGameClockToSeconds)(gameClock);
63
+ if (gameClockInSeconds === null)
64
+ return null;
65
+ return (0, game_utils_1.getGameProgressBPS)(gameClockInSeconds, config.totalPeriodDurationInSeconds, config.totalPeriods, period, sportGroup);
66
+ };
67
+ exports.calculateFootballProgress = calculateFootballProgress;
68
+ const calculateBaseballProgress = (currentPeriod, gameClock, sportGroup) => {
69
+ // Implementation here
70
+ if (sportGroup !== client_1.SportGroup.Baseball)
71
+ throw new Error("Sport group is not baseball");
72
+ const config = oracle_1.SportsGamePeriodClockConfig[sportGroup];
73
+ if (!config)
74
+ return null;
75
+ const period = currentPeriod >= 1 && currentPeriod <= 9 ? currentPeriod : currentPeriod === 40 ? config.totalPeriods + 1 : 0;
76
+ if (period === 0)
77
+ return null;
78
+ const gameClockInSeconds = (0, parser_1.parseGameClockToSeconds)(gameClock);
79
+ if (gameClockInSeconds === null)
80
+ return null;
81
+ return (0, game_utils_1.getGameProgressBPS)(gameClockInSeconds, config.totalPeriodDurationInSeconds, config.totalPeriods, period, sportGroup);
82
+ };
83
+ exports.calculateBaseballProgress = calculateBaseballProgress;
84
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/utils/game_progress/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { GameClockPattern } from "./types";
1
+ import { GameClockPattern } from "../../oracle/types/providers/game-clock/types";
2
2
  /**
3
3
  * Detect the pattern of a game clock string
4
4
  * @param gameClock - The game clock string to analyze
@@ -12,9 +12,3 @@ export declare const detectGameClockPattern: (gameClock: string) => GameClockPat
12
12
  * @returns Number of seconds, or null if invalid format
13
13
  */
14
14
  export declare const parseGameClockToSeconds: (gameClock: string) => number | null;
15
- /**
16
- * Format seconds to a clock string (MM:SS)
17
- * @param totalSeconds - Total seconds to format
18
- * @returns Formatted clock string
19
- */
20
- export declare const formatSecondsToGameClock: (totalSeconds: number) => string;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatSecondsToGameClock = exports.parseGameClockToSeconds = exports.detectGameClockPattern = void 0;
4
- const types_1 = require("./types");
3
+ exports.parseGameClockToSeconds = exports.detectGameClockPattern = void 0;
4
+ const types_1 = require("../../oracle/types/providers/game-clock/types");
5
5
  /**
6
6
  * Regex patterns for different game clock formats
7
7
  */
@@ -90,15 +90,4 @@ const parseGameClockToSeconds = (gameClock) => {
90
90
  return null;
91
91
  };
92
92
  exports.parseGameClockToSeconds = parseGameClockToSeconds;
93
- /**
94
- * Format seconds to a clock string (MM:SS)
95
- * @param totalSeconds - Total seconds to format
96
- * @returns Formatted clock string
97
- */
98
- const formatSecondsToGameClock = (totalSeconds) => {
99
- const minutes = Math.floor(totalSeconds / 60);
100
- const seconds = totalSeconds % 60;
101
- return `${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`;
102
- };
103
- exports.formatSecondsToGameClock = formatSecondsToGameClock;
104
93
  //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/server/utils/game_progress/parser.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export * from "./express.utils";
2
2
  export * from "./tracing";
3
+ export * from "./game_progress";
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./express.utils"), exports);
18
18
  __exportStar(require("./tracing"), exports);
19
+ __exportStar(require("./game_progress"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,4CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,4CAAyB;AACzB,kDAA+B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@levrbet/shared",
3
- "version": "0.2.78",
3
+ "version": "0.2.80",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../../../src/server/oracle/types/providers/game-clock/parser.ts"],"names":[],"mappings":"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"}