@tryline/interface 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/README.md +229 -0
  2. package/dist/api/admin/admin.d.ts +4 -0
  3. package/dist/api/admin/admin.d.ts.map +1 -0
  4. package/dist/api/admin/admin.js +1 -0
  5. package/dist/api/admin/articles.d.ts +77 -0
  6. package/dist/api/admin/articles.d.ts.map +1 -0
  7. package/dist/api/admin/articles.js +6 -0
  8. package/dist/api/admin/index.d.ts +5 -0
  9. package/dist/api/admin/index.d.ts.map +1 -0
  10. package/dist/api/admin/index.js +4 -0
  11. package/dist/api/admin/matches.d.ts +33 -0
  12. package/dist/api/admin/matches.d.ts.map +1 -0
  13. package/dist/api/admin/matches.js +6 -0
  14. package/dist/api/admin/matchup/index.d.ts +4 -0
  15. package/dist/api/admin/matchup/index.d.ts.map +1 -0
  16. package/dist/api/admin/matchup/index.js +3 -0
  17. package/dist/api/admin/matchup/matches.d.ts +33 -0
  18. package/dist/api/admin/matchup/matches.d.ts.map +1 -0
  19. package/dist/api/admin/matchup/matches.js +6 -0
  20. package/dist/api/admin/matchup/players.d.ts +100 -0
  21. package/dist/api/admin/matchup/players.d.ts.map +1 -0
  22. package/dist/api/admin/matchup/players.js +6 -0
  23. package/dist/api/admin/matchup/teams.d.ts +207 -0
  24. package/dist/api/admin/matchup/teams.d.ts.map +1 -0
  25. package/dist/api/admin/matchup/teams.js +6 -0
  26. package/dist/api/admin/matchup-players.d.ts +100 -0
  27. package/dist/api/admin/matchup-players.d.ts.map +1 -0
  28. package/dist/api/admin/matchup-players.js +6 -0
  29. package/dist/api/admin/matchup-teams.d.ts +207 -0
  30. package/dist/api/admin/matchup-teams.d.ts.map +1 -0
  31. package/dist/api/admin/matchup-teams.js +6 -0
  32. package/dist/api/admin/nrl-matches.d.ts +146 -0
  33. package/dist/api/admin/nrl-matches.d.ts.map +1 -0
  34. package/dist/api/admin/nrl-matches.js +6 -0
  35. package/dist/api/articles.d.ts +50 -0
  36. package/dist/api/articles.d.ts.map +1 -0
  37. package/dist/api/articles.js +1 -0
  38. package/dist/api/auth.d.ts +75 -0
  39. package/dist/api/auth.d.ts.map +1 -0
  40. package/dist/api/auth.js +5 -0
  41. package/dist/api/competitions.d.ts +34 -0
  42. package/dist/api/competitions.d.ts.map +1 -0
  43. package/dist/api/competitions.js +1 -0
  44. package/dist/api/index.d.ts +10 -0
  45. package/dist/api/index.d.ts.map +1 -0
  46. package/dist/api/index.js +9 -0
  47. package/dist/api/matches.d.ts +77 -0
  48. package/dist/api/matches.d.ts.map +1 -0
  49. package/dist/api/matches.js +1 -0
  50. package/dist/api/news.d.ts +50 -0
  51. package/dist/api/news.d.ts.map +1 -0
  52. package/dist/api/news.js +1 -0
  53. package/dist/api/nrl/analytics.d.ts +129 -0
  54. package/dist/api/nrl/analytics.d.ts.map +1 -0
  55. package/dist/api/nrl/analytics.js +1 -0
  56. package/dist/api/nrl/index.d.ts +7 -0
  57. package/dist/api/nrl/index.d.ts.map +1 -0
  58. package/dist/api/nrl/index.js +6 -0
  59. package/dist/api/nrl/ladder.d.ts +67 -0
  60. package/dist/api/nrl/ladder.d.ts.map +1 -0
  61. package/dist/api/nrl/ladder.js +1 -0
  62. package/dist/api/nrl/matches.d.ts +297 -0
  63. package/dist/api/nrl/matches.d.ts.map +1 -0
  64. package/dist/api/nrl/matches.js +1 -0
  65. package/dist/api/nrl/stats.d.ts +280 -0
  66. package/dist/api/nrl/stats.d.ts.map +1 -0
  67. package/dist/api/nrl/stats.js +1 -0
  68. package/dist/api/nrl/team-player-stats.d.ts +195 -0
  69. package/dist/api/nrl/team-player-stats.d.ts.map +1 -0
  70. package/dist/api/nrl/team-player-stats.js +1 -0
  71. package/dist/api/nrl/teams.d.ts +66 -0
  72. package/dist/api/nrl/teams.d.ts.map +1 -0
  73. package/dist/api/nrl/teams.js +1 -0
  74. package/dist/api/players.d.ts +31 -0
  75. package/dist/api/players.d.ts.map +1 -0
  76. package/dist/api/players.js +1 -0
  77. package/dist/api/search.d.ts +68 -0
  78. package/dist/api/search.d.ts.map +1 -0
  79. package/dist/api/search.js +1 -0
  80. package/dist/api/shared.d.ts +30 -0
  81. package/dist/api/shared.d.ts.map +1 -0
  82. package/dist/api/shared.js +4 -0
  83. package/dist/api/teams.d.ts +48 -0
  84. package/dist/api/teams.d.ts.map +1 -0
  85. package/dist/api/teams.js +1 -0
  86. package/dist/api/test.d.ts +8 -0
  87. package/dist/api/test.d.ts.map +1 -0
  88. package/dist/api/test.js +4 -0
  89. package/dist/api/version.d.ts +8 -0
  90. package/dist/api/version.d.ts.map +1 -0
  91. package/dist/api/version.js +4 -0
  92. package/dist/api/votes.d.ts +26 -0
  93. package/dist/api/votes.d.ts.map +1 -0
  94. package/dist/api/votes.js +5 -0
  95. package/dist/common/index.d.ts +2 -0
  96. package/dist/common/index.d.ts.map +1 -0
  97. package/dist/common/index.js +1 -0
  98. package/dist/common/response.d.ts +31 -0
  99. package/dist/common/response.d.ts.map +1 -0
  100. package/dist/common/response.js +21 -0
  101. package/dist/index.d.ts +15 -0
  102. package/dist/index.d.ts.map +1 -0
  103. package/dist/index.js +16 -0
  104. package/package.json +65 -0
