Documentation
¶
Index ¶
- func HTTPRequest(method, url string, headers map[string]string, body []byte) (*http.Response, error)
- func HandleError(w http.ResponseWriter, r *http.Request)
- func HandleReadiness(w http.ResponseWriter, r *http.Request)
- func New(c Config) http.Handler
- type CommentResponse
- type Config
- type CreateCommentRequest
- type CreateDebateCardRequest
- type CreateDebateRequest
- type CreatePlayerProfileRequest
- type CreateVoteRequest
- type DebateAnalyticsResponse
- type DebateCardResponse
- type DebateDataAggregator
- type DebateResponse
- type GenerateDebateRequest
- type GetLeagueStandingsByLeagueIdResponse
- type GetLeagueStandingsByTeamIdResponse
- type GetLeagueStandingsResponse
- type GetLeaguesResponse
- type GetLineUpResponse
- type GetMatchesAPIResponse
- type GetMatchesParams
- type GetSquadResponse
- type GoogleNewsResponse
- type HealthResponse
- type LeaguesService
- func (s *LeaguesService) CreateLeague(w http.ResponseWriter, r *http.Request)
- func (s *LeaguesService) DeleteLeague(w http.ResponseWriter, r *http.Request)
- func (s *LeaguesService) GetLeague(w http.ResponseWriter, r *http.Request)
- func (s *LeaguesService) GetLeagueStats(w http.ResponseWriter, r *http.Request)
- func (svc *LeaguesService) IsAdmin(ctx context.Context, userID int64) (bool, error)
- func (s *LeaguesService) ListLeagues(w http.ResponseWriter, r *http.Request)
- func (s *LeaguesService) UpdateLeague(w http.ResponseWriter, r *http.Request)
- type Lineup
- type MatchDataRequest
- type MatchInfo
- type Player
- type PlayerProfileService
- func (svc *PlayerProfileService) CreatePlayerProfile(w http.ResponseWriter, r *http.Request)
- func (svc *PlayerProfileService) DeletePlayerProfile(w http.ResponseWriter, r *http.Request)
- func (svc *PlayerProfileService) GetPlayerProfile(w http.ResponseWriter, r *http.Request)
- func (svc *PlayerProfileService) RecalculateIsVerified(ctx context.Context, profileID string) error
- func (svc *PlayerProfileService) UpdatePlayerProfile(w http.ResponseWriter, r *http.Request)
- type TeamManagersService
- func (s *TeamManagersService) CreateTeamManager(w http.ResponseWriter, r *http.Request)
- func (s *TeamManagersService) DeleteTeamManager(w http.ResponseWriter, r *http.Request)
- func (s *TeamManagersService) GetManagerStats(w http.ResponseWriter, r *http.Request)
- func (s *TeamManagersService) GetTeamManager(w http.ResponseWriter, r *http.Request)
- func (s *TeamManagersService) ListTeamManagers(w http.ResponseWriter, r *http.Request)
- func (s *TeamManagersService) UpdateTeamManager(w http.ResponseWriter, r *http.Request)
- type TeamsService
- func (s *TeamsService) CreateTeam(w http.ResponseWriter, r *http.Request)
- func (s *TeamsService) DeleteTeam(w http.ResponseWriter, r *http.Request)
- func (s *TeamsService) GetTeam(w http.ResponseWriter, r *http.Request)
- func (s *TeamsService) GetTeamStats(w http.ResponseWriter, r *http.Request)
- func (s *TeamsService) ListTeams(w http.ResponseWriter, r *http.Request)
- func (s *TeamsService) UpdateTeam(w http.ResponseWriter, r *http.Request)
- type VerificationService
- type VoteCounts
- type VoteResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HTTPRequest ¶
func HandleError ¶
func HandleError(w http.ResponseWriter, r *http.Request)
func HandleReadiness ¶
func HandleReadiness(w http.ResponseWriter, r *http.Request)
Types ¶
type CommentResponse ¶
type CommentResponse struct {
ID int32 `json:"id"`
DebateID int32 `json:"debate_id"`
ParentCommentID *int32 `json:"parent_comment_id,omitempty"`
UserID int32 `json:"user_id"`
UserFirstName string `json:"user_first_name"`
UserLastName string `json:"user_last_name"`
Content string `json:"content"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type Config ¶
type Config struct {
DB *database.Queries
DBConn *sql.DB
FootballAPIKey string
RapidAPIKey string
Cache cache.CacheInterface
APIFootballBaseURL string
OpenAIKey string
OpenAIBaseURL string
AIPromptGenerator *ai.PromptGenerator
}
func (*Config) HandleCacheStats ¶
func (c *Config) HandleCacheStats(w http.ResponseWriter, r *http.Request)
func (*Config) HandleRedisHealth ¶
func (c *Config) HandleRedisHealth(w http.ResponseWriter, r *http.Request)
type CreateCommentRequest ¶
type CreateDebateCardRequest ¶
type CreateDebateRequest ¶
type CreateDebateRequest struct {
MatchID string `json:"match_id"`
DebateType string `json:"debate_type"` // "pre_match" or "post_match"
Headline string `json:"headline"`
Description string `json:"description"`
AIGenerated bool `json:"ai_generated"`
}
Debate API types
type CreatePlayerProfileRequest ¶
type CreatePlayerProfileRequest struct {
UserID int32 `json:"user_id"`
TeamID *uuid.UUID `json:"team_id"`
Position string `json:"position"`
Age int32 `json:"age"`
Country string `json:"country"`
HeightCm int32 `json:"height_cm"`
Pace int32 `json:"pace"`
Shooting int32 `json:"shooting"`
Passing int32 `json:"passing"`
Stamina int32 `json:"stamina"`
Dribbling int32 `json:"dribbling"`
Defending int32 `json:"defending"`
Physical int32 `json:"physical"`
}
CreatePlayerProfileRequest represents the JSON request for creating a player profile
type CreateVoteRequest ¶
type DebateAnalyticsResponse ¶
type DebateAnalyticsResponse struct {
ID int32 `json:"id"`
DebateID int32 `json:"debate_id"`
TotalVotes int `json:"total_votes"`
TotalComments int `json:"total_comments"`
EngagementScore float64 `json:"engagement_score"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type DebateCardResponse ¶
type DebateCardResponse struct {
ID int32 `json:"id"`
DebateID int32 `json:"debate_id"`
Stance string `json:"stance"`
Title string `json:"title"`
Description string `json:"description"`
AIGenerated bool `json:"ai_generated"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
VoteCounts VoteCounts `json:"vote_counts"`
UserVote *VoteResponse `json:"user_vote,omitempty"`
}
type DebateDataAggregator ¶
type DebateDataAggregator struct {
Config *Config
}
func NewDebateDataAggregator ¶
func NewDebateDataAggregator(config *Config) *DebateDataAggregator
func (*DebateDataAggregator) AggregateMatchData ¶
func (dda *DebateDataAggregator) AggregateMatchData(ctx context.Context, matchReq MatchDataRequest) (*ai.MatchData, error)
AggregateMatchData fetches and combines data from multiple sources for debate generation
type DebateResponse ¶
type DebateResponse struct {
ID int32 `json:"id"`
MatchID string `json:"match_id"`
DebateType string `json:"debate_type"`
Headline string `json:"headline"`
Description string `json:"description"`
AIGenerated bool `json:"ai_generated"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
Cards []DebateCardResponse `json:"cards,omitempty"`
Analytics *DebateAnalyticsResponse `json:"analytics,omitempty"`
}
type GenerateDebateRequest ¶
type GetLeagueStandingsByLeagueIdResponse ¶
type GetLeagueStandingsByLeagueIdResponse struct {
Get string `json:"get"`
Parameters struct {
League string `json:"league"`
Season string `json:"season"`
} `json:"parameters"`
Errors any `json:"errors"`
Results int `json:"results"`
Paging struct {
Current int `json:"current"`
Total int `json:"total"`
} `json:"paging"`
Response []struct {
League struct {
ID int `json:"id"`
Name string `json:"name"`
Country string `json:"country"`
Logo string `json:"logo"`
Flag string `json:"flag"`
Season int `json:"season"`
Standings [][]struct {
Rank int `json:"rank"`
Team struct {
ID int `json:"id"`
Name string `json:"name"`
Logo string `json:"logo"`
} `json:"team"`
Points int `json:"points"`
GoalsDiff int `json:"goalsDiff"`
Group string `json:"group"`
Form string `json:"form"`
Status string `json:"status"`
Description string `json:"description"`
All struct {
Played int `json:"played"`
Win int `json:"win"`
Draw int `json:"draw"`
Lose int `json:"lose"`
Goals struct {
For int `json:"for"`
Against int `json:"against"`
} `json:"goals"`
} `json:"all"`
Home struct {
Played int `json:"played"`
Win int `json:"win"`
Draw int `json:"draw"`
Lose int `json:"lose"`
Goals struct {
For int `json:"for"`
Against int `json:"against"`
} `json:"goals"`
} `json:"home"`
Away struct {
Played int `json:"played"`
Win int `json:"win"`
Draw int `json:"draw"`
Lose int `json:"lose"`
Goals struct {
For int `json:"for"`
Against int `json:"against"`
} `json:"goals"`
} `json:"away"`
Update time.Time `json:"update"`
} `json:"standings"`
} `json:"league"`
} `json:"response"`
}
type GetLeagueStandingsByTeamIdResponse ¶
type GetLeagueStandingsByTeamIdResponse struct {
Get string `json:"get"`
Parameters struct {
Season string `json:"season"`
Team string `json:"team"`
} `json:"parameters"`
Errors any `json:"errors"`
Results int `json:"results"`
Paging struct {
Current int `json:"current"`
Total int `json:"total"`
} `json:"paging"`
Response []struct {
League struct {
ID int `json:"id"`
Name string `json:"name"`
Country string `json:"country"`
Logo string `json:"logo"`
Flag string `json:"flag"`
Season int `json:"season"`
Standings [][]struct {
Rank int `json:"rank"`
Team struct {
ID int `json:"id"`
Name string `json:"name"`
Logo string `json:"logo"`
} `json:"team"`
Points int `json:"points"`
GoalsDiff int `json:"goalsDiff"`
Group string `json:"group"`
Form string `json:"form"`
Status string `json:"status"`
Description string `json:"description"`
All struct {
Played int `json:"played"`
Win int `json:"win"`
Draw int `json:"draw"`
Lose int `json:"lose"`
Goals struct {
For int `json:"for"`
Against int `json:"against"`
} `json:"goals"`
} `json:"all"`
Home struct {
Played int `json:"played"`
Win int `json:"win"`
Draw int `json:"draw"`
Lose int `json:"lose"`
Goals struct {
For int `json:"for"`
Against int `json:"against"`
} `json:"goals"`
} `json:"home"`
Away struct {
Played int `json:"played"`
Win int `json:"win"`
Draw int `json:"draw"`
Lose int `json:"lose"`
Goals struct {
For int `json:"for"`
Against int `json:"against"`
} `json:"goals"`
} `json:"away"`
Update time.Time `json:"update"`
} `json:"standings"`
} `json:"league"`
} `json:"response"`
}
type GetLeagueStandingsResponse ¶
type GetLeagueStandingsResponse struct {
Get string `json:"get"`
Response []struct {
League struct {
ID int `json:"id"`
Name string `json:"name"`
Country string `json:"country"`
Logo string `json:"logo"`
Flag string `json:"flag"`
Season int `json:"season"`
Standings [][]struct {
Rank int `json:"rank"`
Team struct {
ID int `json:"id"`
Name string `json:"name"`
Logo string `json:"logo"`
} `json:"team"`
Points int `json:"points"`
GoalsDiff int `json:"goalsDiff"`
Group string `json:"group"`
Form string `json:"form"`
Status string `json:"status"`
Description string `json:"description"`
All struct {
Played int `json:"played"`
Win int `json:"win"`
Draw int `json:"draw"`
Lose int `json:"lose"`
Goals struct {
For int `json:"for"`
Against int `json:"against"`
} `json:"goals"`
} `json:"all"`
Home struct {
Played int `json:"played"`
Win int `json:"win"`
Draw int `json:"draw"`
Lose int `json:"lose"`
Goals struct {
For int `json:"for"`
Against int `json:"against"`
} `json:"goals"`
} `json:"home"`
Away struct {
Played int `json:"played"`
Win int `json:"win"`
Draw int `json:"draw"`
Lose int `json:"lose"`
Goals struct {
For int `json:"for"`
Against int `json:"against"`
} `json:"goals"`
} `json:"away"`
Update string `json:"update"`
} `json:"standings"`
} `json:"league"`
} `json:"response"`
Errors []string `json:"errors"`
Results int `json:"results"`
Paging struct {
Current int `json:"current"`
Total int `json:"total"`
} `json:"paging"`
}
type GetLeaguesResponse ¶
type GetLeaguesResponse struct {
Get string `json:"get"`
Parameters any `json:"parameters"`
Errors any `json:"errors"`
Results int `json:"results"`
Paging struct {
Current int `json:"current"`
Total int `json:"total"`
} `json:"paging"`
Response []struct {
League struct {
ID int `json:"id"`
Name string `json:"name"`
Type string `json:"type"`
Logo string `json:"logo"`
} `json:"league"`
Country struct {
Name string `json:"name"`
Code any `json:"code"`
Flag any `json:"flag"`
} `json:"country"`
Seasons []struct {
Year int `json:"year"`
Start string `json:"start"`
End string `json:"end"`
Current bool `json:"current"`
Coverage struct {
Fixtures struct {
Events bool `json:"events"`
Lineups bool `json:"lineups"`
StatisticsFixtures bool `json:"statistics_fixtures"`
StatisticsPlayers bool `json:"statistics_players"`
} `json:"fixtures"`
Standings bool `json:"standings"`
Players bool `json:"players"`
TopScorers bool `json:"top_scorers"`
TopAssists bool `json:"top_assists"`
TopCards bool `json:"top_cards"`
Injuries bool `json:"injuries"`
Predictions bool `json:"predictions"`
Odds bool `json:"odds"`
} `json:"coverage"`
} `json:"seasons"`
} `json:"response"`
}
type GetLineUpResponse ¶
type GetLineUpResponse struct {
Get string `json:"get"`
Parameters struct {
Fixture string `json:"fixture"`
} `json:"parameters"`
Errors []any `json:"errors"`
Results int `json:"results"`
Paging struct {
Current int `json:"current"`
Total int `json:"total"`
} `json:"paging"`
Response []struct {
Team struct {
ID int `json:"id"`
Name string `json:"name"`
Logo string `json:"logo"`
Colors any `json:"colors"`
} `json:"team"`
Coach struct {
ID int `json:"id"`
Name string `json:"name"`
Photo string `json:"photo"`
} `json:"coach"`
Formation string `json:"formation"`
StartXI []struct {
Player Player `json:"player"`
} `json:"startXI"`
Substitutes []struct {
Player struct {
ID int `json:"id"`
Name string `json:"name"`
Number int `json:"number"`
Pos string `json:"pos"`
Grid any `json:"grid"`
Photo string `json:"photo"`
} `json:"player"`
} `json:"substitutes"`
} `json:"response"`
}
type GetMatchesAPIResponse ¶
type GetMatchesAPIResponse struct {
Get string `json:"get"`
Parameters struct {
Date string `json:"date"`
} `json:"parameters"`
Errors []any `json:"errors"`
Results int `json:"results"`
Paging struct {
Current int `json:"current"`
Total int `json:"total"`
} `json:"paging"`
Response []struct {
Fixture struct {
ID int `json:"id"`
Referee string `json:"referee"`
Timezone string `json:"timezone"`
Date time.Time `json:"date"`
Timestamp int `json:"timestamp"`
Periods struct {
First int `json:"first"`
Second int `json:"second"`
} `json:"periods"`
Venue struct {
ID int `json:"id"`
Name string `json:"name"`
City string `json:"city"`
} `json:"venue"`
Status struct {
Long string `json:"long"`
Short string `json:"short"`
Elapsed int `json:"elapsed"`
} `json:"status"`
} `json:"fixture"`
League struct {
ID int `json:"id"`
Name string `json:"name"`
Country string `json:"country"`
Logo string `json:"logo"`
Flag any `json:"flag"`
Season int `json:"season"`
Round string `json:"round"`
} `json:"league"`
Teams struct {
Home struct {
ID int `json:"id"`
Name string `json:"name"`
Logo string `json:"logo"`
Winner any `json:"winner"`
} `json:"home"`
Away struct {
ID int `json:"id"`
Name string `json:"name"`
Logo string `json:"logo"`
Winner any `json:"winner"`
} `json:"away"`
} `json:"teams"`
Goals struct {
Home int `json:"home"`
Away int `json:"away"`
} `json:"goals"`
Score struct {
Halftime struct {
Home int `json:"home"`
Away int `json:"away"`
} `json:"halftime"`
Fulltime struct {
Home int `json:"home"`
Away int `json:"away"`
} `json:"fulltime"`
Extratime struct {
Home any `json:"home"`
Away any `json:"away"`
} `json:"extratime"`
Penalty struct {
Home any `json:"home"`
Away any `json:"away"`
} `json:"penalty"`
} `json:"score"`
} `json:"response"`
}
type GetMatchesParams ¶
type GetMatchesParams struct {
Date string
}
type GetSquadResponse ¶
type GetSquadResponse struct {
Get string `json:"get"`
Parameters struct {
Team string `json:"team"`
} `json:"parameters"`
Errors []any `json:"errors"`
Results int `json:"results"`
Paging struct {
Current int `json:"current"`
Total int `json:"total"`
} `json:"paging"`
Response []struct {
Team struct {
ID int `json:"id"`
Name string `json:"name"`
Logo string `json:"logo"`
} `json:"team"`
Players []Player `json:"players"`
} `json:"response"`
}
type GoogleNewsResponse ¶
type GoogleNewsResponse struct {
Status string `json:"status"`
Items []struct {
Timestamp string `json:"timestamp"`
Title string `json:"title"`
Snippet string `json:"snippet"`
Images struct {
Thumbnail string `json:"thumbnail"`
ThumbnailProxied string `json:"thumbnailProxied"`
} `json:"images"`
NewsUrl string `json:"newsUrl"`
Publisher string `json:"publisher"`
} `json:"items"`
}
type HealthResponse ¶
type HealthResponse struct {
Message string `json:"message"`
}
type LeaguesService ¶
type LeaguesService struct {
// contains filtered or unexported fields
}
LeaguesService handles league-related operations
func NewLeaguesService ¶
func NewLeaguesService(db *database.Queries) *LeaguesService
NewLeaguesService creates a new leagues service
func (*LeaguesService) CreateLeague ¶
func (s *LeaguesService) CreateLeague(w http.ResponseWriter, r *http.Request)
CreateLeague creates a new league
func (*LeaguesService) DeleteLeague ¶
func (s *LeaguesService) DeleteLeague(w http.ResponseWriter, r *http.Request)
DeleteLeague deletes a league
func (*LeaguesService) GetLeague ¶
func (s *LeaguesService) GetLeague(w http.ResponseWriter, r *http.Request)
GetLeague retrieves a league by ID
func (*LeaguesService) GetLeagueStats ¶
func (s *LeaguesService) GetLeagueStats(w http.ResponseWriter, r *http.Request)
GetLeagueStats retrieves league statistics
func (*LeaguesService) ListLeagues ¶
func (s *LeaguesService) ListLeagues(w http.ResponseWriter, r *http.Request)
ListLeagues retrieves all leagues with optional filtering
func (*LeaguesService) UpdateLeague ¶
func (s *LeaguesService) UpdateLeague(w http.ResponseWriter, r *http.Request)
UpdateLeague updates a league
type MatchDataRequest ¶
type MatchDataRequest struct {
MatchID string `json:"match_id"`
HomeTeam string `json:"home_team"`
AwayTeam string `json:"away_team"`
Date string `json:"date"`
Status string `json:"status"`
HomeScore int `json:"home_score"`
AwayScore int `json:"away_score"`
HomeGoals int `json:"home_goals"`
AwayGoals int `json:"away_goals"`
HomeShots int `json:"home_shots"`
AwayShots int `json:"away_shots"`
HomePossession int `json:"home_possession"`
AwayPossession int `json:"away_possession"`
HomeFouls int `json:"home_fouls"`
AwayFouls int `json:"away_fouls"`
HomeYellowCards int `json:"home_yellow_cards"`
AwayYellowCards int `json:"away_yellow_cards"`
HomeRedCards int `json:"home_red_cards"`
AwayRedCards int `json:"away_red_cards"`
Venue string `json:"venue"`
League string `json:"league"`
Season string `json:"season"`
}
type MatchInfo ¶
type MatchInfo struct {
HomeTeam string
AwayTeam string
Date string
Status string
HomeScore int
AwayScore int
HomeGoals int
AwayGoals int
HomeShots int
AwayShots int
HomePossession int
AwayPossession int
HomeFouls int
AwayFouls int
HomeYellowCards int
AwayYellowCards int
HomeRedCards int
AwayRedCards int
Venue string
League string
Season string
}
MatchInfo represents detailed information about a match
type PlayerProfileService ¶
PlayerProfileService provides business logic for player profiles
func (*PlayerProfileService) CreatePlayerProfile ¶
func (svc *PlayerProfileService) CreatePlayerProfile(w http.ResponseWriter, r *http.Request)
Handler: Create player profile
func (*PlayerProfileService) DeletePlayerProfile ¶
func (svc *PlayerProfileService) DeletePlayerProfile(w http.ResponseWriter, r *http.Request)
Handler: Delete player profile
func (*PlayerProfileService) GetPlayerProfile ¶
func (svc *PlayerProfileService) GetPlayerProfile(w http.ResponseWriter, r *http.Request)
Handler: Get player profile
func (*PlayerProfileService) RecalculateIsVerified ¶
func (svc *PlayerProfileService) RecalculateIsVerified(ctx context.Context, profileID string) error
RecalculateIsVerified sets is_verified=true if 3+ unique verifications exist
func (*PlayerProfileService) UpdatePlayerProfile ¶
func (svc *PlayerProfileService) UpdatePlayerProfile(w http.ResponseWriter, r *http.Request)
Handler: Update player profile
type TeamManagersService ¶
type TeamManagersService struct {
// contains filtered or unexported fields
}
TeamManagersService handles team manager-related operations
func NewTeamManagersService ¶
func NewTeamManagersService(db *database.Queries) *TeamManagersService
NewTeamManagersService creates a new team managers service
func (*TeamManagersService) CreateTeamManager ¶
func (s *TeamManagersService) CreateTeamManager(w http.ResponseWriter, r *http.Request)
CreateTeamManager creates a new team manager
func (*TeamManagersService) DeleteTeamManager ¶
func (s *TeamManagersService) DeleteTeamManager(w http.ResponseWriter, r *http.Request)
DeleteTeamManager deletes a team manager
func (*TeamManagersService) GetManagerStats ¶
func (s *TeamManagersService) GetManagerStats(w http.ResponseWriter, r *http.Request)
GetManagerStats retrieves manager statistics
func (*TeamManagersService) GetTeamManager ¶
func (s *TeamManagersService) GetTeamManager(w http.ResponseWriter, r *http.Request)
GetTeamManager retrieves a team manager by ID
func (*TeamManagersService) ListTeamManagers ¶
func (s *TeamManagersService) ListTeamManagers(w http.ResponseWriter, r *http.Request)
ListTeamManagers retrieves all team managers with optional filtering
func (*TeamManagersService) UpdateTeamManager ¶
func (s *TeamManagersService) UpdateTeamManager(w http.ResponseWriter, r *http.Request)
UpdateTeamManager updates a team manager
type TeamsService ¶
type TeamsService struct {
// contains filtered or unexported fields
}
TeamsService handles team-related operations
func NewTeamsService ¶
func NewTeamsService(db *database.Queries) *TeamsService
NewTeamsService creates a new teams service
func (*TeamsService) CreateTeam ¶
func (s *TeamsService) CreateTeam(w http.ResponseWriter, r *http.Request)
CreateTeam creates a new team
func (*TeamsService) DeleteTeam ¶
func (s *TeamsService) DeleteTeam(w http.ResponseWriter, r *http.Request)
DeleteTeam deletes a team
func (*TeamsService) GetTeam ¶
func (s *TeamsService) GetTeam(w http.ResponseWriter, r *http.Request)
GetTeam retrieves a team by ID
func (*TeamsService) GetTeamStats ¶
func (s *TeamsService) GetTeamStats(w http.ResponseWriter, r *http.Request)
GetTeamStats retrieves team statistics
func (*TeamsService) ListTeams ¶
func (s *TeamsService) ListTeams(w http.ResponseWriter, r *http.Request)
ListTeams retrieves all teams with optional filtering
func (*TeamsService) UpdateTeam ¶
func (s *TeamsService) UpdateTeam(w http.ResponseWriter, r *http.Request)
UpdateTeam updates a team
type VerificationService ¶
type VerificationService struct {
DB *database.Queries
PlayerProfileSvc *PlayerProfileService
}
func (*VerificationService) AddVerification ¶
func (svc *VerificationService) AddVerification(w http.ResponseWriter, r *http.Request)
Handler: Add verification
func (*VerificationService) ListVerifications ¶
func (svc *VerificationService) ListVerifications(w http.ResponseWriter, r *http.Request)
Handler: List verifications for a player
func (*VerificationService) RemoveVerification ¶
func (svc *VerificationService) RemoveVerification(w http.ResponseWriter, r *http.Request)
Handler: Remove verification