mirror of
https://github.com/nprasad2077/NBA_Go.git
synced 2026-09-22 22:15:13 +00:00
326 lines
7.3 KiB
YAML
326 lines
7.3 KiB
YAML
basePath: /
|
|
definitions:
|
|
controllers.AdvancedStatsResponse:
|
|
properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/models.PlayerAdvancedStat'
|
|
type: array
|
|
pagination:
|
|
properties:
|
|
page:
|
|
type: integer
|
|
pageSize:
|
|
type: integer
|
|
pages:
|
|
type: integer
|
|
total:
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
models.PlayerAdvancedStat:
|
|
properties:
|
|
age:
|
|
type: integer
|
|
assistPercent:
|
|
type: number
|
|
blockPercent:
|
|
type: number
|
|
box:
|
|
type: number
|
|
defensiveBox:
|
|
type: number
|
|
defensiveRBPercent:
|
|
type: number
|
|
defensiveWS:
|
|
type: number
|
|
ftr:
|
|
type: number
|
|
games:
|
|
type: integer
|
|
id:
|
|
type: integer
|
|
isPlayoff:
|
|
type: boolean
|
|
minutesPlayed:
|
|
type: integer
|
|
offensiveBox:
|
|
type: number
|
|
offensiveRBPercent:
|
|
type: number
|
|
offensiveWS:
|
|
type: number
|
|
per:
|
|
type: number
|
|
playerId:
|
|
type: string
|
|
playerName:
|
|
type: string
|
|
position:
|
|
type: string
|
|
season:
|
|
type: integer
|
|
stealPercent:
|
|
type: number
|
|
team:
|
|
type: string
|
|
threePAR:
|
|
type: number
|
|
totalRBPercent:
|
|
type: number
|
|
tsPercent:
|
|
type: number
|
|
turnoverPercent:
|
|
type: number
|
|
usagePercent:
|
|
type: number
|
|
vorp:
|
|
type: number
|
|
winShares:
|
|
type: number
|
|
winSharesPer:
|
|
type: number
|
|
type: object
|
|
models.PlayerShotChart:
|
|
properties:
|
|
date:
|
|
type: string
|
|
distanceFt:
|
|
type: integer
|
|
id:
|
|
type: integer
|
|
lead:
|
|
type: boolean
|
|
left:
|
|
type: integer
|
|
opponent:
|
|
type: string
|
|
opponentTeamScore:
|
|
type: integer
|
|
playerId:
|
|
type: string
|
|
playerName:
|
|
type: string
|
|
qtr:
|
|
type: string
|
|
result:
|
|
type: boolean
|
|
season:
|
|
type: integer
|
|
shotType:
|
|
type: string
|
|
team:
|
|
type: string
|
|
teamScore:
|
|
type: integer
|
|
timeRemaining:
|
|
type: string
|
|
top:
|
|
type: integer
|
|
type: object
|
|
info:
|
|
contact: {}
|
|
description: Stats service with API-key auth
|
|
title: NBA_Go API
|
|
version: "1.0"
|
|
paths:
|
|
/api/playeradvancedstats:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Returns filtered and paginated player advanced stats
|
|
parameters:
|
|
- description: Season (e.g., 2025)
|
|
in: query
|
|
name: season
|
|
type: integer
|
|
- description: Team abbreviation (e.g., MIL)
|
|
in: query
|
|
name: team
|
|
type: string
|
|
- description: Player ID (e.g., greenaj01)
|
|
in: query
|
|
name: playerId
|
|
type: string
|
|
- default: 1
|
|
description: Page number
|
|
in: query
|
|
name: page
|
|
type: integer
|
|
- default: 20
|
|
description: Page size
|
|
in: query
|
|
name: pageSize
|
|
type: integer
|
|
- default: winShares
|
|
description: Field to sort by
|
|
in: query
|
|
name: sortBy
|
|
type: string
|
|
- default: false
|
|
description: Sort ascending
|
|
in: query
|
|
name: ascending
|
|
type: boolean
|
|
- description: Whether playoffs?
|
|
in: query
|
|
name: isPlayoff
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/controllers.AdvancedStatsResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Get player advanced stats
|
|
tags:
|
|
- PlayerStats
|
|
/api/playershotchart:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Returns shot-chart points, optionally filtered by playerId and/or
|
|
season
|
|
parameters:
|
|
- description: Player ID (e.g., hardeja01)
|
|
in: query
|
|
name: playerId
|
|
type: string
|
|
- description: Season (e.g., 2023)
|
|
in: query
|
|
name: season
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
$ref: '#/definitions/models.PlayerShotChart'
|
|
type: array
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Get shot-chart data
|
|
tags:
|
|
- PlayerShotChart
|
|
/api/playershotchart/fetch:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Imports shot-chart data for the given playerId and stores/updates
|
|
in DB
|
|
parameters:
|
|
- description: Player ID (e.g., hardeja01)
|
|
in: query
|
|
name: playerId
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
summary: Fetch a single player's shot-chart data from external API
|
|
tags:
|
|
- PlayerShotChart
|
|
/api/playertotals:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Filter and paginate player totals
|
|
parameters:
|
|
- description: Season (e.g. 2000)
|
|
in: query
|
|
name: season
|
|
type: integer
|
|
- description: Team abbreviation (e.g. LAL)
|
|
in: query
|
|
name: team
|
|
type: string
|
|
- description: Player ID (e.g. greenac01)
|
|
in: query
|
|
name: playerId
|
|
type: string
|
|
- default: 1
|
|
description: Page number
|
|
in: query
|
|
name: page
|
|
type: integer
|
|
- default: 20
|
|
description: Page size
|
|
in: query
|
|
name: pageSize
|
|
type: integer
|
|
- description: Field to sort by (e.g. points, assists)
|
|
in: query
|
|
name: sortBy
|
|
type: string
|
|
- description: Sort ascending (default false)
|
|
in: query
|
|
name: ascending
|
|
type: boolean
|
|
- description: Whether the stats are for playoffs
|
|
in: query
|
|
name: isPlayoff
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
additionalProperties: true
|
|
type: object
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Get player total stats
|
|
tags:
|
|
- PlayerTotals
|
|
schemes:
|
|
- http
|
|
- https
|
|
securityDefinitions:
|
|
ApiKeyAuth:
|
|
in: header
|
|
name: X-API-Key
|
|
type: apiKey
|
|
swagger: "2.0"
|