1268 lines
55 KiB
Go
1268 lines
55 KiB
Go
/*
|
|
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"
|
|
"fmt"
|
|
"github.com/antihax/optional"
|
|
"io/ioutil"
|
|
"net/http"
|
|
"net/url"
|
|
"scm.dairydemon.net/filifa/mlbstats/api/models"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
// Linger please
|
|
var (
|
|
_ context.Context
|
|
)
|
|
|
|
type PersonApiService service
|
|
|
|
/*
|
|
PersonApiService View a player's awards
|
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
|
* @param personId Unique Player Identifier. Format: 434538, 429665, etc
|
|
* @param optional nil or *PersonApiAwardOpts - Optional Parameters:
|
|
* @param "Fields" (optional.Interface of []string) - Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute
|
|
@return models.AwardsRestObject
|
|
*/
|
|
|
|
type PersonApiAwardOpts struct {
|
|
Fields optional.Interface
|
|
}
|
|
|
|
func (a *PersonApiService) Award(ctx context.Context, personId int32, localVarOptionals *PersonApiAwardOpts) (models.AwardsRestObject, *http.Response, error) {
|
|
var (
|
|
localVarHttpMethod = strings.ToUpper("Get")
|
|
localVarPostBody interface{}
|
|
localVarFileName string
|
|
localVarFileBytes []byte
|
|
localVarReturnValue models.AwardsRestObject
|
|
)
|
|
|
|
// create path and map variables
|
|
localVarPath := a.client.cfg.BasePath + "/api/v1/people/{personId}/awards"
|
|
localVarPath = strings.Replace(localVarPath, "{"+"personId"+"}", fmt.Sprintf("%v", personId), -1)
|
|
|
|
localVarHeaderParams := make(map[string]string)
|
|
localVarQueryParams := url.Values{}
|
|
localVarFormParams := url.Values{}
|
|
|
|
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.AwardsRestObject
|
|
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
|
|
}
|
|
|
|
/*
|
|
PersonApiService View a player's change log
|
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
|
* @param updatedSince Format: YYYY-MM-DDTHH:MM:SSZ
|
|
* @param optional nil or *PersonApiCurrentGameStatsOpts - Optional Parameters:
|
|
* @param "Limit" (optional.Int32) - Number of results to return
|
|
* @param "Offset" (optional.Int32) - The pointer to start for a return set; used for pagination
|
|
* @param "Accent" (optional.Bool) - Boolean value to specify wanting a person's name with accents or without
|
|
* @param "Fields" (optional.Interface of []string) - Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute
|
|
@return models.PeopleRestObject
|
|
*/
|
|
|
|
type PersonApiCurrentGameStatsOpts struct {
|
|
Limit optional.Int32
|
|
Offset optional.Int32
|
|
Accent optional.Bool
|
|
Fields optional.Interface
|
|
}
|
|
|
|
func (a *PersonApiService) CurrentGameStats(ctx context.Context, updatedSince time.Time, localVarOptionals *PersonApiCurrentGameStatsOpts) (models.PeopleRestObject, *http.Response, error) {
|
|
var (
|
|
localVarHttpMethod = strings.ToUpper("Get")
|
|
localVarPostBody interface{}
|
|
localVarFileName string
|
|
localVarFileBytes []byte
|
|
localVarReturnValue models.PeopleRestObject
|
|
)
|
|
|
|
// create path and map variables
|
|
localVarPath := a.client.cfg.BasePath + "/api/v1/people/changes"
|
|
|
|
localVarHeaderParams := make(map[string]string)
|
|
localVarQueryParams := url.Values{}
|
|
localVarFormParams := url.Values{}
|
|
|
|
localVarQueryParams.Add("updatedSince", parameterToString(updatedSince, ""))
|
|
if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
|
|
localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Offset.IsSet() {
|
|
localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Accent.IsSet() {
|
|
localVarQueryParams.Add("accent", parameterToString(localVarOptionals.Accent.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.PeopleRestObject
|
|
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
|
|
}
|
|
|
|
/*
|
|
PersonApiService Get free agents
|
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
|
* @param season Season of play
|
|
* @param optional nil or *PersonApiFreeAgentsOpts - Optional Parameters:
|
|
* @param "Order" (optional.Interface of SortOrderEnum) - The order of sorting, ascending or descending
|
|
* @param "Accent" (optional.Bool) - Boolean value to specify wanting a person's name with accents or without
|
|
* @param "Fields" (optional.Interface of []string) -
|
|
@return models.FreeAgentListRestObject
|
|
*/
|
|
|
|
type PersonApiFreeAgentsOpts struct {
|
|
Order optional.Interface
|
|
Accent optional.Bool
|
|
Fields optional.Interface
|
|
}
|
|
|
|
func (a *PersonApiService) FreeAgents(ctx context.Context, season string, localVarOptionals *PersonApiFreeAgentsOpts) (models.FreeAgentListRestObject, *http.Response, error) {
|
|
var (
|
|
localVarHttpMethod = strings.ToUpper("Get")
|
|
localVarPostBody interface{}
|
|
localVarFileName string
|
|
localVarFileBytes []byte
|
|
localVarReturnValue models.FreeAgentListRestObject
|
|
)
|
|
|
|
// create path and map variables
|
|
localVarPath := a.client.cfg.BasePath + "/api/v1/people/freeAgents"
|
|
|
|
localVarHeaderParams := make(map[string]string)
|
|
localVarQueryParams := url.Values{}
|
|
localVarFormParams := url.Values{}
|
|
|
|
localVarQueryParams.Add("season", parameterToString(season, ""))
|
|
if localVarOptionals != nil && localVarOptionals.Order.IsSet() {
|
|
localVarQueryParams.Add("order", parameterToString(localVarOptionals.Order.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Accent.IsSet() {
|
|
localVarQueryParams.Add("accent", parameterToString(localVarOptionals.Accent.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.FreeAgentListRestObject
|
|
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
|
|
}
|
|
|
|
/*
|
|
PersonApiService View a player
|
|
This endpoint allows you to pull the information of players
|
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
|
* @param personId Unique Player Identifier. Format: 434538, 429665, etc
|
|
* @param optional nil or *PersonApiPersonOpts - Optional Parameters:
|
|
* @param "PersonIds" (optional.Interface of []int32) - Comma delimited list of person ID. Format: 1234, 2345
|
|
* @param "Accent" (optional.Bool) - Boolean value to specify wanting a person's name with accents or without
|
|
* @param "Season" (optional.String) - Season of play
|
|
* @param "Group" (optional.Interface of []StatGroup) - Category of statistic to return. Available types in /api/v1/statGroups
|
|
* @param "Fields" (optional.Interface of []string) - Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute
|
|
@return models.PeopleRestObject
|
|
*/
|
|
|
|
type PersonApiPersonOpts struct {
|
|
PersonIds optional.Interface
|
|
Accent optional.Bool
|
|
Season optional.String
|
|
Group optional.Interface
|
|
Fields optional.Interface
|
|
}
|
|
|
|
func (a *PersonApiService) Person(ctx context.Context, personId int32, localVarOptionals *PersonApiPersonOpts) (models.PeopleRestObject, *http.Response, error) {
|
|
var (
|
|
localVarHttpMethod = strings.ToUpper("Get")
|
|
localVarPostBody interface{}
|
|
localVarFileName string
|
|
localVarFileBytes []byte
|
|
localVarReturnValue models.PeopleRestObject
|
|
)
|
|
|
|
// create path and map variables
|
|
localVarPath := a.client.cfg.BasePath + "/api/v1/people/{personId}"
|
|
localVarPath = strings.Replace(localVarPath, "{"+"personId"+"}", fmt.Sprintf("%v", personId), -1)
|
|
|
|
localVarHeaderParams := make(map[string]string)
|
|
localVarQueryParams := url.Values{}
|
|
localVarFormParams := url.Values{}
|
|
|
|
if localVarOptionals != nil && localVarOptionals.PersonIds.IsSet() {
|
|
localVarQueryParams.Add("personIds", parameterToString(localVarOptionals.PersonIds.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Accent.IsSet() {
|
|
localVarQueryParams.Add("accent", parameterToString(localVarOptionals.Accent.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Season.IsSet() {
|
|
localVarQueryParams.Add("season", parameterToString(localVarOptionals.Season.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Group.IsSet() {
|
|
localVarQueryParams.Add("group", parameterToString(localVarOptionals.Group.Value(), "multi"))
|
|
}
|
|
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.PeopleRestObject
|
|
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
|
|
}
|
|
|
|
/*
|
|
PersonApiService View a player
|
|
This endpoint allows you to pull the information of players
|
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
|
* @param personId Unique Player Identifier. Format: 434538, 429665, etc
|
|
* @param optional nil or *PersonApiPerson1Opts - Optional Parameters:
|
|
* @param "PersonIds" (optional.Interface of []int32) - Comma delimited list of person ID. Format: 1234, 2345
|
|
* @param "Accent" (optional.Bool) - Boolean value to specify wanting a person's name with accents or without
|
|
* @param "Season" (optional.String) - Season of play
|
|
* @param "Group" (optional.Interface of []StatGroup) - Category of statistic to return. Available types in /api/v1/statGroups
|
|
* @param "Fields" (optional.Interface of []string) - Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute
|
|
@return models.PeopleRestObject
|
|
*/
|
|
|
|
type PersonApiPerson1Opts struct {
|
|
PersonIds optional.Interface
|
|
Accent optional.Bool
|
|
Season optional.String
|
|
Group optional.Interface
|
|
Fields optional.Interface
|
|
}
|
|
|
|
func (a *PersonApiService) Person1(ctx context.Context, personId int32, localVarOptionals *PersonApiPerson1Opts) (models.PeopleRestObject, *http.Response, error) {
|
|
var (
|
|
localVarHttpMethod = strings.ToUpper("Get")
|
|
localVarPostBody interface{}
|
|
localVarFileName string
|
|
localVarFileBytes []byte
|
|
localVarReturnValue models.PeopleRestObject
|
|
)
|
|
|
|
// create path and map variables
|
|
localVarPath := a.client.cfg.BasePath + "/api/v1/people"
|
|
localVarPath = strings.Replace(localVarPath, "{"+"personId"+"}", fmt.Sprintf("%v", personId), -1)
|
|
|
|
localVarHeaderParams := make(map[string]string)
|
|
localVarQueryParams := url.Values{}
|
|
localVarFormParams := url.Values{}
|
|
|
|
if localVarOptionals != nil && localVarOptionals.PersonIds.IsSet() {
|
|
localVarQueryParams.Add("personIds", parameterToString(localVarOptionals.PersonIds.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Accent.IsSet() {
|
|
localVarQueryParams.Add("accent", parameterToString(localVarOptionals.Accent.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Season.IsSet() {
|
|
localVarQueryParams.Add("season", parameterToString(localVarOptionals.Season.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Group.IsSet() {
|
|
localVarQueryParams.Add("group", parameterToString(localVarOptionals.Group.Value(), "multi"))
|
|
}
|
|
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.PeopleRestObject
|
|
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
|
|
}
|
|
|
|
/*
|
|
PersonApiService View a player's game stats
|
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
|
* @param personId Unique Player Identifier. Format: 434538, 429665, etc
|
|
* @param gamePk Unique Primary Key Representing a Game
|
|
* @param optional nil or *PersonApiPlayerGameStatsOpts - Optional Parameters:
|
|
* @param "Group" (optional.Interface of []StatGroup) - Category of statistic to return. Available types in /api/v1/statGroups
|
|
* @param "Fields" (optional.Interface of []string) - Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute
|
|
@return models.StatsRestObject
|
|
*/
|
|
|
|
type PersonApiPlayerGameStatsOpts struct {
|
|
Group optional.Interface
|
|
Fields optional.Interface
|
|
}
|
|
|
|
func (a *PersonApiService) PlayerGameStats(ctx context.Context, personId int32, gamePk int32, localVarOptionals *PersonApiPlayerGameStatsOpts) (models.StatsRestObject, *http.Response, error) {
|
|
var (
|
|
localVarHttpMethod = strings.ToUpper("Get")
|
|
localVarPostBody interface{}
|
|
localVarFileName string
|
|
localVarFileBytes []byte
|
|
localVarReturnValue models.StatsRestObject
|
|
)
|
|
|
|
// create path and map variables
|
|
localVarPath := a.client.cfg.BasePath + "/api/v1/people/{personId}/stats/game/{gamePk}"
|
|
localVarPath = strings.Replace(localVarPath, "{"+"personId"+"}", fmt.Sprintf("%v", personId), -1)
|
|
localVarPath = strings.Replace(localVarPath, "{"+"gamePk"+"}", fmt.Sprintf("%v", gamePk), -1)
|
|
|
|
localVarHeaderParams := make(map[string]string)
|
|
localVarQueryParams := url.Values{}
|
|
localVarFormParams := url.Values{}
|
|
|
|
if localVarOptionals != nil && localVarOptionals.Group.IsSet() {
|
|
localVarQueryParams.Add("group", parameterToString(localVarOptionals.Group.Value(), "multi"))
|
|
}
|
|
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.StatsRestObject
|
|
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
|
|
}
|
|
|
|
/*
|
|
PersonApiService Search for a player by name
|
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
|
* @param optional nil or *PersonApiSearchOpts - Optional Parameters:
|
|
* @param "Names" (optional.Interface of []string) - Name a player uses
|
|
* @param "PersonIds" (optional.Interface of []int32) - Comma delimited list of person ID. Format: 1234, 2345
|
|
* @param "SportIds" (optional.Interface of []int32) - Comma delimited list of top level organizations of a sport
|
|
* @param "LeagueIds" (optional.Interface of []int32) - Comma delimited list of Unique league identifiers
|
|
* @param "TeamIds" (optional.Interface of []int32) - Comma delimited list of Unique Team identifiers
|
|
* @param "LeagueListId" (optional.Interface of LeagueListsEnum) - Unique League List Identifier
|
|
* @param "Active" (optional.Bool) - Whether or not a player is active
|
|
* @param "Verified" (optional.Bool) - Complete and confirmed all biographical data
|
|
* @param "Rookie" (optional.Bool) - Whether or not a player is a rookie
|
|
* @param "Seasons" (optional.Interface of []string) - Comma delimited list of Seasons of play
|
|
* @param "Fields" (optional.Interface of []string) - Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute
|
|
* @param "Accent" (optional.Bool) - Boolean value to specify wanting a person's name with accents or without
|
|
* @param "Limit" (optional.Int32) - Number of results to return
|
|
@return models.PeopleRestObject
|
|
*/
|
|
|
|
type PersonApiSearchOpts struct {
|
|
Names optional.Interface
|
|
PersonIds optional.Interface
|
|
SportIds optional.Interface
|
|
LeagueIds optional.Interface
|
|
TeamIds optional.Interface
|
|
LeagueListId optional.Interface
|
|
Active optional.Bool
|
|
Verified optional.Bool
|
|
Rookie optional.Bool
|
|
Seasons optional.Interface
|
|
Fields optional.Interface
|
|
Accent optional.Bool
|
|
Limit optional.Int32
|
|
}
|
|
|
|
func (a *PersonApiService) Search(ctx context.Context, localVarOptionals *PersonApiSearchOpts) (models.PeopleRestObject, *http.Response, error) {
|
|
var (
|
|
localVarHttpMethod = strings.ToUpper("Get")
|
|
localVarPostBody interface{}
|
|
localVarFileName string
|
|
localVarFileBytes []byte
|
|
localVarReturnValue models.PeopleRestObject
|
|
)
|
|
|
|
// create path and map variables
|
|
localVarPath := a.client.cfg.BasePath + "/api/v1/people/search"
|
|
|
|
localVarHeaderParams := make(map[string]string)
|
|
localVarQueryParams := url.Values{}
|
|
localVarFormParams := url.Values{}
|
|
|
|
if localVarOptionals != nil && localVarOptionals.Names.IsSet() {
|
|
localVarQueryParams.Add("names", parameterToString(localVarOptionals.Names.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.PersonIds.IsSet() {
|
|
localVarQueryParams.Add("personIds", parameterToString(localVarOptionals.PersonIds.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.SportIds.IsSet() {
|
|
localVarQueryParams.Add("sportIds", parameterToString(localVarOptionals.SportIds.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.LeagueIds.IsSet() {
|
|
localVarQueryParams.Add("leagueIds", parameterToString(localVarOptionals.LeagueIds.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.TeamIds.IsSet() {
|
|
localVarQueryParams.Add("teamIds", parameterToString(localVarOptionals.TeamIds.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.LeagueListId.IsSet() {
|
|
localVarQueryParams.Add("leagueListId", parameterToString(localVarOptionals.LeagueListId.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Active.IsSet() {
|
|
localVarQueryParams.Add("active", parameterToString(localVarOptionals.Active.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Verified.IsSet() {
|
|
localVarQueryParams.Add("verified", parameterToString(localVarOptionals.Verified.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Rookie.IsSet() {
|
|
localVarQueryParams.Add("rookie", parameterToString(localVarOptionals.Rookie.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Seasons.IsSet() {
|
|
localVarQueryParams.Add("seasons", parameterToString(localVarOptionals.Seasons.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Fields.IsSet() {
|
|
localVarQueryParams.Add("fields", parameterToString(localVarOptionals.Fields.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Accent.IsSet() {
|
|
localVarQueryParams.Add("accent", parameterToString(localVarOptionals.Accent.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
|
|
localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
|
|
}
|
|
// 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.PeopleRestObject
|
|
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
|
|
}
|
|
|
|
/*
|
|
PersonApiService View a players stats
|
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
|
* @param personId Unique Player Identifier. Format: 434538, 429665, etc
|
|
* @param stats Type of statistics. Format: Individual, Team, Career, etc. Available types in /api/v1/statTypes
|
|
* @param optional nil or *PersonApiStats3Opts - Optional Parameters:
|
|
* @param "Group" (optional.Interface of []StatGroup) - Category of statistic to return. Available types in /api/v1/statGroups
|
|
* @param "Season" (optional.String) - Season of play
|
|
* @param "Seasons" (optional.Interface of []string) - Comma delimited list of Seasons of play
|
|
* @param "SportId" (optional.Int32) - Top level organization of a sport
|
|
* @param "OpposingTeamId" (optional.Int32) - A unique identifier for the opposing team. Must be used with Team ID
|
|
* @param "OpposingPlayerId" (optional.Int32) - A unique identifier for the opposing team
|
|
* @param "Metrics" (optional.Interface of []MetricType) - Name of metric(s) for metric log stats. Available metrics in /api/v1/metrics
|
|
* @param "LeagueId" (optional.Int32) - Unique League Identifier
|
|
* @param "LeagueListId" (optional.Interface of LeagueListsEnum) - Unique League List Identifier
|
|
* @param "SitCodes" (optional.Interface of []string) - Situation code for a given stat split.
|
|
* @param "CombineSits" (optional.Bool) - If true, gathers stats where all of the situational criteria are met. If false, returns stats where any of the situational criteria are met. Default: false
|
|
* @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 "DaysBack" (optional.Int32) - Returns results from the last 'X' days (Starting from yesterday).
|
|
* @param "GamesBack" (optional.Int32) - Returns results from the last 'X' games played.
|
|
* @param "Limit" (optional.Int32) - Number of results to return
|
|
* @param "EventType" (optional.Interface of []EventType) - Type of event
|
|
* @param "PitchType" (optional.Interface of []string) - Classification of pitch (fastball, curveball, etc...)
|
|
* @param "HitTrajectory" (optional.Interface of []HitTrajectory) - Trajectory of hit (line drive, fly ball, etc...)
|
|
* @param "BatSide" (optional.String) - Bat side of hitter
|
|
* @param "GameType" (optional.Interface of []models.GameTypeEnum) - Type of Game. Available types in /api/v1/gameTypes
|
|
* @param "GroupBy" (optional.Interface of []models.GroupByEnum) - Group stats by PLAYER, TEAM, SEASON, VENUE, SPORT or STAT_GROUP
|
|
* @param "Accent" (optional.Bool) - Boolean value to specify wanting a person's name with accents or without
|
|
* @param "Fields" (optional.Interface of []string) - Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute
|
|
@return models.StatsRestObject
|
|
*/
|
|
|
|
type PersonApiStats3Opts struct {
|
|
Group optional.Interface
|
|
Season optional.String
|
|
Seasons optional.Interface
|
|
SportId optional.Int32
|
|
OpposingTeamId optional.Int32
|
|
OpposingPlayerId optional.Int32
|
|
Metrics optional.Interface
|
|
LeagueId optional.Int32
|
|
LeagueListId optional.Interface
|
|
SitCodes optional.Interface
|
|
CombineSits optional.Bool
|
|
StartDate optional.String
|
|
EndDate optional.String
|
|
DaysBack optional.Int32
|
|
GamesBack optional.Int32
|
|
Limit optional.Int32
|
|
EventType optional.Interface
|
|
PitchType optional.Interface
|
|
HitTrajectory optional.Interface
|
|
BatSide optional.String
|
|
GameType optional.Interface
|
|
GroupBy optional.Interface
|
|
Accent optional.Bool
|
|
Fields optional.Interface
|
|
}
|
|
|
|
func (a *PersonApiService) Stats3(ctx context.Context, personId int32, stats []models.StatType, localVarOptionals *PersonApiStats3Opts) (models.StatsRestObject, *http.Response, error) {
|
|
var (
|
|
localVarHttpMethod = strings.ToUpper("Get")
|
|
localVarPostBody interface{}
|
|
localVarFileName string
|
|
localVarFileBytes []byte
|
|
localVarReturnValue models.StatsRestObject
|
|
)
|
|
|
|
// create path and map variables
|
|
localVarPath := a.client.cfg.BasePath + "/api/v1/people/{personId}/stats"
|
|
localVarPath = strings.Replace(localVarPath, "{"+"personId"+"}", fmt.Sprintf("%v", personId), -1)
|
|
|
|
localVarHeaderParams := make(map[string]string)
|
|
localVarQueryParams := url.Values{}
|
|
localVarFormParams := url.Values{}
|
|
|
|
localVarQueryParams.Add("stats", parameterToString(stats, "multi"))
|
|
if localVarOptionals != nil && localVarOptionals.Group.IsSet() {
|
|
localVarQueryParams.Add("group", parameterToString(localVarOptionals.Group.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Season.IsSet() {
|
|
localVarQueryParams.Add("season", parameterToString(localVarOptionals.Season.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Seasons.IsSet() {
|
|
localVarQueryParams.Add("seasons", parameterToString(localVarOptionals.Seasons.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.SportId.IsSet() {
|
|
localVarQueryParams.Add("sportId", parameterToString(localVarOptionals.SportId.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.OpposingTeamId.IsSet() {
|
|
localVarQueryParams.Add("opposingTeamId", parameterToString(localVarOptionals.OpposingTeamId.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.OpposingPlayerId.IsSet() {
|
|
localVarQueryParams.Add("opposingPlayerId", parameterToString(localVarOptionals.OpposingPlayerId.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Metrics.IsSet() {
|
|
localVarQueryParams.Add("metrics", parameterToString(localVarOptionals.Metrics.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.LeagueId.IsSet() {
|
|
localVarQueryParams.Add("leagueId", parameterToString(localVarOptionals.LeagueId.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.LeagueListId.IsSet() {
|
|
localVarQueryParams.Add("leagueListId", parameterToString(localVarOptionals.LeagueListId.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.SitCodes.IsSet() {
|
|
localVarQueryParams.Add("sitCodes", parameterToString(localVarOptionals.SitCodes.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.CombineSits.IsSet() {
|
|
localVarQueryParams.Add("combineSits", parameterToString(localVarOptionals.CombineSits.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.DaysBack.IsSet() {
|
|
localVarQueryParams.Add("daysBack", parameterToString(localVarOptionals.DaysBack.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.GamesBack.IsSet() {
|
|
localVarQueryParams.Add("gamesBack", parameterToString(localVarOptionals.GamesBack.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
|
|
localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.EventType.IsSet() {
|
|
localVarQueryParams.Add("eventType", parameterToString(localVarOptionals.EventType.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.PitchType.IsSet() {
|
|
localVarQueryParams.Add("pitchType", parameterToString(localVarOptionals.PitchType.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.HitTrajectory.IsSet() {
|
|
localVarQueryParams.Add("hitTrajectory", parameterToString(localVarOptionals.HitTrajectory.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.BatSide.IsSet() {
|
|
localVarQueryParams.Add("batSide", parameterToString(localVarOptionals.BatSide.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.GameType.IsSet() {
|
|
localVarQueryParams.Add("gameType", parameterToString(localVarOptionals.GameType.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.GroupBy.IsSet() {
|
|
localVarQueryParams.Add("groupBy", parameterToString(localVarOptionals.GroupBy.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Accent.IsSet() {
|
|
localVarQueryParams.Add("accent", parameterToString(localVarOptionals.Accent.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.StatsRestObject
|
|
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
|
|
}
|
|
|
|
/*
|
|
PersonApiService View a player's stat metrics
|
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
|
* @param personId Unique Player Identifier. Format: 434538, 429665, etc
|
|
* @param stats Type of statistics. Format: Individual, Team, Career, etc. Available types in /api/v1/statTypes
|
|
* @param optional nil or *PersonApiStatsMetricsOpts - Optional Parameters:
|
|
* @param "Group" (optional.Interface of []StatGroup) - Category of statistic to return. Available types in /api/v1/statGroups
|
|
* @param "Season" (optional.String) - Season of play
|
|
* @param "Seasons" (optional.Interface of []string) - Comma delimited list of Seasons of play
|
|
* @param "SportId" (optional.Int32) - Top level organization of a sport
|
|
* @param "OpposingTeamId" (optional.Int32) - A unique identifier for the opposing team. Must be used with Team ID
|
|
* @param "OpposingPlayerId" (optional.Int32) - A unique identifier for the opposing team
|
|
* @param "Metrics" (optional.Interface of []MetricType) - Name of metric(s) for metric log stats. Available metrics in /api/v1/metrics
|
|
* @param "LeagueId" (optional.Int32) - Unique League Identifier
|
|
* @param "LeagueListId" (optional.Interface of LeagueListsEnum) - Unique League List Identifier
|
|
* @param "SitCodes" (optional.Interface of []string) - Situation code for a given stat split.
|
|
* @param "CombineSits" (optional.Bool) - If true, gathers stats where all of the situational criteria are met. If false, returns stats where any of the situational criteria are met. Default: false
|
|
* @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 "DaysBack" (optional.Int32) - Returns results from the last 'X' days (Starting from yesterday).
|
|
* @param "GamesBack" (optional.Int32) - Returns results from the last 'X' games played.
|
|
* @param "Limit" (optional.Int32) - Number of results to return
|
|
* @param "EventType" (optional.Interface of []EventType) - Type of event
|
|
* @param "PitchType" (optional.Interface of []string) - Classification of pitch (fastball, curveball, etc...)
|
|
* @param "HitTrajectory" (optional.Interface of []HitTrajectory) - Trajectory of hit (line drive, fly ball, etc...)
|
|
* @param "BatSide" (optional.String) - Bat side of hitter
|
|
* @param "GameType" (optional.Interface of []models.GameTypeEnum) - Type of Game. Available types in /api/v1/gameTypes
|
|
* @param "GroupBy" (optional.Interface of []models.GroupByEnum) - Group stats by PLAYER, TEAM, SEASON, VENUE, SPORT or STAT_GROUP
|
|
* @param "Accent" (optional.Bool) - Boolean value to specify wanting a person's name with accents or without
|
|
* @param "Fields" (optional.Interface of []string) - Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute
|
|
@return models.StatsRestObject
|
|
*/
|
|
|
|
type PersonApiStatsMetricsOpts struct {
|
|
Group optional.Interface
|
|
Season optional.String
|
|
Seasons optional.Interface
|
|
SportId optional.Int32
|
|
OpposingTeamId optional.Int32
|
|
OpposingPlayerId optional.Int32
|
|
Metrics optional.Interface
|
|
LeagueId optional.Int32
|
|
LeagueListId optional.Interface
|
|
SitCodes optional.Interface
|
|
CombineSits optional.Bool
|
|
StartDate optional.String
|
|
EndDate optional.String
|
|
DaysBack optional.Int32
|
|
GamesBack optional.Int32
|
|
Limit optional.Int32
|
|
EventType optional.Interface
|
|
PitchType optional.Interface
|
|
HitTrajectory optional.Interface
|
|
BatSide optional.String
|
|
GameType optional.Interface
|
|
GroupBy optional.Interface
|
|
Accent optional.Bool
|
|
Fields optional.Interface
|
|
}
|
|
|
|
func (a *PersonApiService) StatsMetrics(ctx context.Context, personId int32, stats []models.StatType, localVarOptionals *PersonApiStatsMetricsOpts) (models.StatsRestObject, *http.Response, error) {
|
|
var (
|
|
localVarHttpMethod = strings.ToUpper("Get")
|
|
localVarPostBody interface{}
|
|
localVarFileName string
|
|
localVarFileBytes []byte
|
|
localVarReturnValue models.StatsRestObject
|
|
)
|
|
|
|
// create path and map variables
|
|
localVarPath := a.client.cfg.BasePath + "/api/v1/people/{personId}/stats/metrics"
|
|
localVarPath = strings.Replace(localVarPath, "{"+"personId"+"}", fmt.Sprintf("%v", personId), -1)
|
|
|
|
localVarHeaderParams := make(map[string]string)
|
|
localVarQueryParams := url.Values{}
|
|
localVarFormParams := url.Values{}
|
|
|
|
localVarQueryParams.Add("stats", parameterToString(stats, "multi"))
|
|
if localVarOptionals != nil && localVarOptionals.Group.IsSet() {
|
|
localVarQueryParams.Add("group", parameterToString(localVarOptionals.Group.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Season.IsSet() {
|
|
localVarQueryParams.Add("season", parameterToString(localVarOptionals.Season.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Seasons.IsSet() {
|
|
localVarQueryParams.Add("seasons", parameterToString(localVarOptionals.Seasons.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.SportId.IsSet() {
|
|
localVarQueryParams.Add("sportId", parameterToString(localVarOptionals.SportId.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.OpposingTeamId.IsSet() {
|
|
localVarQueryParams.Add("opposingTeamId", parameterToString(localVarOptionals.OpposingTeamId.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.OpposingPlayerId.IsSet() {
|
|
localVarQueryParams.Add("opposingPlayerId", parameterToString(localVarOptionals.OpposingPlayerId.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Metrics.IsSet() {
|
|
localVarQueryParams.Add("metrics", parameterToString(localVarOptionals.Metrics.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.LeagueId.IsSet() {
|
|
localVarQueryParams.Add("leagueId", parameterToString(localVarOptionals.LeagueId.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.LeagueListId.IsSet() {
|
|
localVarQueryParams.Add("leagueListId", parameterToString(localVarOptionals.LeagueListId.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.SitCodes.IsSet() {
|
|
localVarQueryParams.Add("sitCodes", parameterToString(localVarOptionals.SitCodes.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.CombineSits.IsSet() {
|
|
localVarQueryParams.Add("combineSits", parameterToString(localVarOptionals.CombineSits.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.DaysBack.IsSet() {
|
|
localVarQueryParams.Add("daysBack", parameterToString(localVarOptionals.DaysBack.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.GamesBack.IsSet() {
|
|
localVarQueryParams.Add("gamesBack", parameterToString(localVarOptionals.GamesBack.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
|
|
localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.EventType.IsSet() {
|
|
localVarQueryParams.Add("eventType", parameterToString(localVarOptionals.EventType.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.PitchType.IsSet() {
|
|
localVarQueryParams.Add("pitchType", parameterToString(localVarOptionals.PitchType.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.HitTrajectory.IsSet() {
|
|
localVarQueryParams.Add("hitTrajectory", parameterToString(localVarOptionals.HitTrajectory.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.BatSide.IsSet() {
|
|
localVarQueryParams.Add("batSide", parameterToString(localVarOptionals.BatSide.Value(), ""))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.GameType.IsSet() {
|
|
localVarQueryParams.Add("gameType", parameterToString(localVarOptionals.GameType.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.GroupBy.IsSet() {
|
|
localVarQueryParams.Add("groupBy", parameterToString(localVarOptionals.GroupBy.Value(), "multi"))
|
|
}
|
|
if localVarOptionals != nil && localVarOptionals.Accent.IsSet() {
|
|
localVarQueryParams.Add("accent", parameterToString(localVarOptionals.Accent.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.StatsRestObject
|
|
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
|
|
}
|