mirror of
https://github.com/nprasad2077/NBA_Go.git
synced 2026-09-22 14:05:13 +00:00
31 lines
1.7 KiB
Go
31 lines
1.7 KiB
Go
// models/player_shot_chart.go
|
||
package models
|
||
|
||
import "gorm.io/gorm"
|
||
|
||
type PlayerShotChart struct {
|
||
// Auto‑increment primary key — works in SQLite and any other DB.
|
||
ID uint `gorm:"primaryKey" json:"id"`
|
||
|
||
// ────────── "identity" columns (the dedup key) ──────────
|
||
PlayerID string `gorm:"not null;uniqueIndex:idx_shot_identity,priority:1" json:"playerId"`
|
||
Season int `gorm:"not null;uniqueIndex:idx_shot_identity,priority:2" json:"season"`
|
||
Date string `gorm:"not null;uniqueIndex:idx_shot_identity,priority:3" json:"date"`
|
||
Quarter string `gorm:"column:qtr;uniqueIndex:idx_shot_identity,priority:4" json:"qtr"`
|
||
TimeRemaining string `gorm:"column:time_remaining;uniqueIndex:idx_shot_identity,priority:5" json:"timeRemaining"`
|
||
Top int `gorm:"uniqueIndex:idx_shot_identity,priority:6" json:"top"`
|
||
Left int `gorm:"uniqueIndex:idx_shot_identity,priority:7" json:"left"`
|
||
|
||
// ────────── the rest of the payload ──────────
|
||
PlayerName string `json:"playerName"`
|
||
Result bool `json:"result"`
|
||
ShotType string `gorm:"column:shot_type" json:"shotType"`
|
||
DistanceFt int `gorm:"column:distance_ft" json:"distanceFt"`
|
||
Lead bool `json:"lead"`
|
||
TeamScore int `gorm:"column:team_score" json:"teamScore"`
|
||
OpponentTeamScore int `gorm:"column:opponent_team_score" json:"opponentTeamScore"`
|
||
Opponent string `json:"opponent"`
|
||
Team string `gorm:"not null" json:"team"`
|
||
|
||
gorm.Model `swaggerignore:"true"` // keeps CreatedAt/UpdatedAt/DeletedAt
|
||
} |