/* 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 . */ /* * 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'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 }