@@ -0,0 +1,6 @@
1
+ export * from "./matches";
2
+ export * from "./ladder";
3
+ export * from "./stats";
4
+ export * from "./analytics";
5
+ export * from "./team-player-stats";
6
+ export * from "./teams";
@@ -0,0 +1,67 @@
1
+ import { MatchTeam } from "../shared";
2
+ /**
3
+ * NRL Ladder API types
4
+ * Shared between backend and frontend for ladder-related operations
5
+ */
6
+ /**
7
+ * Performance outcome for a match
8
+ */
9
+ export type PerformanceOutcome = "win" | "loss" | "draw";
10
+ /**
11
+ * Performance location for a match
12
+ */
13
+ export type PerformanceLocation = "home" | "away";
14
+ /**
15
+ * Recent performance record for a team
16
+ * Represents outcome and location of a single completed match
17
+ */
18
+ export interface TeamRecentPerformance {
19
+ outcome: PerformanceOutcome;
20
+ location: PerformanceLocation;
21
+ }
22
+ /**
23
+ * Complete team information for ladder display
24
+ * Includes team details and recent performance history
25
+ */
26
+ export interface TeamLadderInfo {
27
+ team_details: MatchTeam;
28
+ team_recent_performance: TeamRecentPerformance[];
29
+ }
30
+ /**
31
+ * Ladder ranking entry for a single team in a specific round
32
+ * Contains all ladder statistics for the team at that point in the season
33
+ */
34
+ export interface LadderTeamRanking {
35
+ position: number;
36
+ team_id: number;
37
+ played: number;
38
+ points: number;
39
+ wins: number;
40
+ drawn: number;
41
+ lost: number;
42
+ byes: number;
43
+ for_points: number;
44
+ against_points: number;
45
+ diff: number;
46
+ home_record: string;
47
+ away_record: string;
48
+ }
49
+ /**
50
+ * Ladder standings for a single round
51
+ * Contains round information and team rankings for that round
52
+ */
53
+ export interface LadderRound {
54
+ round: number;
55
+ round_text: string;
56
+ team_rankings: LadderTeamRanking[];
57
+ }
58
+ /**
59
+ * Response type for GET /nrl/ladder?season_id={season_id}
60
+ * Returns ladder data grouped by rounds and team information
61
+ * If no data exists, rounds will be empty array and teams will be null
62
+ */
63
+ export interface GetLadderResponse {
64
+ rounds: LadderRound[];
65
+ teams: Record<number, TeamLadderInfo> | null;
66
+ }
67
+ //# sourceMappingURL=ladder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ladder.d.ts","sourceRoot":"","sources":["../../../src/api/nrl/ladder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,SAAS,CAAC;IACxB,uBAAuB,EAAE,qBAAqB,EAAE,CAAC;CAClD;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC;CAC9C"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,297 @@
1
+ import { MatchTeam, MatchVenue } from "../shared";
2
+ import { Season } from "../competitions";
3
+ /**
4
+ * Single NRL match highlight
5
+ * Contains match info with highlight URL and round information
6
+ */
7
+ export interface MatchHighlight {
8
+ match_id: number;
9
+ datetime: string;
10
+ status: "completed";
11
+ slug: string;
12
+ round_text: string;
13
+ official_highlights_url: string;
14
+ home_team: MatchTeam;
15
+ away_team: MatchTeam;
16
+ }
17
+ /**
18
+ * Response type for GET /nrl/latest-highlights
19
+ * Returns array of up to 8 most recent completed NRL matches with highlights
20
+ */
21
+ export interface GetLatestHighlightsResponse {
22
+ highlights: MatchHighlight[];
23
+ }
24
+ /**
25
+ * Team ranking information from the ladder
26
+ * Contains position and additional stats
27
+ */
28
+ export interface TeamRanking {
29
+ rank: number;
30
+ played: number | null;
31
+ wins: number | null;
32
+ drawn: number | null;
33
+ lost: number | null;
34
+ byes: number | null;
35
+ diff: number | null;
36
+ points: number | null;
37
+ }
38
+ /**
39
+ * NRL-specific team information extending base MatchTeam
40
+ * Includes team ranking from the ladder
41
+ */
42
+ export interface MatchTeamWithRanking extends MatchTeam {
43
+ ranking: TeamRanking | null;
44
+ }
45
+ /**
46
+ * Response type for GET /nrl/basic-info/:match_id
47
+ * Contains comprehensive match data specific to NRL
48
+ * Returned directly in the data field of ApiResponse
49
+ */
50
+ export interface GetMatchBasicInfoResponse {
51
+ match_id: number;
52
+ slug: string;
53
+ season: Season;
54
+ round: number;
55
+ round_text: string;
56
+ datetime: string;
57
+ status: "scheduled" | "live" | "completed" | "postponed" | "cancelled";
58
+ ground_condition: string | null;
59
+ official_page_url: string | null;
60
+ official_highlights_url: string | null;
61
+ home_team_interview_url: string | null;
62
+ away_team_interview_url: string | null;
63
+ weather: string | null;
64
+ venue: MatchVenue | null;
65
+ public_broadcast: boolean;
66
+ home_team: MatchTeamWithRanking;
67
+ away_team: MatchTeamWithRanking;
68
+ referee: string | null;
69
+ analysis: string | null;
70
+ golden_point: boolean | null;
71
+ home_team_dotpoints: string[] | null;
72
+ away_team_dotpoints: string[] | null;
73
+ update_24h: string | null;
74
+ update_1h: string | null;
75
+ home_team_final_score_f: number | null;
76
+ home_team_final_score_h: number | null;
77
+ away_team_final_score_f: number | null;
78
+ away_team_final_score_h: number | null;
79
+ home_team_possession: string | null;
80
+ away_team_possession: string | null;
81
+ scoring_events: ScoringEvent[];
82
+ }
83
+ /**
84
+ * Try overall location enum
85
+ */
86
+ export type TryOverallLocation = "left" | "middle" | "right";
87
+ /**
88
+ * Scoring type enum
89
+ */
90
+ export type ScoringType = "try" | "conversion" | "penalty_goal" | "field_goal_1pt" | "field_goal_2pt";
91
+ /**
92
+ * Player information for scoring events
93
+ * Contains player details plus lineup info (jersey number, captain)
94
+ */
95
+ export interface ScoringEventPlayer {
96
+ player_id: number;
97
+ first_name: string;
98
+ last_name: string;
99
+ image_default: string | null;
100
+ image_headshot: string | null;
101
+ competition_image_default: string | null;
102
+ competition_image_headshot: string | null;
103
+ jersey_number: number;
104
+ captain: boolean;
105
+ }
106
+ /**
107
+ * Single NRL scoring event
108
+ * Contains scoring data with player and positional information
109
+ */
110
+ export interface ScoringEvent {
111
+ side: "home" | "away";
112
+ player: ScoringEventPlayer;
113
+ sample_offset_s: number;
114
+ scoring_type: ScoringType;
115
+ try_score_x: number | null;
116
+ try_score_y: number | null;
117
+ break_x: number | null;
118
+ break_y: number | null;
119
+ kicking_x: number | null;
120
+ kicking_y: number | null;
121
+ kick_successful: boolean | null;
122
+ try_associated: number | null;
123
+ try_comments: string | null;
124
+ try_overall_location: TryOverallLocation | null;
125
+ }
126
+ /**
127
+ * Single H2H match result
128
+ * Contains the outcome of a previous match between two teams
129
+ */
130
+ export interface H2HMatchResult {
131
+ match_id: number;
132
+ slug: string;
133
+ home_team_id: number;
134
+ home_team_score: number;
135
+ away_team_id: number;
136
+ away_team_score: number;
137
+ winner: "home" | "away" | "draw";
138
+ round_text: string;
139
+ season_value: string;
140
+ }
141
+ /**
142
+ * Response type for GET /nrl/recent-performance-h2h
143
+ * Returns head-to-head statistics and recent match results between two teams
144
+ */
145
+ export interface GetH2HResponse {
146
+ home_team: MatchTeam;
147
+ away_team: MatchTeam;
148
+ home_team_wins: number;
149
+ away_team_wins: number;
150
+ draws: number;
151
+ results: H2HMatchResult[];
152
+ }
153
+ /**
154
+ * Single recent match result for a team's form
155
+ * Contains the outcome from the perspective of the team
156
+ */
157
+ export interface TeamRecentFormMatch {
158
+ match_id: number;
159
+ slug: string;
160
+ team_score: number;
161
+ opponent_score: number;
162
+ winner: "team" | "opponent" | "draw";
163
+ opponent_logo: string | null;
164
+ team_host: "home" | "away";
165
+ }
166
+ /**
167
+ * Team form data with details and recent performance
168
+ */
169
+ export interface TeamFormData {
170
+ details: MatchTeam;
171
+ recent_performance: TeamRecentFormMatch[];
172
+ }
173
+ /**
174
+ * Response type for GET /nrl/recent-performance-form
175
+ * Returns recent form for both teams in the context of the current match
176
+ */
177
+ export interface GetRecentFormResponse {
178
+ home_team: TeamFormData;
179
+ away_team: TeamFormData;
180
+ }
181
+ /**
182
+ * NRL position definition
183
+ * Contains both unadjusted (broad) and adjusted (specific) position names
184
+ */
185
+ export interface Position {
186
+ position_id: number;
187
+ unadjusted_position_name: string;
188
+ short_unadjusted_position_name: string;
189
+ adjusted_position_name: string;
190
+ short_adjusted_position_name: string;
191
+ }
192
+ /**
193
+ * Single lineup entry for a player
194
+ * Contains position information and player metadata
195
+ */
196
+ export interface LineupEntry {
197
+ lineup_entry_id: number;
198
+ player_id: number;
199
+ jersey_number: number;
200
+ captain: boolean;
201
+ original_position_id: number;
202
+ updated_position_id: number | null;
203
+ details: unknown[];
204
+ }
205
+ /**
206
+ * Team lineup data
207
+ * Contains team identification, team colour, and all player entries
208
+ */
209
+ export interface LineupTeam {
210
+ team_id: number;
211
+ side: "home" | "away";
212
+ colour: string;
213
+ entries: LineupEntry[];
214
+ }
215
+ /**
216
+ * Player details for lineup display
217
+ * Contains both global and competition-specific images
218
+ */
219
+ export interface LineupPlayer {
220
+ player_id: number;
221
+ slug: string;
222
+ first_name: string;
223
+ last_name: string;
224
+ image_headshot: string | null;
225
+ image_default: string | null;
226
+ competition_image_headshot: string | null;
227
+ competition_image_default: string | null;
228
+ }
229
+ /**
230
+ * Response type for GET /nrl/lineup/:match_id
231
+ * Returns comprehensive lineup information for both teams in an NRL match
232
+ *
233
+ * positions_adjusted is true only when ALL players have updated_position_id != null
234
+ * If any player has updated_position_id = null, positions_adjusted is false
235
+ * This acts as a validation guard for frontend rendering logic
236
+ *
237
+ * When lineup is not announced yet, entries arrays will be empty and players object will be {}
238
+ */
239
+ export interface GetLineupResponse {
240
+ match_id: number;
241
+ competition_id: number;
242
+ positions_adjusted: boolean;
243
+ positions: Position[];
244
+ teams: LineupTeam[];
245
+ players: Record<string, LineupPlayer>;
246
+ }
247
+ /**
248
+ * Season information for stats filter context (with round ranges)
249
+ * Used by scoring-by-position, scoring-map, and overs-unders filters
250
+ */
251
+ export interface StatsFilterContextSeason {
252
+ season_id: number;
253
+ value: string;
254
+ min_round: number;
255
+ max_round: number;
256
+ }
257
+ /**
258
+ * Season information for analytics filter context (no round ranges)
259
+ * Used by analytics-scoring and analytics-stats filters
260
+ * Analytics data is available for all seasons
261
+ */
262
+ export interface AnalyticsFilterContextSeason {
263
+ season_id: number;
264
+ value: string;
265
+ }
266
+ /**
267
+ * Filter configuration for stats endpoints (scoring-by-position, scoring-map, overs-unders)
268
+ */
269
+ export interface StatsFilterContextFilter {
270
+ filter_id: "scoring-by-position" | "scoring-map" | "overs-unders";
271
+ seasons: StatsFilterContextSeason[];
272
+ }
273
+ /**
274
+ * Filter configuration for analytics endpoints (analytics-scoring, analytics-stats)
275
+ */
276
+ export interface AnalyticsFilterContextFilter {
277
+ filter_id: "analytics-scoring" | "analytics-stats";
278
+ seasons: AnalyticsFilterContextSeason[];
279
+ }
280
+ /**
281
+ * Union type for all filter configurations
282
+ */
283
+ export type FilterContextFilter = StatsFilterContextFilter | AnalyticsFilterContextFilter;
284
+ /**
285
+ * Response type for GET /nrl/matches/filter-context/:match_id
286
+ * Returns available seasons and rounds for each filter type
287
+ * - Stats filters: Include min_round/max_round based on data availability
288
+ * - Analytics filters: Include all seasons (no round ranges needed)
289
+ */
290
+ export interface GetMatchFilterContextResponse {
291
+ match_id: number;
292
+ competition_id: number;
293
+ default_season_id: number;
294
+ default_season_id_value: string;
295
+ filters: FilterContextFilter[];
296
+ }
297
+ //# sourceMappingURL=matches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matches.d.ts","sourceRoot":"","sources":["../../../src/api/nrl/matches.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,280 @@
1
+ import { MatchTeam } from "../shared";
2
+ /**
3
+ * Mode for scoring by position query
4
+ * - season: Use the match's season, rounds 1 through last completed round
5
+ * - l5: Last 5 completed matches for each team across seasons
6
+ * - l10: Last 10 completed matches for each team across seasons
7
+ * - h2h: Last 3 head-to-head encounters between the two teams
8
+ * - rd: Custom round range with specified season_id, round_from, round_to
9
+ */
10
+ export type ScoringByPositionMode = "season" | "l5" | "l10" | "h2h" | "rd";
11
+ /**
12
+ * Selection context for scoring by position
13
+ * For l5/l10/h2h modes, all values will be null
14
+ * For season/rd modes, values will be populated
15
+ */
16
+ export interface ScoringByPositionSelection {
17
+ season_id: number | null;
18
+ season_value: string | null;
19
+ round_from: number | null;
20
+ round_to: number | null;
21
+ }
22
+ /**
23
+ * Scoring data by position for a team
24
+ * Contains scored and conceded points for each position
25
+ * Position keys are uppercase (LW, LC, L2R, FE, HLF, R2R, RC, RW, FB, PR, HK, LK)
26
+ */
27
+ export interface PositionScoring {
28
+ scored: Record<string, number>;
29
+ conceded: Record<string, number>;
30
+ }
31
+ /**
32
+ * Response type for GET /nrl/scoring-by-position/:match_id
33
+ * Returns scoring statistics by position for both teams
34
+ *
35
+ * Query params:
36
+ * - mode: season (default), l5, l10, h2h, rd
37
+ * - season_id: Required for rd mode, optional for season mode
38
+ * - round_from/round_to: Required for rd mode
39
+ *
40
+ * When a team has no data for the selected range (e.g., new team),
41
+ * all position values will be 0.
42
+ */
43
+ export interface GetScoringByPositionResponse {
44
+ match_id: number;
45
+ competition_id: number;
46
+ home_team: MatchTeam;
47
+ away_team: MatchTeam;
48
+ mode: ScoringByPositionMode;
49
+ selection: ScoringByPositionSelection;
50
+ /** Position codes in display order */
51
+ positions: string[];
52
+ home: PositionScoring;
53
+ away: PositionScoring;
54
+ }
55
+ /**
56
+ * Mode for scoring map query
57
+ * - season: Use the match's season, all completed rounds
58
+ * - l5: Last 5 completed matches for each team across seasons
59
+ * - l10: Last 10 completed matches for each team across seasons
60
+ * - rd: Custom round range with specified season_id, round_from, round_to
61
+ *
62
+ * Note: H2H mode is intentionally excluded due to ranking complexity
63
+ */
64
+ export type ScoringMapMode = "season" | "l5" | "l10" | "rd";
65
+ /**
66
+ * Side-specific attacking statistics
67
+ */
68
+ export interface AttackingSideStats {
69
+ /** Rank among all teams (1 = most tries scored on this side) */
70
+ rank: number;
71
+ /** Total tries scored on this side */
72
+ tries: number;
73
+ /** Percentage of team's total tries scored on this side */
74
+ percentageTotal: number;
75
+ }
76
+ /**
77
+ * Side-specific defending statistics
78
+ */
79
+ export interface DefendingSideStats {
80
+ /** Rank among all teams (1 = fewest tries conceded on this side) */
81
+ rank: number;
82
+ /** Total tries conceded on this side */
83
+ concededTries: number;
84
+ /** Percentage of team's total tries conceded on this side */
85
+ percentageTotal: number;
86
+ }
87
+ /**
88
+ * Overall attacking statistics
89
+ */
90
+ export interface AttackingOverallStats {
91
+ /** Rank among all teams (1 = most total tries) */
92
+ rank: number;
93
+ /** Total tries scored */
94
+ tries: number;
95
+ /** Average tries per game */
96
+ triesPerGame: number;
97
+ }
98
+ /**
99
+ * Overall defending statistics
100
+ */
101
+ export interface DefendingOverallStats {
102
+ /** Rank among all teams (1 = fewest total tries conceded) */
103
+ rank: number;
104
+ /** Total tries conceded */
105
+ concededTries: number;
106
+ /** Average tries conceded per game */
107
+ concededPerGame: number;
108
+ }
109
+ /**
110
+ * Attacking statistics for a team
111
+ */
112
+ export interface TeamAttacking {
113
+ leftSide: AttackingSideStats;
114
+ middle: AttackingSideStats;
115
+ rightSide: AttackingSideStats;
116
+ overall: AttackingOverallStats;
117
+ }
118
+ /**
119
+ * Defending statistics for a team
120
+ * Note: Sides are flipped from attacker's perspective
121
+ * If attacker scores on their left, defender conceded on their right
122
+ */
123
+ export interface TeamDefending {
124
+ leftSide: DefendingSideStats;
125
+ middle: DefendingSideStats;
126
+ rightSide: DefendingSideStats;
127
+ overall: DefendingOverallStats;
128
+ }
129
+ /**
130
+ * Complete scoring map for a single team
131
+ */
132
+ export interface TeamScoringMap {
133
+ team_id: number;
134
+ display_name: string;
135
+ display_name_short: string | null;
136
+ display_name_code: string | null;
137
+ logo: string | null;
138
+ colour: string;
139
+ /** Number of matches in the dataset for this team */
140
+ matches_played: number;
141
+ attacking: TeamAttacking;
142
+ defending: TeamDefending;
143
+ }
144
+ /**
145
+ * Selection context for scoring map
146
+ * For l5/l10 modes, all values will be null
147
+ * For season/rd modes, values will be populated
148
+ */
149
+ export interface ScoringMapSelection {
150
+ season_id: number | null;
151
+ season_value: string | null;
152
+ round_from: number | null;
153
+ round_to: number | null;
154
+ }
155
+ /**
156
+ * Response type for GET /nrl/scoring-map/:match_id
157
+ * Returns try scoring statistics by field location (left/middle/right) for both teams
158
+ *
159
+ * Query params:
160
+ * - mode: season (default), l5, l10, rd
161
+ * - season_id: Required for rd mode
162
+ * - round_from/round_to: Required for rd mode
163
+ *
164
+ * Rankings are calculated across all teams in the dataset.
165
+ * Teams with no data will have rank: 0 and all stats set to 0.
166
+ */
167
+ export interface GetScoringMapResponse {
168
+ match_id: number;
169
+ competition_id: number;
170
+ mode: ScoringMapMode;
171
+ selection: ScoringMapSelection;
172
+ /** Total number of teams included in rankings */
173
+ total_teams_in_ranking: number;
174
+ home_team: TeamScoringMap;
175
+ away_team: TeamScoringMap;
176
+ }
177
+ /**
178
+ * Mode for overs/unders query
179
+ * - season: Use the match's season, rounds 1 through last completed round
180
+ * - l5: Last 5 completed matches for each team across seasons
181
+ * - l10: Last 10 completed matches for each team across seasons
182
+ * - h2h: Last head-to-head encounters between the two teams
183
+ * - rd: Custom round range with specified season_id, round_from, round_to
184
+ */
185
+ export type OversUndersMode = "season" | "l5" | "l10" | "h2h" | "rd";
186
+ /**
187
+ * Selection context for overs/unders
188
+ * For l5/l10/h2h modes, all values will be null
189
+ * For season/rd modes, values will be populated
190
+ */
191
+ export interface OversUndersSelection {
192
+ season_id: number | null;
193
+ season_value: string | null;
194
+ round_from: number | null;
195
+ round_to: number | null;
196
+ }
197
+ /**
198
+ * Tags indicating opponent's current ladder position
199
+ * Based on the latest available ladder data (most recent season by start_date, latest round)
200
+ * Teams can have multiple tags (e.g., top_4 implies top_8)
201
+ */
202
+ export interface OpponentTags {
203
+ /** Opponent is currently ranked 1-4 */
204
+ top_4: boolean;
205
+ /** Opponent is currently ranked 1-8 */
206
+ top_8: boolean;
207
+ /** Opponent is currently ranked 9-17 */
208
+ bottom_9: boolean;
209
+ }
210
+ /**
211
+ * Individual match data in the overs/unders response
212
+ * Contains combined scores (team + opponent) for each half and full game
213
+ */
214
+ export interface OversUndersMatch {
215
+ match_id: number;
216
+ /** The opponent team's ID (for lookup in teams object) */
217
+ opponent_team_id: number;
218
+ /** Combined 1st half score (team's 1st half + opponent's 1st half) */
219
+ first_half_total: number;
220
+ /** Combined 2nd half score (team's 2nd half + opponent's 2nd half) */
221
+ second_half_total: number;
222
+ /** Combined full time score (team's final + opponent's final) */
223
+ full_time_total: number;
224
+ /** Tags for client-side filtering (vs Top 4, vs Top 8, vs Bottom 9) */
225
+ opponent_tags: OpponentTags;
226
+ }
227
+ /**
228
+ * Aggregated statistics for a team's historical matches
229
+ */
230
+ export interface OversUndersTeamStats {
231
+ /** Array of historical matches with scoring data */
232
+ matches: OversUndersMatch[];
233
+ /** Average scores across all matches (not filtered) */
234
+ averages: {
235
+ first_half: number;
236
+ second_half: number;
237
+ full_time: number;
238
+ };
239
+ }
240
+ /**
241
+ * Max values for y-axis chart labelling
242
+ * Separate values allow proper scaling when switching between views
243
+ */
244
+ export interface OversUndersMaxValues {
245
+ /** Highest 1st half score across all matches for both teams + 10 */
246
+ first_half: number;
247
+ /** Highest 2nd half score across all matches for both teams + 10 */
248
+ second_half: number;
249
+ /** Highest full time score across all matches for both teams + 10 */
250
+ full_time: number;
251
+ }
252
+ /**
253
+ * Response type for GET /nrl/overs-unders/:match_id
254
+ * Returns historical match scoring data for both teams
255
+ *
256
+ * Query params:
257
+ * - mode: season (default), l5, l10, h2h, rd
258
+ * - season_id: Required for rd mode
259
+ * - round_from/round_to: Required for rd mode
260
+ *
261
+ * Used by frontend to display interactive chart where users can
262
+ * drag a threshold line to see which matches went "over" or "under"
263
+ */
264
+ export interface GetOversUndersResponse {
265
+ match_id: number;
266
+ competition_id: number;
267
+ home_team: MatchTeam;
268
+ away_team: MatchTeam;
269
+ mode: OversUndersMode;
270
+ selection: OversUndersSelection;
271
+ /** Object mapping team_id to team info for quick lookup of opponent names */
272
+ teams: Record<number, MatchTeam>;
273
+ /** Home team's historical match data */
274
+ home: OversUndersTeamStats;
275
+ /** Away team's historical match data */
276
+ away: OversUndersTeamStats;
277
+ /** Max values for y-axis labelling (highest score + 10 for each category) */
278
+ max_values: OversUndersMaxValues;
279
+ }
280
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/api/nrl/stats.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};