mlbstats/api/api_game_pace.go

218 lines
9.4 KiB
Go
Raw Normal View History

2025-04-06 04:55:01 +00:00
/*
Copyright (C) 2025 filifa
This file is part of mlbstats.
mlbstats 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.
mlbstats 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
mlbstats. If not, see <https://www.gnu.org/licenses/>.
*/
/*
* Stats API Documentation
*
* Official API for Major League Baseball.
*
* API version: 2.0.0
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package api
import (
"context"
"github.com/antihax/optional"
"io/ioutil"
"net/http"
"net/url"
"scm.dairydemon.net/filifa/mlbstats/api/models"
"strings"
)
// Linger please
var (
_ context.Context
)
type GamePaceApiService service
/*
GamePaceApiService View time of game info
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param optional nil or *GamePaceApiGamePaceOpts - Optional Parameters:
* @param "Season" (optional.String) - Season of play
* @param "TeamId" (optional.Int32) - Unique Team Identifier. Format: 141, 147, etc
* @param "TeamIds" (optional.Interface of []int32) - Comma delimited list of Unique Team identifiers
* @param "LeagueId" (optional.Int32) - Unique League Identifier
* @param "LeagueIds" (optional.Interface of []int32) - Comma delimited list of Unique league identifiers
* @param "LeagueListId" (optional.Interface of LeagueListsEnum) - Unique League List Identifier
* @param "SportId" (optional.Int32) - Top level organization of a sport
* @param "SportIds" (optional.Interface of []int32) - Comma delimited list of top level organizations of a sport
* @param "GameType" (optional.Interface of models.GameTypeEnum) - Type of Game. Available types in /api/v1/gameTypes
* @param "StartDate" (optional.String) - Start date for range of data (must be used with end date). Format: MM/DD/YYYY
* @param "EndDate" (optional.String) - End date for range of data (must be used with start date). Format: MM/DD/YYYY
* @param "VenueIds" (optional.Interface of []int32) - Comma delimited list of Unique venue identifiers
* @param "ExcludeVenueIds" (optional.Interface of []int32) - Comma delimited list of Unique venue identifiers
* @param "ExcludeGamePks" (optional.Interface of []int32) - Comma delimited list of unique primary keys
* @param "OrgType" (optional.Interface of OrganizationType) - Organization level. Format: T(Team), L(League), S(Sport)
* @param "IncludeChildren" (optional.Bool) - Determines weather to include results from an organization&#x27;s children (ex. a sport would also include results for the teams and leagues)
* @param "Fields" (optional.Interface of []string) - Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute
@return models.GamePaceWrapperRestObject
*/
type GamePaceApiGamePaceOpts struct {
Season optional.String
TeamId optional.Int32
TeamIds optional.Interface
LeagueId optional.Int32
LeagueIds optional.Interface
LeagueListId optional.Interface
SportId optional.Int32
SportIds optional.Interface
GameType optional.Interface
StartDate optional.String
EndDate optional.String
VenueIds optional.Interface
ExcludeVenueIds optional.Interface
ExcludeGamePks optional.Interface
OrgType optional.Interface
IncludeChildren optional.Bool
Fields optional.Interface
}
func (a *GamePaceApiService) GamePace(ctx context.Context, localVarOptionals *GamePaceApiGamePaceOpts) (models.GamePaceWrapperRestObject, *http.Response, error) {
var (
localVarHttpMethod = strings.ToUpper("Get")
localVarPostBody interface{}
localVarFileName string
localVarFileBytes []byte
localVarReturnValue models.GamePaceWrapperRestObject
)
// create path and map variables
localVarPath := a.client.cfg.BasePath + "/api/v1/gamePace"
localVarHeaderParams := make(map[string]string)
localVarQueryParams := url.Values{}
localVarFormParams := url.Values{}
if localVarOptionals != nil && localVarOptionals.Season.IsSet() {
localVarQueryParams.Add("season", parameterToString(localVarOptionals.Season.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.TeamId.IsSet() {
localVarQueryParams.Add("teamId", parameterToString(localVarOptionals.TeamId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.TeamIds.IsSet() {
localVarQueryParams.Add("teamIds", parameterToString(localVarOptionals.TeamIds.Value(), "multi"))
}
if localVarOptionals != nil && localVarOptionals.LeagueId.IsSet() {
localVarQueryParams.Add("leagueId", parameterToString(localVarOptionals.LeagueId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.LeagueIds.IsSet() {
localVarQueryParams.Add("leagueIds", parameterToString(localVarOptionals.LeagueIds.Value(), "multi"))
}
if localVarOptionals != nil && localVarOptionals.LeagueListId.IsSet() {
localVarQueryParams.Add("leagueListId", parameterToString(localVarOptionals.LeagueListId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.SportId.IsSet() {
localVarQueryParams.Add("sportId", parameterToString(localVarOptionals.SportId.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.SportIds.IsSet() {
localVarQueryParams.Add("sportIds", parameterToString(localVarOptionals.SportIds.Value(), "multi"))
}
if localVarOptionals != nil && localVarOptionals.GameType.IsSet() {
localVarQueryParams.Add("gameType", parameterToString(localVarOptionals.GameType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.StartDate.IsSet() {
localVarQueryParams.Add("startDate", parameterToString(localVarOptionals.StartDate.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.EndDate.IsSet() {
localVarQueryParams.Add("endDate", parameterToString(localVarOptionals.EndDate.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.VenueIds.IsSet() {
localVarQueryParams.Add("venueIds", parameterToString(localVarOptionals.VenueIds.Value(), "multi"))
}
if localVarOptionals != nil && localVarOptionals.ExcludeVenueIds.IsSet() {
localVarQueryParams.Add("excludeVenueIds", parameterToString(localVarOptionals.ExcludeVenueIds.Value(), "multi"))
}
if localVarOptionals != nil && localVarOptionals.ExcludeGamePks.IsSet() {
localVarQueryParams.Add("excludeGamePks", parameterToString(localVarOptionals.ExcludeGamePks.Value(), "multi"))
}
if localVarOptionals != nil && localVarOptionals.OrgType.IsSet() {
localVarQueryParams.Add("orgType", parameterToString(localVarOptionals.OrgType.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.IncludeChildren.IsSet() {
localVarQueryParams.Add("includeChildren", parameterToString(localVarOptionals.IncludeChildren.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.Fields.IsSet() {
localVarQueryParams.Add("fields", parameterToString(localVarOptionals.Fields.Value(), "multi"))
}
// 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
}
r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
if err != nil {
return localVarReturnValue, nil, err
}
localVarHttpResponse, err := a.client.callAPI(r)
if err != nil || localVarHttpResponse == nil {
return localVarReturnValue, localVarHttpResponse, err
}
localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
localVarHttpResponse.Body.Close()
if err != nil {
return localVarReturnValue, localVarHttpResponse, err
}
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err == nil {
return localVarReturnValue, localVarHttpResponse, err
}
}
if localVarHttpResponse.StatusCode >= 300 {
newErr := GenericSwaggerError{
body: localVarBody,
error: localVarHttpResponse.Status,
}
if localVarHttpResponse.StatusCode == 200 {
var v models.GamePaceWrapperRestObject
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, nil
}