373 lines
11 KiB
Go
373 lines
11 KiB
Go
/*
|
|
Copyright © 2025 filifa
|
|
|
|
This program is free software: you can redistribute it and/or modify it under
|
|
the terms of the GNU General Public License as published by the Free Software
|
|
Foundation, either version 3 of the License, or (at your option) any later
|
|
version.
|
|
|
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along with
|
|
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
/*
|
|
Stats API Documentation
|
|
|
|
Official API for Major League Baseball.
|
|
|
|
API version: 2.0.0
|
|
*/
|
|
|
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
|
|
|
package api
|
|
|
|
import (
|
|
"bytes"
|
|
"context"
|
|
"io"
|
|
"net/http"
|
|
"net/url"
|
|
)
|
|
|
|
// StreaksAPIService StreaksAPI service
|
|
type StreaksAPIService service
|
|
|
|
type ApiGetStreaksRequest struct {
|
|
ctx context.Context
|
|
ApiService *StreaksAPIService
|
|
streakOrg *interface{}
|
|
streakStat *interface{}
|
|
streakSpan *interface{}
|
|
streakLevel *interface{}
|
|
streakThreshold *interface{}
|
|
inverse *interface{}
|
|
startersOnly *interface{}
|
|
statGroup *interface{}
|
|
gameType *interface{}
|
|
season *interface{}
|
|
teamId *interface{}
|
|
leagueId *interface{}
|
|
sportId *interface{}
|
|
activeStreak *interface{}
|
|
limit *interface{}
|
|
fields *interface{}
|
|
playerId *interface{}
|
|
}
|
|
|
|
func (r ApiGetStreaksRequest) StreakOrg(streakOrg interface{}) ApiGetStreaksRequest {
|
|
r.streakOrg = &streakOrg
|
|
return r
|
|
}
|
|
|
|
func (r ApiGetStreaksRequest) StreakStat(streakStat interface{}) ApiGetStreaksRequest {
|
|
r.streakStat = &streakStat
|
|
return r
|
|
}
|
|
|
|
func (r ApiGetStreaksRequest) StreakSpan(streakSpan interface{}) ApiGetStreaksRequest {
|
|
r.streakSpan = &streakSpan
|
|
return r
|
|
}
|
|
|
|
func (r ApiGetStreaksRequest) StreakLevel(streakLevel interface{}) ApiGetStreaksRequest {
|
|
r.streakLevel = &streakLevel
|
|
return r
|
|
}
|
|
|
|
func (r ApiGetStreaksRequest) StreakThreshold(streakThreshold interface{}) ApiGetStreaksRequest {
|
|
r.streakThreshold = &streakThreshold
|
|
return r
|
|
}
|
|
|
|
func (r ApiGetStreaksRequest) Inverse(inverse interface{}) ApiGetStreaksRequest {
|
|
r.inverse = &inverse
|
|
return r
|
|
}
|
|
|
|
func (r ApiGetStreaksRequest) StartersOnly(startersOnly interface{}) ApiGetStreaksRequest {
|
|
r.startersOnly = &startersOnly
|
|
return r
|
|
}
|
|
|
|
// Category of statistic to return. Available types in /api/v1/statGroups
|
|
func (r ApiGetStreaksRequest) StatGroup(statGroup interface{}) ApiGetStreaksRequest {
|
|
r.statGroup = &statGroup
|
|
return r
|
|
}
|
|
|
|
// Type of Game. Available types in /api/v1/gameTypes
|
|
func (r ApiGetStreaksRequest) GameType(gameType interface{}) ApiGetStreaksRequest {
|
|
r.gameType = &gameType
|
|
return r
|
|
}
|
|
|
|
// Season of play
|
|
func (r ApiGetStreaksRequest) Season(season interface{}) ApiGetStreaksRequest {
|
|
r.season = &season
|
|
return r
|
|
}
|
|
|
|
// Unique Team Identifier. Format: 141, 147, etc
|
|
func (r ApiGetStreaksRequest) TeamId(teamId interface{}) ApiGetStreaksRequest {
|
|
r.teamId = &teamId
|
|
return r
|
|
}
|
|
|
|
// Unique League Identifier
|
|
func (r ApiGetStreaksRequest) LeagueId(leagueId interface{}) ApiGetStreaksRequest {
|
|
r.leagueId = &leagueId
|
|
return r
|
|
}
|
|
|
|
// Top level organization of a sport
|
|
func (r ApiGetStreaksRequest) SportId(sportId interface{}) ApiGetStreaksRequest {
|
|
r.sportId = &sportId
|
|
return r
|
|
}
|
|
|
|
// Whether or not a player is active
|
|
func (r ApiGetStreaksRequest) ActiveStreak(activeStreak interface{}) ApiGetStreaksRequest {
|
|
r.activeStreak = &activeStreak
|
|
return r
|
|
}
|
|
|
|
// Number of results to return
|
|
func (r ApiGetStreaksRequest) Limit(limit interface{}) ApiGetStreaksRequest {
|
|
r.limit = &limit
|
|
return r
|
|
}
|
|
|
|
// Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute
|
|
func (r ApiGetStreaksRequest) Fields(fields interface{}) ApiGetStreaksRequest {
|
|
r.fields = &fields
|
|
return r
|
|
}
|
|
|
|
// A unique identifier for a player
|
|
func (r ApiGetStreaksRequest) PlayerId(playerId interface{}) ApiGetStreaksRequest {
|
|
r.playerId = &playerId
|
|
return r
|
|
}
|
|
|
|
func (r ApiGetStreaksRequest) Execute() (*http.Response, error) {
|
|
return r.ApiService.GetStreaksExecute(r)
|
|
}
|
|
|
|
/*
|
|
GetStreaks View streaks
|
|
|
|
@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
|
@return ApiGetStreaksRequest
|
|
*/
|
|
func (a *StreaksAPIService) GetStreaks(ctx context.Context) ApiGetStreaksRequest {
|
|
return ApiGetStreaksRequest{
|
|
ApiService: a,
|
|
ctx: ctx,
|
|
}
|
|
}
|
|
|
|
// Execute executes the request
|
|
func (a *StreaksAPIService) GetStreaksExecute(r ApiGetStreaksRequest) (*http.Response, error) {
|
|
var (
|
|
localVarHTTPMethod = http.MethodGet
|
|
localVarPostBody interface{}
|
|
formFiles []formFile
|
|
)
|
|
|
|
localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "StreaksAPIService.GetStreaks")
|
|
if err != nil {
|
|
return nil, &GenericOpenAPIError{error: err.Error()}
|
|
}
|
|
|
|
localVarPath := localBasePath + "/api/v1/streaks"
|
|
|
|
localVarHeaderParams := make(map[string]string)
|
|
localVarQueryParams := url.Values{}
|
|
localVarFormParams := url.Values{}
|
|
|
|
if r.streakOrg != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "streakOrg", r.streakOrg, "", "")
|
|
}
|
|
if r.streakStat != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "streakStat", r.streakStat, "", "")
|
|
}
|
|
if r.streakSpan != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "streakSpan", r.streakSpan, "", "")
|
|
}
|
|
if r.streakLevel != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "streakLevel", r.streakLevel, "", "")
|
|
}
|
|
if r.streakThreshold != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "streakThreshold", r.streakThreshold, "", "")
|
|
}
|
|
if r.inverse != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "inverse", r.inverse, "", "")
|
|
}
|
|
if r.startersOnly != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "startersOnly", r.startersOnly, "", "")
|
|
}
|
|
if r.statGroup != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "statGroup", r.statGroup, "", "")
|
|
}
|
|
if r.gameType != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "gameType", r.gameType, "", "")
|
|
}
|
|
if r.season != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "season", r.season, "", "")
|
|
}
|
|
if r.teamId != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "teamId", r.teamId, "", "")
|
|
}
|
|
if r.leagueId != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "leagueId", r.leagueId, "", "")
|
|
}
|
|
if r.sportId != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "sportId", r.sportId, "", "")
|
|
}
|
|
if r.activeStreak != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "activeStreak", r.activeStreak, "", "")
|
|
}
|
|
if r.limit != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "limit", r.limit, "", "")
|
|
}
|
|
if r.fields != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "fields", r.fields, "", "")
|
|
}
|
|
if r.playerId != nil {
|
|
parameterAddToHeaderOrQuery(localVarQueryParams, "playerId", r.playerId, "", "")
|
|
}
|
|
// to determine the Content-Type header
|
|
localVarHTTPContentTypes := []string{}
|
|
|
|
// set Content-Type header
|
|
localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
|
|
if localVarHTTPContentType != "" {
|
|
localVarHeaderParams["Content-Type"] = localVarHTTPContentType
|
|
}
|
|
|
|
// to determine the Accept header
|
|
localVarHTTPHeaderAccepts := []string{}
|
|
|
|
// set Accept header
|
|
localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
|
|
if localVarHTTPHeaderAccept != "" {
|
|
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
|
|
}
|
|
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
localVarHTTPResponse, err := a.client.callAPI(req)
|
|
if err != nil || localVarHTTPResponse == nil {
|
|
return localVarHTTPResponse, err
|
|
}
|
|
|
|
localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
|
|
localVarHTTPResponse.Body.Close()
|
|
localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
|
|
if err != nil {
|
|
return localVarHTTPResponse, err
|
|
}
|
|
|
|
if localVarHTTPResponse.StatusCode >= 300 {
|
|
newErr := &GenericOpenAPIError{
|
|
body: localVarBody,
|
|
error: localVarHTTPResponse.Status,
|
|
}
|
|
return localVarHTTPResponse, newErr
|
|
}
|
|
|
|
return localVarHTTPResponse, nil
|
|
}
|
|
|
|
type ApiStreakTypesRequest struct {
|
|
ctx context.Context
|
|
ApiService *StreaksAPIService
|
|
}
|
|
|
|
func (r ApiStreakTypesRequest) Execute() (*http.Response, error) {
|
|
return r.ApiService.StreakTypesExecute(r)
|
|
}
|
|
|
|
/*
|
|
StreakTypes View streaks parameter options
|
|
|
|
@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
|
@return ApiStreakTypesRequest
|
|
*/
|
|
func (a *StreaksAPIService) StreakTypes(ctx context.Context) ApiStreakTypesRequest {
|
|
return ApiStreakTypesRequest{
|
|
ApiService: a,
|
|
ctx: ctx,
|
|
}
|
|
}
|
|
|
|
// Execute executes the request
|
|
func (a *StreaksAPIService) StreakTypesExecute(r ApiStreakTypesRequest) (*http.Response, error) {
|
|
var (
|
|
localVarHTTPMethod = http.MethodGet
|
|
localVarPostBody interface{}
|
|
formFiles []formFile
|
|
)
|
|
|
|
localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "StreaksAPIService.StreakTypes")
|
|
if err != nil {
|
|
return nil, &GenericOpenAPIError{error: err.Error()}
|
|
}
|
|
|
|
localVarPath := localBasePath + "/api/v1/streaks/types"
|
|
|
|
localVarHeaderParams := make(map[string]string)
|
|
localVarQueryParams := url.Values{}
|
|
localVarFormParams := url.Values{}
|
|
|
|
// to determine the Content-Type header
|
|
localVarHTTPContentTypes := []string{}
|
|
|
|
// set Content-Type header
|
|
localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
|
|
if localVarHTTPContentType != "" {
|
|
localVarHeaderParams["Content-Type"] = localVarHTTPContentType
|
|
}
|
|
|
|
// to determine the Accept header
|
|
localVarHTTPHeaderAccepts := []string{}
|
|
|
|
// set Accept header
|
|
localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
|
|
if localVarHTTPHeaderAccept != "" {
|
|
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
|
|
}
|
|
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
localVarHTTPResponse, err := a.client.callAPI(req)
|
|
if err != nil || localVarHTTPResponse == nil {
|
|
return localVarHTTPResponse, err
|
|
}
|
|
|
|
localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
|
|
localVarHTTPResponse.Body.Close()
|
|
localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
|
|
if err != nil {
|
|
return localVarHTTPResponse, err
|
|
}
|
|
|
|
if localVarHTTPResponse.StatusCode >= 300 {
|
|
newErr := &GenericOpenAPIError{
|
|
body: localVarBody,
|
|
error: localVarHTTPResponse.Status,
|
|
}
|
|
return localVarHTTPResponse, newErr
|
|
}
|
|
|
|
return localVarHTTPResponse, nil
|
|
}
|