Documentation
¶
Index ¶
- Constants
- type AthleteFiscodeParam
- type AthleteHandler
- func (h *AthleteHandler) DeleteAthlete(w http.ResponseWriter, r *http.Request)
- func (h *AthleteHandler) GetAthletesBySporttiID(w http.ResponseWriter, r *http.Request)
- func (h *AthleteHandler) InsertAthlete(w http.ResponseWriter, r *http.Request)
- func (h *AthleteHandler) UpdateAthlete(w http.ResponseWriter, r *http.Request)
- type AthleteResultsCCQuery
- type AthleteResultsJPQuery
- type AthleteResultsNKQuery
- type CompetitorHandler
- func (h *CompetitorHandler) DeleteCompetitor(w http.ResponseWriter, r *http.Request)
- func (h *CompetitorHandler) GetAthletesBySector(w http.ResponseWriter, r *http.Request)
- func (h *CompetitorHandler) GetCompetitorCountsByNation(w http.ResponseWriter, r *http.Request)
- func (h *CompetitorHandler) GetLastRowCompetitor(w http.ResponseWriter, r *http.Request)
- func (h *CompetitorHandler) GetNationsBySector(w http.ResponseWriter, r *http.Request)
- func (h *CompetitorHandler) InsertCompetitor(w http.ResponseWriter, r *http.Request)
- func (h *CompetitorHandler) SearchCompetitors(w http.ResponseWriter, r *http.Request)
- func (h *CompetitorHandler) UpdateCompetitor(w http.ResponseWriter, r *http.Request)
- type CompetitorIDParam
- type FISAthleteResultCCRow
- type FISAthleteResultJPRow
- type FISAthleteResultNKRow
- type FISCompetitorResponse
- type FISRaceCCFullResponse
- type FISRaceJPFullResponse
- type FISRaceNKFullResponse
- type FISResultCCFullResponse
- type FISResultJPFullResponse
- type FISResultNKFullResponse
- type InsertAthleteInput
- type InsertCompetitorInput
- type InsertRaceCCInput
- type InsertRaceJPInput
- type InsertRaceNKInput
- type InsertResultCCInput
- type InsertResultJPInput
- type InsertResultNKInput
- type NationsBySectorResponse
- type RaceCCHandler
- func (h *RaceCCHandler) DeleteRaceCC(w http.ResponseWriter, r *http.Request)
- func (h *RaceCCHandler) GetCategoryCodesCC(w http.ResponseWriter, r *http.Request)
- func (h *RaceCCHandler) GetDisciplineCodesCC(w http.ResponseWriter, r *http.Request)
- func (h *RaceCCHandler) GetLastRowRaceCC(w http.ResponseWriter, r *http.Request)
- func (h *RaceCCHandler) GetRacesCC(w http.ResponseWriter, r *http.Request)
- func (h *RaceCCHandler) GetSeasonCodesCC(w http.ResponseWriter, r *http.Request)
- func (h *RaceCCHandler) InsertRaceCC(w http.ResponseWriter, r *http.Request)
- func (h *RaceCCHandler) UpdateRaceCC(w http.ResponseWriter, r *http.Request)
- type RaceJPHandler
- func (h *RaceJPHandler) DeleteRaceJP(w http.ResponseWriter, r *http.Request)
- func (h *RaceJPHandler) GetCategoryCodesJP(w http.ResponseWriter, r *http.Request)
- func (h *RaceJPHandler) GetDisciplineCodesJP(w http.ResponseWriter, r *http.Request)
- func (h *RaceJPHandler) GetLastRowRaceJP(w http.ResponseWriter, r *http.Request)
- func (h *RaceJPHandler) GetRacesJP(w http.ResponseWriter, r *http.Request)
- func (h *RaceJPHandler) GetSeasonCodesJP(w http.ResponseWriter, r *http.Request)
- func (h *RaceJPHandler) InsertRaceJP(w http.ResponseWriter, r *http.Request)
- func (h *RaceJPHandler) UpdateRaceJP(w http.ResponseWriter, r *http.Request)
- type RaceNKHandler
- func (h *RaceNKHandler) DeleteRaceNK(w http.ResponseWriter, r *http.Request)
- func (h *RaceNKHandler) GetCategoryCodesNK(w http.ResponseWriter, r *http.Request)
- func (h *RaceNKHandler) GetDisciplineCodesNK(w http.ResponseWriter, r *http.Request)
- func (h *RaceNKHandler) GetLastRowRaceNK(w http.ResponseWriter, r *http.Request)
- func (h *RaceNKHandler) GetRacesNK(w http.ResponseWriter, r *http.Request)
- func (h *RaceNKHandler) GetSeasonCodesNK(w http.ResponseWriter, r *http.Request)
- func (h *RaceNKHandler) InsertRaceNK(w http.ResponseWriter, r *http.Request)
- func (h *RaceNKHandler) UpdateRaceNK(w http.ResponseWriter, r *http.Request)
- type RaceNationCountItem
- type RaceSearchHandler
- func (h *RaceSearchHandler) GetRaceCategoryCounts(w http.ResponseWriter, r *http.Request)
- func (h *RaceSearchHandler) GetRaceCountsByNation(w http.ResponseWriter, r *http.Request)
- func (h *RaceSearchHandler) GetRaceTotals(w http.ResponseWriter, r *http.Request)
- func (h *RaceSearchHandler) GetRacesByIDs(w http.ResponseWriter, r *http.Request)
- func (h *RaceSearchHandler) SearchRaces(w http.ResponseWriter, r *http.Request)
- type RaceSearchItem
- type RacesCCQuery
- type RacesJPQuery
- type RacesNKQuery
- type ResultCCHandler
- func (h *ResultCCHandler) DeleteResultCC(w http.ResponseWriter, r *http.Request)
- func (h *ResultCCHandler) GetAthleteResultsCC(w http.ResponseWriter, r *http.Request)
- func (h *ResultCCHandler) GetLastRowResultCC(w http.ResponseWriter, r *http.Request)
- func (h *ResultCCHandler) GetRaceResultsCC(w http.ResponseWriter, r *http.Request)
- func (h *ResultCCHandler) InsertResultCC(w http.ResponseWriter, r *http.Request)
- func (h *ResultCCHandler) UpdateResultCC(w http.ResponseWriter, r *http.Request)
- type ResultJPHandler
- func (h *ResultJPHandler) DeleteResultJP(w http.ResponseWriter, r *http.Request)
- func (h *ResultJPHandler) GetAthleteResultsJP(w http.ResponseWriter, r *http.Request)
- func (h *ResultJPHandler) GetLastRowResultJP(w http.ResponseWriter, r *http.Request)
- func (h *ResultJPHandler) GetRaceResultsJP(w http.ResponseWriter, r *http.Request)
- func (h *ResultJPHandler) InsertResultJP(w http.ResponseWriter, r *http.Request)
- func (h *ResultJPHandler) UpdateResultJP(w http.ResponseWriter, r *http.Request)
- type ResultKAMKHandler
- type ResultNKHandler
- func (h *ResultNKHandler) DeleteResultNK(w http.ResponseWriter, r *http.Request)
- func (h *ResultNKHandler) GetAthleteResultsNK(w http.ResponseWriter, r *http.Request)
- func (h *ResultNKHandler) GetLastRowResultNK(w http.ResponseWriter, r *http.Request)
- func (h *ResultNKHandler) GetRaceResultsNK(w http.ResponseWriter, r *http.Request)
- func (h *ResultNKHandler) InsertResultNK(w http.ResponseWriter, r *http.Request)
- func (h *ResultNKHandler) UpdateResultNK(w http.ResponseWriter, r *http.Request)
- type SectorParam
- type SporttiIDParam
- type UpdateAthleteInput
- type UpdateCompetitorInput
- type UpdateRaceCCInput
- type UpdateRaceJPInput
- type UpdateRaceNKInput
- type UpdateResultCCInput
- type UpdateResultJPInput
- type UpdateResultNKInput
Constants ¶
const (
FISCacheTTL = 6 * time.Hour
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AthleteFiscodeParam ¶
type AthleteFiscodeParam struct {
Fiscode string `form:"fiscode" validate:"required,numeric"`
}
type AthleteHandler ¶
type AthleteHandler struct {
// contains filtered or unexported fields
}
func NewAthleteHandler ¶
func NewAthleteHandler(store fis.Athlete, cache *cache.Storage) *AthleteHandler
func (*AthleteHandler) DeleteAthlete ¶
func (h *AthleteHandler) DeleteAthlete(w http.ResponseWriter, r *http.Request)
DeleteAthlete godoc
@Summary Delete athlete
@Description Deletes an athlete by FIS code
@Tags FIS - Athlete Management
@Accept json
@Produce json
@Param fiscode query integer true "FIS code"
@Success 200 "Deleted"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/athlete [delete]
func (*AthleteHandler) GetAthletesBySporttiID ¶
func (h *AthleteHandler) GetAthletesBySporttiID(w http.ResponseWriter, r *http.Request)
GetAthletesBySporttiID godoc
@Summary Get all athletes for a given SporttiID
@Tags FIS - Athlete
@Accept json
@Produce json
@Param sporttiid query integer true "SporttiID"
@Success 200 {object} swagger.FISAthletesResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/fiscode [get]
func (*AthleteHandler) InsertAthlete ¶
func (h *AthleteHandler) InsertAthlete(w http.ResponseWriter, r *http.Request)
InsertAthlete godoc
@Summary Add new athlete
@Description Inserts a new athlete into athlete table
@Tags FIS - Athlete Management
@Accept json
@Produce json
@Param athlete body swagger.FISInsertAthleteExample true "Athlete payload"
@Success 201 "Created"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 409 {object} swagger.ConflictResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/athlete [post]
func (*AthleteHandler) UpdateAthlete ¶
func (h *AthleteHandler) UpdateAthlete(w http.ResponseWriter, r *http.Request)
UpdateAthlete godoc
@Summary Update athlete by fiscode
@Description Updates an existing athlete in athlete table
@Tags FIS - Athlete Management
@Accept json
@Produce json
@Param athlete body swagger.FISUpdateAthleteExample true "Athlete payload"
@Success 200 "Updated"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/athlete [put]
type AthleteResultsCCQuery ¶
type AthleteResultsJPQuery ¶
type AthleteResultsNKQuery ¶
type CompetitorHandler ¶
type CompetitorHandler struct {
// contains filtered or unexported fields
}
func NewCompetitorHandler ¶
func NewCompetitorHandler(store fis.Competitors, cache *cache.Storage) *CompetitorHandler
func (*CompetitorHandler) DeleteCompetitor ¶
func (h *CompetitorHandler) DeleteCompetitor(w http.ResponseWriter, r *http.Request)
DeleteCompetitor godoc
@Summary Delete competitor
@Description Deletes a competitor by ID
@Tags FIS - Competitor Management
@Accept json
@Produce json
@Param id query integer true "Competitor ID"
@Success 200 "Deleted"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/competitor [delete]
func (*CompetitorHandler) GetAthletesBySector ¶
func (h *CompetitorHandler) GetAthletesBySector(w http.ResponseWriter, r *http.Request)
GetAthletesBySector godoc
@Summary Get all athletes for a given sector
@Tags FIS - Athlete
@Accept json
@Produce json
@Param sectorcode query string true "Sector code (JP, NK, CC)"
@Success 200 {object} swagger.FISAthletesResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/athlete [get]
func (*CompetitorHandler) GetCompetitorCountsByNation ¶
func (h *CompetitorHandler) GetCompetitorCountsByNation(w http.ResponseWriter, r *http.Request)
GetCompetitorCountsByNation godoc
@Summary Get competitor counts by nation
@Description Gets counts of competitors grouped by Nationcode.
@Description Optional filters: sectorcode, gender, age range (agemin/agemax, in years).
@Tags FIS - KAMK
@Accept json
@Produce json
@Param sectorcode query string false "Sector code filter (CC,JP,NK)"
@Param gender query string false "Gender filter (M/W)"
@Param agemin query int false "Minimum age in years"
@Param agemax query int false "Maximum age in years"
@Success 200 {object} swagger.FISCompetitorNationCountsResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/competitor/count-by-nation [get]
func (*CompetitorHandler) GetLastRowCompetitor ¶
func (h *CompetitorHandler) GetLastRowCompetitor(w http.ResponseWriter, r *http.Request)
GetLastRowCompetitor godoc
@Summary Get last competitor record
@Description Returns the last row in the competitor table
@Tags FIS - Competitor Management
@Accept json
@Produce json
@Success 200 {object} swagger.FISLastCompetitorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/lastrow/competitor [get]
func (*CompetitorHandler) GetNationsBySector ¶
func (h *CompetitorHandler) GetNationsBySector(w http.ResponseWriter, r *http.Request)
GetNationsBySector godoc
@Summary Get distinct nation codes for a given sector
@Tags FIS - Athlete
@Accept json
@Produce json
@Param sectorcode query string true "Sector code (JP, NK, CC)"
@Success 200 {object} swagger.FISNationsBySectorResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/nation [get]
func (*CompetitorHandler) InsertCompetitor ¶
func (h *CompetitorHandler) InsertCompetitor(w http.ResponseWriter, r *http.Request)
InsertCompetitor godoc
@Summary Add new competitor
@Description Inserts a new competitor
@Tags FIS - Competitor Management
@Accept json
@Produce json
@Param competitor body swagger.FISInsertCompetitorExample true "Competitor payload"
@Success 201 "Created"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 409 {object} swagger.ConflictResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/competitor [post]
func (*CompetitorHandler) SearchCompetitors ¶
func (h *CompetitorHandler) SearchCompetitors(w http.ResponseWriter, r *http.Request)
SearchCompetitors godoc
@Summary Search competitors
@Description Gets competitors filtered by optional Nationcode, Sectorcode, Gender and age range (in years).
@Description Age filters (agemin/agemax) are converted internally to a birthdate range based on today's date.
@Tags FIS - KAMK
@Accept json
@Produce json
@Param nationcode query string false "Nation code filter (e.g. FIN)"
@Param sectorcode query string false "Sector code filter (CC,JP,NK)"
@Param gender query string false "Gender filter (M/W)"
@Param agemin query int false "Minimum age in years (inclusive). For example, agemin=18 means competitors who are at least 18."
@Param agemax query int false "Maximum age in years (inclusive). For example, agemax=30 means competitors who are at most 30."
@Success 200 {object} swagger.FISCompetitorSearchResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/competitor/search [get]
func (*CompetitorHandler) UpdateCompetitor ¶
func (h *CompetitorHandler) UpdateCompetitor(w http.ResponseWriter, r *http.Request)
UpdateCompetitor godoc
@Summary Update competitor by ID
@Description Updates an existing competitor
@Tags FIS - Competitor Management
@Accept json
@Produce json
@Param competitor body swagger.FISUpdateCompetitorExample true "Competitor payload"
@Success 200 "Updated"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/competitor [put]
type CompetitorIDParam ¶
type CompetitorIDParam struct {
CompetitorID string `form:"id" validate:"required,numeric"`
}
type FISAthleteResultCCRow ¶
type FISAthleteResultCCRow struct {
Recid int32 `json:"recid"`
Raceid *int32 `json:"raceid"`
Position *string `json:"position"`
Timetot *string `json:"timetot"`
Competitorid *int32 `json:"competitorid"`
Racedate *string `json:"racedate"`
Seasoncode *int32 `json:"seasoncode"`
Disciplinecode *string `json:"disciplinecode"`
Catcode *string `json:"catcode"`
Place *string `json:"place"`
}
func FISAthleteResultCCFromSqlc ¶
func FISAthleteResultCCFromSqlc(row fissqlc.GetAthleteResultsCCRow) FISAthleteResultCCRow
type FISAthleteResultJPRow ¶
type FISAthleteResultJPRow struct {
Raceid *int32 `json:"raceid"`
Position *int32 `json:"position"`
Racedate *string `json:"racedate"`
Seasoncode *int32 `json:"seasoncode"`
Disciplinecode *string `json:"disciplinecode"`
Catcode *string `json:"catcode"`
Place *string `json:"place"`
Posr1 *string `json:"posr1"`
Speedr1 *string `json:"speedr1"`
Distr1 *string `json:"distr1"`
Judptsr1 *string `json:"judptsr1"`
Windr1 *string `json:"windr1"`
Windptsr1 *string `json:"windptsr1"`
Gater1 *string `json:"gater1"`
Posr2 *string `json:"posr2"`
Speedr2 *string `json:"speedr2"`
Distr2 *string `json:"distr2"`
Judptsr2 *string `json:"judptsr2"`
Windr2 *string `json:"windr2"`
Windptsr2 *string `json:"windptsr2"`
Gater2 *string `json:"gater2"`
Totrun1 *string `json:"totrun1"`
Totrun2 *string `json:"totrun2"`
}
func FISAthleteResultJPFromSqlc ¶
func FISAthleteResultJPFromSqlc(row fissqlc.GetAthleteResultsJPRow) FISAthleteResultJPRow
type FISAthleteResultNKRow ¶
type FISAthleteResultNKRow struct {
Recid int32 `json:"recid"`
Raceid *int32 `json:"raceid"`
Position *int32 `json:"position"`
Racedate *string `json:"racedate"`
Seasoncode *int32 `json:"seasoncode"`
Distance *string `json:"distance"`
Hill *int32 `json:"hill"`
Disciplinecode *string `json:"disciplinecode"`
Catcode *string `json:"catcode"`
Place *string `json:"place"`
Posr1 *string `json:"posr1"`
Speedr1 *string `json:"speedr1"`
Distr1 *string `json:"distr1"`
Judptsr1 *string `json:"judptsr1"`
Windr1 *string `json:"windr1"`
Windptsr1 *string `json:"windptsr1"`
Gater1 *string `json:"gater1"`
Totrun1 *string `json:"totrun1"`
Poscc *string `json:"poscc"`
Timetot *string `json:"timetot"`
Timetotint *int32 `json:"timetotint"`
Pointsjump *string `json:"pointsjump"`
}
func FISAthleteResultNKFromSqlc ¶
func FISAthleteResultNKFromSqlc(row fissqlc.GetAthleteResultsNKRow) FISAthleteResultNKRow
type FISCompetitorResponse ¶
type FISCompetitorResponse struct {
Competitorid int32 `json:"competitorid"`
Personid *int32 `json:"personid"`
Ipcid *int32 `json:"ipcid"`
Type *string `json:"type"`
Sectorcode *string `json:"sectorcode"`
Fiscode *int32 `json:"fiscode"`
Lastname *string `json:"lastname"`
Firstname *string `json:"firstname"`
Gender *string `json:"gender"`
Birthdate *string `json:"birthdate"` // YYYY-MM-DD
StatusDate *string `json:"status_date"` // RFC3339
Dateofcreation *string `json:"dateofcreation"` // YYYY-MM-DD
Lastupdate *string `json:"lastupdate"` // RFC3339
Nationcode *string `json:"nationcode"`
Nationalcode *string `json:"nationalcode"`
Skiclub *string `json:"skiclub"`
Association *string `json:"association"`
Status *string `json:"status"`
StatusOld *string `json:"status_old"`
StatusBy *string `json:"status_by"`
Statusnextlist *string `json:"statusnextlist"`
Alternatenamecheck *string `json:"alternatenamecheck"`
Fee *string `json:"fee"`
Createdby *string `json:"createdby"`
Injury *int32 `json:"injury"`
Version *int32 `json:"version"`
Compidmssql *int32 `json:"compidmssql"`
Carving *int32 `json:"carving"`
Photo *int32 `json:"photo"`
Notallowed *int32 `json:"notallowed"`
Natteam *string `json:"natteam"`
Tragroup *string `json:"tragroup"`
Published *int32 `json:"published"`
Doped *string `json:"doped"`
Team *int32 `json:"team"`
PhotoBig *int32 `json:"photo_big"`
Data *string `json:"data"`
Lastupdateby *string `json:"lastupdateby"`
Disciplines *string `json:"disciplines"`
Deletedat *string `json:"deletedat"`
Categorycode *string `json:"categorycode"`
Classname *string `json:"classname"`
Classcode *string `json:"classcode"`
}
func FISCompetitorFullFromSqlc ¶
func FISCompetitorFullFromSqlc(row fissqlc.ACompetitor) FISCompetitorResponse
type FISRaceCCFullResponse ¶
type FISRaceCCFullResponse struct {
Raceid int32 `json:"raceid"`
Eventid *int32 `json:"eventid"`
Seasoncode *int32 `json:"seasoncode"`
Racecodex *int32 `json:"racecodex"`
Disciplineid *string `json:"disciplineid"`
Disciplinecode *string `json:"disciplinecode"`
Catcode *string `json:"catcode"`
Catcode2 *string `json:"catcode2"`
Catcode3 *string `json:"catcode3"`
Catcode4 *string `json:"catcode4"`
Gender *string `json:"gender"`
Racedate *string `json:"racedate"`
Starteventdate *string `json:"starteventdate"`
Description *string `json:"description"`
Place *string `json:"place"`
Nationcode *string `json:"nationcode"`
Td1id *int32 `json:"td1id"`
Td1name *string `json:"td1name"`
Td1nation *string `json:"td1nation"`
Td1code *int32 `json:"td1code"`
Td2id *int32 `json:"td2id"`
Td2name *string `json:"td2name"`
Td2nation *string `json:"td2nation"`
Td2code *int32 `json:"td2code"`
Calstatuscode *string `json:"calstatuscode"`
Procstatuscode *string `json:"procstatuscode"`
Receiveddate *string `json:"receiveddate"`
Pursuit *string `json:"pursuit"`
Masse *string `json:"masse"`
Relay *string `json:"relay"`
Distance *string `json:"distance"`
Hill *string `json:"hill"`
Style *string `json:"style"`
Qualif *string `json:"qualif"`
Finale *string `json:"finale"`
Homol *string `json:"homol"`
Webcomment *string `json:"webcomment"`
Displaystatus *string `json:"displaystatus"`
Fisinterncomment *string `json:"fisinterncomment"`
Published *int32 `json:"published"`
Validforfispoints *int32 `json:"validforfispoints"`
Usedfislist *string `json:"usedfislist"`
Tolist *string `json:"tolist"`
Discforlistcode *string `json:"discforlistcode"`
Calculatedpenalty *string `json:"calculatedpenalty"`
Appliedpenalty *string `json:"appliedpenalty"`
Appliedscala *string `json:"appliedscala"`
Penscafixed *string `json:"penscafixed"`
Version *int32 `json:"version"`
Nationraceid *int32 `json:"nationraceid"`
Provraceid *int32 `json:"provraceid"`
Msql7evid *int32 `json:"msql7evid"`
Mssql7id *int32 `json:"mssql7id"`
Results *int32 `json:"results"`
Pdf *int32 `json:"pdf"`
Toplogo *string `json:"toplogo"`
Bottomlogo *string `json:"bottomlogo"`
Gallery *string `json:"gallery"`
Indi *int32 `json:"indi"`
Team *int32 `json:"team"`
Tabcount *int32 `json:"tabcount"`
Columncount *int32 `json:"columncount"`
Level *string `json:"level"`
Hloc1 *string `json:"hloc1"`
Hloc2 *string `json:"hloc2"`
Hloc3 *string `json:"hloc3"`
Hcet1 *string `json:"hcet1"`
Hcet2 *string `json:"hcet2"`
Hcet3 *string `json:"hcet3"`
Live *int32 `json:"live"`
Livestatus1 *string `json:"livestatus1"`
Livestatus2 *string `json:"livestatus2"`
Livestatus3 *string `json:"livestatus3"`
Liveinfo1 *string `json:"liveinfo1"`
Liveinfo2 *string `json:"liveinfo2"`
Liveinfo3 *string `json:"liveinfo3"`
Passwd *string `json:"passwd"`
Timinglogo *string `json:"timinglogo"`
Validdate *string `json:"validdate"`
Noepr *int32 `json:"noepr"`
Tddoc *int32 `json:"tddoc"`
Timingreport *int32 `json:"timingreport"`
SpecialCupPoints *int32 `json:"special_cup_points"`
SkipWcsl *int32 `json:"skip_wcsl"`
Validforowg *int32 `json:"validforowg"`
Lastupdate *string `json:"lastupdate"`
}
func FISRaceCCFullFromSqlc ¶
func FISRaceCCFullFromSqlc(row fissqlc.ARacecc) FISRaceCCFullResponse
type FISRaceJPFullResponse ¶
type FISRaceJPFullResponse struct {
Raceid int32 `json:"raceid"`
Eventid *int32 `json:"eventid"`
Seasoncode *int32 `json:"seasoncode"`
Racecodex *int32 `json:"racecodex"`
Disciplineid *string `json:"disciplineid"`
Disciplinecode *string `json:"disciplinecode"`
Catcode *string `json:"catcode"`
Catcode2 *string `json:"catcode2"`
Catcode3 *string `json:"catcode3"`
Catcode4 *string `json:"catcode4"`
Gender *string `json:"gender"`
Racedate *string `json:"racedate"`
Starteventdate *string `json:"starteventdate"`
Description *string `json:"description"`
Place *string `json:"place"`
Nationcode *string `json:"nationcode"`
Td1id *int32 `json:"td1id"`
Td1name *string `json:"td1name"`
Td1nation *string `json:"td1nation"`
Td1code *int32 `json:"td1code"`
Td2id *int32 `json:"td2id"`
Td2name *string `json:"td2name"`
Td2nation *string `json:"td2nation"`
Td2code *int32 `json:"td2code"`
Calstatuscode *string `json:"calstatuscode"`
Procstatuscode *string `json:"procstatuscode"`
Receiveddate *string `json:"receiveddate"`
Pursuit *string `json:"pursuit"`
Masse *string `json:"masse"`
Relay *string `json:"relay"`
Distance *string `json:"distance"`
Hill *int32 `json:"hill"`
Style *string `json:"style"`
Qualif *string `json:"qualif"`
Finale *string `json:"finale"`
Homol *string `json:"homol"`
Webcomment *string `json:"webcomment"`
Displaystatus *string `json:"displaystatus"`
Fisinterncomment *string `json:"fisinterncomment"`
Published *int32 `json:"published"`
Validforfispoints *int32 `json:"validforfispoints"`
Usedfislist *string `json:"usedfislist"`
Tolist *string `json:"tolist"`
Discforlistcode *string `json:"discforlistcode"`
Calculatedpenalty *string `json:"calculatedpenalty"`
Appliedpenalty *string `json:"appliedpenalty"`
Appliedscala *string `json:"appliedscala"`
Penscafixed *string `json:"penscafixed"`
Version *int32 `json:"version"`
Nationraceid *int32 `json:"nationraceid"`
Provraceid *int32 `json:"provraceid"`
Msql7evid *int32 `json:"msql7evid"`
Mssql7id *int32 `json:"mssql7id"`
Results *int32 `json:"results"`
Pdf *int32 `json:"pdf"`
Toplogo *string `json:"toplogo"`
Bottomlogo *string `json:"bottomlogo"`
Gallery *string `json:"gallery"`
Indi *int32 `json:"indi"`
Team *int32 `json:"team"`
Tabcount *int32 `json:"tabcount"`
Columncount *int32 `json:"columncount"`
Level *string `json:"level"`
Hloc1 *string `json:"hloc1"`
Hloc2 *string `json:"hloc2"`
Hloc3 *string `json:"hloc3"`
Hcet1 *string `json:"hcet1"`
Hcet2 *string `json:"hcet2"`
Hcet3 *string `json:"hcet3"`
Live *int32 `json:"live"`
Livestatus1 *string `json:"livestatus1"`
Livestatus2 *string `json:"livestatus2"`
Livestatus3 *string `json:"livestatus3"`
Liveinfo1 *string `json:"liveinfo1"`
Liveinfo2 *string `json:"liveinfo2"`
Liveinfo3 *string `json:"liveinfo3"`
Passwd *string `json:"passwd"`
Timinglogo *string `json:"timinglogo"`
Validdate *string `json:"validdate"`
Noepr *int32 `json:"noepr"`
Tddoc *int32 `json:"tddoc"`
Timingreport *int32 `json:"timingreport"`
SpecialCupPoints *int32 `json:"special_cup_points"`
SkipWcsl *int32 `json:"skip_wcsl"`
Lastupdate *string `json:"lastupdate"`
Validforowg *string `json:"validforowg"`
}
func FISRaceJPFullFromSqlc ¶
func FISRaceJPFullFromSqlc(row fissqlc.ARacejp) FISRaceJPFullResponse
type FISRaceNKFullResponse ¶
type FISRaceNKFullResponse struct {
Raceid int32 `json:"raceid"`
Eventid *int32 `json:"eventid"`
Seasoncode *int32 `json:"seasoncode"`
Racecodex *int32 `json:"racecodex"`
Disciplineid *string `json:"disciplineid"`
Disciplinecode *string `json:"disciplinecode"`
Catcode *string `json:"catcode"`
Catcode2 *string `json:"catcode2"`
Catcode3 *string `json:"catcode3"`
Catcode4 *string `json:"catcode4"`
Gender *string `json:"gender"`
Racedate *string `json:"racedate"`
Starteventdate *string `json:"starteventdate"`
Description *string `json:"description"`
Place *string `json:"place"`
Nationcode *string `json:"nationcode"`
Td1id *int32 `json:"td1id"`
Td1name *string `json:"td1name"`
Td1nation *string `json:"td1nation"`
Td1code *int32 `json:"td1code"`
Td2id *int32 `json:"td2id"`
Td2name *string `json:"td2name"`
Td2nation *string `json:"td2nation"`
Td2code *int32 `json:"td2code"`
Calstatuscode *string `json:"calstatuscode"`
Procstatuscode *string `json:"procstatuscode"`
Receiveddate *string `json:"receiveddate"`
Pursuit *string `json:"pursuit"`
Masse *string `json:"masse"`
Relay *string `json:"relay"`
Distance *string `json:"distance"`
Hill *int32 `json:"hill"`
Style *string `json:"style"`
Qualif *string `json:"qualif"`
Finale *string `json:"finale"`
Homol *string `json:"homol"`
Webcomment *string `json:"webcomment"`
Displaystatus *string `json:"displaystatus"`
Fisinterncomment *string `json:"fisinterncomment"`
Published *int32 `json:"published"`
Validforfispoints *int32 `json:"validforfispoints"`
Usedfislist *string `json:"usedfislist"`
Tolist *string `json:"tolist"`
Discforlistcode *string `json:"discforlistcode"`
Calculatedpenalty *string `json:"calculatedpenalty"`
Appliedpenalty *string `json:"appliedpenalty"`
Appliedscala *string `json:"appliedscala"`
Penscafixed *string `json:"penscafixed"`
Version *int32 `json:"version"`
Nationraceid *int32 `json:"nationraceid"`
Provraceid *int32 `json:"provraceid"`
Msql7evid *int32 `json:"msql7evid"`
Mssql7id *int32 `json:"mssql7id"`
Results *int32 `json:"results"`
Pdf *int32 `json:"pdf"`
Toplogo *string `json:"toplogo"`
Bottomlogo *string `json:"bottomlogo"`
Gallery *string `json:"gallery"`
Indi *int32 `json:"indi"`
Team *int32 `json:"team"`
Tabcount *int32 `json:"tabcount"`
Columncount *int32 `json:"columncount"`
Level *string `json:"level"`
Hloc1 *string `json:"hloc1"`
Hloc2 *string `json:"hloc2"`
Hloc3 *string `json:"hloc3"`
Hcet1 *string `json:"hcet1"`
Hcet2 *string `json:"hcet2"`
Hcet3 *string `json:"hcet3"`
Live *int32 `json:"live"`
Livestatus1 *string `json:"livestatus1"`
Livestatus2 *string `json:"livestatus2"`
Livestatus3 *string `json:"livestatus3"`
Liveinfo1 *string `json:"liveinfo1"`
Liveinfo2 *string `json:"liveinfo2"`
Liveinfo3 *string `json:"liveinfo3"`
Passwd *string `json:"passwd"`
Timinglogo *string `json:"timinglogo"`
Validdate *string `json:"validdate"`
Noepr *int32 `json:"noepr"`
Tddoc *int32 `json:"tddoc"`
Timingreport *int32 `json:"timingreport"`
SpecialCupPoints *int32 `json:"special_cup_points"`
SkipWcsl *int32 `json:"skip_wcsl"`
Validforowg *int32 `json:"validforowg"`
Lastupdate *string `json:"lastupdate"`
}
func FISRaceNKFullFromSqlc ¶
func FISRaceNKFullFromSqlc(row fissqlc.ARacenk) FISRaceNKFullResponse
type FISResultCCFullResponse ¶
type FISResultCCFullResponse struct {
Recid int32 `json:"recid"`
Raceid *int32 `json:"raceid"`
Competitorid *int32 `json:"competitorid"`
Status *string `json:"status"`
Reason *string `json:"reason"`
Position *string `json:"position"`
Pf *int32 `json:"pf"`
Status2 *string `json:"status2"`
Bib *string `json:"bib"`
Bibcolor *string `json:"bibcolor"`
Fiscode *int32 `json:"fiscode"`
Competitorname *string `json:"competitorname"`
Nationcode *string `json:"nationcode"`
Stage *string `json:"stage"`
Level *string `json:"level"`
Heat *string `json:"heat"`
Timer1 *string `json:"timer1"`
Timer2 *string `json:"timer2"`
Timer3 *string `json:"timer3"`
Timetot *string `json:"timetot"`
Valid *string `json:"valid"`
Racepoints *string `json:"racepoints"`
Cuppoints *string `json:"cuppoints"`
Bonustime *string `json:"bonustime"`
Bonuscuppoints *string `json:"bonuscuppoints"`
Version *string `json:"version"`
Rg1 *string `json:"rg1"`
Rg2 *string `json:"rg2"`
Lastupdate *string `json:"lastupdate"`
}
func FISResultCCFullFromSqlc ¶
func FISResultCCFullFromSqlc(row fissqlc.AResultcc) FISResultCCFullResponse
type FISResultJPFullResponse ¶
type FISResultJPFullResponse struct {
Recid int32 `json:"recid"`
Raceid *int32 `json:"raceid"`
Competitorid *int32 `json:"competitorid"`
Status *string `json:"status"`
Status2 *string `json:"status2"`
Position *int32 `json:"position"`
Bib *int32 `json:"bib"`
Fiscode *int32 `json:"fiscode"`
Competitorname *string `json:"competitorname"`
Nationcode *string `json:"nationcode"`
Level *string `json:"level"`
Heat *string `json:"heat"`
Stage *string `json:"stage"`
J1r1 *string `json:"j1r1"`
J2r1 *string `json:"j2r1"`
J3r1 *string `json:"j3r1"`
J4r1 *string `json:"j4r1"`
J5r1 *string `json:"j5r1"`
Speedr1 *string `json:"speedr1"`
Distr1 *string `json:"distr1"`
Disptsr1 *string `json:"disptsr1"`
Judptsr1 *string `json:"judptsr1"`
Totrun1 *string `json:"totrun1"`
Posr1 *string `json:"posr1"`
Statusr1 *string `json:"statusr1"`
J1r2 *string `json:"j1r2"`
J2r2 *string `json:"j2r2"`
J3r2 *string `json:"j3r2"`
J4r2 *string `json:"j4r2"`
J5r2 *string `json:"j5r2"`
Speedr2 *string `json:"speedr2"`
Distr2 *string `json:"distr2"`
Disptsr2 *string `json:"disptsr2"`
Judptsr2 *string `json:"judptsr2"`
Totrun2 *string `json:"totrun2"`
Posr2 *string `json:"posr2"`
Statusr2 *string `json:"statusr2"`
J1r3 *string `json:"j1r3"`
J2r3 *string `json:"j2r3"`
J3r3 *string `json:"j3r3"`
J4r3 *string `json:"j4r3"`
J5r3 *string `json:"j5r3"`
Speedr3 *string `json:"speedr3"`
Distr3 *string `json:"distr3"`
Disptsr3 *string `json:"disptsr3"`
Judptsr3 *string `json:"judptsr3"`
Totrun3 *string `json:"totrun3"`
Posr3 *string `json:"posr3"`
Statusr3 *string `json:"statusr3"`
J1r4 *string `json:"j1r4"`
J2r4 *string `json:"j2r4"`
J3r4 *string `json:"j3r4"`
J4r4 *string `json:"j4r4"`
J5r4 *string `json:"j5r4"`
Speedr4 *string `json:"speedr4"`
Distr4 *string `json:"distr4"`
Disptsr4 *string `json:"disptsr4"`
Judptsr4 *string `json:"judptsr4"`
Gater1 *string `json:"gater1"`
Gater2 *string `json:"gater2"`
Gater3 *string `json:"gater3"`
Gater4 *string `json:"gater4"`
Gateptsr1 *string `json:"gateptsr1"`
Gateptsr2 *string `json:"gateptsr2"`
Gateptsr3 *string `json:"gateptsr3"`
Gateptsr4 *string `json:"gateptsr4"`
Windr1 *string `json:"windr1"`
Windr2 *string `json:"windr2"`
Windr3 *string `json:"windr3"`
Windr4 *string `json:"windr4"`
Windptsr1 *string `json:"windptsr1"`
Windptsr2 *string `json:"windptsr2"`
Windptsr3 *string `json:"windptsr3"`
Windptsr4 *string `json:"windptsr4"`
Reason *string `json:"reason"`
Totrun4 *string `json:"totrun4"`
Tot *string `json:"tot"`
Valid *int32 `json:"valid"`
Racepoints *string `json:"racepoints"`
Cuppoints *string `json:"cuppoints"`
Version *string `json:"version"`
Lastupdate *string `json:"lastupdate"`
Posr4 *string `json:"posr4"`
Statusr4 *string `json:"statusr4"`
}
func FISResultJPFullFromSqlc ¶
func FISResultJPFullFromSqlc(row fissqlc.AResultjp) FISResultJPFullResponse
type FISResultNKFullResponse ¶
type FISResultNKFullResponse struct {
Recid int32 `json:"recid"`
Raceid *int32 `json:"raceid"`
Competitorid *int32 `json:"competitorid"`
Status *string `json:"status"`
Status2 *string `json:"status2"`
Reason *string `json:"reason"`
Position *int32 `json:"position"`
Pf *int32 `json:"pf"`
Bib *int32 `json:"bib"`
Bibcolor *string `json:"bibcolor"`
Fiscode *int32 `json:"fiscode"`
Competitorname *string `json:"competitorname"`
Nationcode *string `json:"nationcode"`
Level *string `json:"level"`
Heat *string `json:"heat"`
Stage *string `json:"stage"`
J1r1 *string `json:"j1r1"`
J2r1 *string `json:"j2r1"`
J3r1 *string `json:"j3r1"`
J4r1 *string `json:"j4r1"`
J5r1 *string `json:"j5r1"`
Speedr1 *string `json:"speedr1"`
Distr1 *string `json:"distr1"`
Disptsr1 *string `json:"disptsr1"`
Judptsr1 *string `json:"judptsr1"`
Gater1 *string `json:"gater1"`
Gateptsr1 *string `json:"gateptsr1"`
Windr1 *string `json:"windr1"`
Windptsr1 *string `json:"windptsr1"`
Totrun1 *string `json:"totrun1"`
Posr1 *string `json:"posr1"`
Statusr1 *string `json:"statusr1"`
J1r2 *string `json:"j1r2"`
J2r2 *string `json:"j2r2"`
J3r2 *string `json:"j3r2"`
J4r2 *string `json:"j4r2"`
J5r2 *string `json:"j5r2"`
Speedr2 *string `json:"speedr2"`
Distr2 *string `json:"distr2"`
Disptsr2 *string `json:"disptsr2"`
Judptsr2 *string `json:"judptsr2"`
Gater2 *string `json:"gater2"`
Gateptsr2 *string `json:"gateptsr2"`
Windr2 *string `json:"windr2"`
Windptsr2 *string `json:"windptsr2"`
Totrun2 *string `json:"totrun2"`
Posr2 *string `json:"posr2"`
Statusr2 *string `json:"statusr2"`
Pointsjump *string `json:"pointsjump"`
Behindjump *string `json:"behindjump"`
Posjump *string `json:"posjump"`
Timecc *string `json:"timecc"`
Timeccint *string `json:"timeccint"`
Poscc *string `json:"poscc"`
Starttime *string `json:"starttime"`
Statuscc *string `json:"statuscc"`
Totbehind *string `json:"totbehind"`
Timetot *string `json:"timetot"`
Timetotint *int32 `json:"timetotint"`
Valid *int32 `json:"valid"`
Racepoints *string `json:"racepoints"`
Cuppoints *string `json:"cuppoints"`
Version *string `json:"version"`
Lastupdate *string `json:"lastupdate"`
}
func FISResultNKFullFromSqlc ¶
func FISResultNKFullFromSqlc(row fissqlc.AResultnk) FISResultNKFullResponse
type InsertAthleteInput ¶
type InsertCompetitorInput ¶
type InsertCompetitorInput struct {
Competitorid int32 `json:"competitorid" validate:"required"`
Personid *int32 `json:"personid"`
Ipcid *int32 `json:"ipcid"`
Fiscode *int32 `json:"fiscode"`
Birthdate *string `json:"birthdate"`
StatusDate *string `json:"status_date"`
Fee *string `json:"fee"`
Dateofcreation *string `json:"dateofcreation"`
Injury *int32 `json:"injury"`
Version *int32 `json:"version"`
Compidmssql *int32 `json:"compidmssql"`
Carving *int32 `json:"carving"`
Photo *int32 `json:"photo"`
Notallowed *int32 `json:"notallowed"`
Published *int32 `json:"published"`
Team *int32 `json:"team"`
PhotoBig *int32 `json:"photo_big"`
Lastupdate *string `json:"lastupdate"`
Statusnextlist *string `json:"statusnextlist"`
Alternatenamecheck *string `json:"alternatenamecheck"`
Deletedat *string `json:"deletedat"`
Doped *string `json:"doped"`
Createdby *string `json:"createdby"`
Categorycode *string `json:"categorycode"`
Classname *string `json:"classname"`
Data *string `json:"data"`
Lastupdateby *string `json:"lastupdateby"`
Disciplines *string `json:"disciplines"`
Type *string `json:"type"`
Sectorcode *string `json:"sectorcode"`
Classcode *string `json:"classcode"`
Lastname *string `json:"lastname"`
Firstname *string `json:"firstname"`
Gender *string `json:"gender"`
Natteam *string `json:"natteam"`
Nationcode *string `json:"nationcode"`
Nationalcode *string `json:"nationalcode"`
Skiclub *string `json:"skiclub"`
Association *string `json:"association"`
Status *string `json:"status"`
StatusOld *string `json:"status_old"`
StatusBy *string `json:"status_by"`
Tragroup *string `json:"tragroup"`
}
type InsertRaceCCInput ¶
type InsertRaceCCInput struct {
Raceid int32 `json:"raceid" validate:"required"`
Eventid *int32 `json:"eventid"`
Seasoncode *int32 `json:"seasoncode"`
Racecodex *int32 `json:"racecodex"`
Disciplineid *string `json:"disciplineid"`
Disciplinecode *string `json:"disciplinecode"`
Catcode *string `json:"catcode"`
Catcode2 *string `json:"catcode2"`
Catcode3 *string `json:"catcode3"`
Catcode4 *string `json:"catcode4"`
Gender *string `json:"gender"`
Racedate *string `json:"racedate"` // YYYY-MM-DD
Starteventdate *string `json:"starteventdate"` // YYYY-MM-DD
Description *string `json:"description"`
Place *string `json:"place"`
Nationcode *string `json:"nationcode"`
Receiveddate *string `json:"receiveddate"` // RFC3339 or date
Validdate *string `json:"validdate"` // RFC3339 or date
Td1id *int32 `json:"td1id"`
Td1name *string `json:"td1name"`
Td1nation *string `json:"td1nation"`
Td1code *int32 `json:"td1code"`
Td2id *int32 `json:"td2id"`
Td2name *string `json:"td2name"`
Td2nation *string `json:"td2nation"`
Td2code *int32 `json:"td2code"`
Calstatuscode *string `json:"calstatuscode"`
Procstatuscode *string `json:"procstatuscode"`
Displaystatus *string `json:"displaystatus"`
Fisinterncomment *string `json:"fisinterncomment"`
Webcomment *string `json:"webcomment"`
Pursuit *string `json:"pursuit"`
Masse *string `json:"masse"`
Relay *string `json:"relay"`
Distance *string `json:"distance"`
Hill *string `json:"hill"`
Style *string `json:"style"`
Qualif *string `json:"qualif"`
Finale *string `json:"finale"`
Homol *string `json:"homol"`
Published *int32 `json:"published"`
Validforfispoints *int32 `json:"validforfispoints"`
Usedfislist *string `json:"usedfislist"`
Tolist *string `json:"tolist"`
Discforlistcode *string `json:"discforlistcode"`
Calculatedpenalty *string `json:"calculatedpenalty"`
Appliedpenalty *string `json:"appliedpenalty"`
Appliedscala *string `json:"appliedscala"`
Penscafixed *string `json:"penscafixed"`
Version *int32 `json:"version"`
Nationraceid *int32 `json:"nationraceid"`
Provraceid *int32 `json:"provraceid"`
Msql7evid *int32 `json:"msql7evid"`
Mssql7id *int32 `json:"mssql7id"`
Toplogo *string `json:"toplogo"`
Bottomlogo *string `json:"bottomlogo"`
Gallery *string `json:"gallery"`
Indi *int32 `json:"indi"`
Team *int32 `json:"team"`
Tabcount *int32 `json:"tabcount"`
Columncount *int32 `json:"columncount"`
Level *string `json:"level"`
Hloc1 *string `json:"hloc1"`
Hloc2 *string `json:"hloc2"`
Hloc3 *string `json:"hloc3"`
Hcet1 *string `json:"hcet1"`
Hcet2 *string `json:"hcet2"`
Hcet3 *string `json:"hcet3"`
Live *int32 `json:"live"`
Livestatus1 *string `json:"livestatus1"`
Livestatus2 *string `json:"livestatus2"`
Livestatus3 *string `json:"livestatus3"`
Liveinfo1 *string `json:"liveinfo1"`
Liveinfo2 *string `json:"liveinfo2"`
Liveinfo3 *string `json:"liveinfo3"`
Passwd *string `json:"passwd"`
Timinglogo *string `json:"timinglogo"`
Results *int32 `json:"results"`
Pdf *int32 `json:"pdf"`
Noepr *int32 `json:"noepr"`
Tddoc *int32 `json:"tddoc"`
Timingreport *int32 `json:"timingreport"`
SpecialCupPoints *int32 `json:"special_cup_points"`
SkipWcsl *int32 `json:"skip_wcsl"`
Validforowg *int32 `json:"validforowg"`
Lastupdate *string `json:"lastupdate"` // RFC3339
}
type InsertRaceJPInput ¶
type InsertRaceJPInput struct {
Raceid int32 `json:"raceid" validate:"required"`
Eventid *int32 `json:"eventid"`
Seasoncode *int32 `json:"seasoncode"`
Racecodex *int32 `json:"racecodex"`
Disciplineid *string `json:"disciplineid"`
Disciplinecode *string `json:"disciplinecode"`
Catcode *string `json:"catcode"`
Catcode2 *string `json:"catcode2"`
Catcode3 *string `json:"catcode3"`
Catcode4 *string `json:"catcode4"`
Gender *string `json:"gender"`
Racedate *string `json:"racedate"` // YYYY-MM-DD
Starteventdate *string `json:"starteventdate"` // YYYY-MM-DD
Description *string `json:"description"`
Place *string `json:"place"`
Nationcode *string `json:"nationcode"`
Receiveddate *string `json:"receiveddate"` // RFC3339
Td1id *int32 `json:"td1id"`
Td1name *string `json:"td1name"`
Td1nation *string `json:"td1nation"`
Td1code *int32 `json:"td1code"`
Td2id *int32 `json:"td2id"`
Td2name *string `json:"td2name"`
Td2nation *string `json:"td2nation"`
Td2code *int32 `json:"td2code"`
Calstatuscode *string `json:"calstatuscode"`
Procstatuscode *string `json:"procstatuscode"`
Pursuit *string `json:"pursuit"`
Masse *string `json:"masse"`
Relay *string `json:"relay"`
Distance *string `json:"distance"`
Hill *int32 `json:"hill"`
Style *string `json:"style"`
Qualif *string `json:"qualif"`
Finale *string `json:"finale"`
Homol *string `json:"homol"`
Webcomment *string `json:"webcomment"`
Displaystatus *string `json:"displaystatus"`
Fisinterncomment *string `json:"fisinterncomment"`
Published *int32 `json:"published"`
Validforfispoints *int32 `json:"validforfispoints"`
Usedfislist *string `json:"usedfislist"`
Tolist *string `json:"tolist"`
Discforlistcode *string `json:"discforlistcode"`
Calculatedpenalty *string `json:"calculatedpenalty"`
Appliedpenalty *string `json:"appliedpenalty"`
Appliedscala *string `json:"appliedscala"`
Penscafixed *string `json:"penscafixed"`
Version *int32 `json:"version"`
Nationraceid *int32 `json:"nationraceid"`
Provraceid *int32 `json:"provraceid"`
Msql7evid *int32 `json:"msql7evid"`
Mssql7id *int32 `json:"mssql7id"`
Results *int32 `json:"results"`
Pdf *int32 `json:"pdf"`
Toplogo *string `json:"toplogo"`
Bottomlogo *string `json:"bottomlogo"`
Gallery *string `json:"gallery"`
Indi *int32 `json:"indi"`
Team *int32 `json:"team"`
Tabcount *int32 `json:"tabcount"`
Columncount *int32 `json:"columncount"`
Level *string `json:"level"`
Hloc1 *string `json:"hloc1"` // RFC3339 time-of-day
Hloc2 *string `json:"hloc2"`
Hloc3 *string `json:"hloc3"`
Hcet1 *string `json:"hcet1"`
Hcet2 *string `json:"hcet2"`
Hcet3 *string `json:"hcet3"`
Live *int32 `json:"live"`
Livestatus1 *string `json:"livestatus1"`
Livestatus2 *string `json:"livestatus2"`
Livestatus3 *string `json:"livestatus3"`
Liveinfo1 *string `json:"liveinfo1"`
Liveinfo2 *string `json:"liveinfo2"`
Liveinfo3 *string `json:"liveinfo3"`
Passwd *string `json:"passwd"`
Timinglogo *string `json:"timinglogo"`
Validdate *string `json:"validdate"` // RFC3339
Noepr *int32 `json:"noepr"`
Tddoc *int32 `json:"tddoc"`
Timingreport *int32 `json:"timingreport"`
SpecialCupPoints *int32 `json:"special_cup_points"`
SkipWcsl *int32 `json:"skip_wcsl"`
Lastupdate *string `json:"lastupdate"` // RFC3339
Validforowg *string `json:"validforowg"` // varchar
}
type InsertRaceNKInput ¶
type InsertRaceNKInput struct {
Raceid int32 `json:"raceid" validate:"required"`
Eventid *int32 `json:"eventid"`
Seasoncode *int32 `json:"seasoncode"`
Racecodex *int32 `json:"racecodex"`
Disciplineid *string `json:"disciplineid"`
Disciplinecode *string `json:"disciplinecode"`
Catcode *string `json:"catcode"`
Catcode2 *string `json:"catcode2"`
Catcode3 *string `json:"catcode3"`
Catcode4 *string `json:"catcode4"`
Gender *string `json:"gender"`
Racedate *string `json:"racedate"` // YYYY-MM-DD
Starteventdate *string `json:"starteventdate"` // YYYY-MM-DD
Description *string `json:"description"`
Place *string `json:"place"`
Nationcode *string `json:"nationcode"`
Receiveddate *string `json:"receiveddate"` // RFC3339
Validdate *string `json:"validdate"` // RFC3339
Td1id *int32 `json:"td1id"`
Td1name *string `json:"td1name"`
Td1nation *string `json:"td1nation"`
Td1code *int32 `json:"td1code"`
Td2id *int32 `json:"td2id"`
Td2name *string `json:"td2name"`
Td2nation *string `json:"td2nation"`
Td2code *int32 `json:"td2code"`
Calstatuscode *string `json:"calstatuscode"`
Procstatuscode *string `json:"procstatuscode"`
Pursuit *string `json:"pursuit"`
Masse *string `json:"masse"`
Relay *string `json:"relay"`
Distance *string `json:"distance"`
Hill *int32 `json:"hill"`
Style *string `json:"style"`
Qualif *string `json:"qualif"`
Finale *string `json:"finale"`
Homol *string `json:"homol"`
Webcomment *string `json:"webcomment"`
Displaystatus *string `json:"displaystatus"`
Fisinterncomment *string `json:"fisinterncomment"`
Published *int32 `json:"published"`
Validforfispoints *int32 `json:"validforfispoints"`
Usedfislist *string `json:"usedfislist"`
Tolist *string `json:"tolist"`
Discforlistcode *string `json:"discforlistcode"`
Calculatedpenalty *string `json:"calculatedpenalty"`
Appliedpenalty *string `json:"appliedpenalty"`
Appliedscala *string `json:"appliedscala"`
Penscafixed *string `json:"penscafixed"`
Version *int32 `json:"version"`
Nationraceid *int32 `json:"nationraceid"`
Provraceid *int32 `json:"provraceid"`
Msql7evid *int32 `json:"msql7evid"`
Mssql7id *int32 `json:"mssql7id"`
Results *int32 `json:"results"`
Pdf *int32 `json:"pdf"`
Toplogo *string `json:"toplogo"`
Bottomlogo *string `json:"bottomlogo"`
Gallery *string `json:"gallery"`
Indi *int32 `json:"indi"`
Team *int32 `json:"team"`
Tabcount *int32 `json:"tabcount"`
Columncount *int32 `json:"columncount"`
Level *string `json:"level"`
Hloc1 *string `json:"hloc1"` // RFC3339
Hloc2 *string `json:"hloc2"`
Hloc3 *string `json:"hloc3"`
Hcet1 *string `json:"hcet1"`
Hcet2 *string `json:"hcet2"`
Hcet3 *string `json:"hcet3"`
Live *int32 `json:"live"`
Livestatus1 *string `json:"livestatus1"`
Livestatus2 *string `json:"livestatus2"`
Livestatus3 *string `json:"livestatus3"`
Liveinfo1 *string `json:"liveinfo1"`
Liveinfo2 *string `json:"liveinfo2"`
Liveinfo3 *string `json:"liveinfo3"`
Passwd *string `json:"passwd"`
Timinglogo *string `json:"timinglogo"`
Noepr *int32 `json:"noepr"`
Tddoc *int32 `json:"tddoc"`
Timingreport *int32 `json:"timingreport"`
SpecialCupPoints *int32 `json:"special_cup_points"`
SkipWcsl *int32 `json:"skip_wcsl"`
Validforowg *int32 `json:"validforowg"`
Lastupdate *string `json:"lastupdate"` // RFC3339
}
type InsertResultCCInput ¶
type InsertResultCCInput struct {
Recid int32 `json:"recid" validate:"required"`
Raceid *int32 `json:"raceid"`
Competitorid *int32 `json:"competitorid"`
Status *string `json:"status"`
Reason *string `json:"reason"`
Position *string `json:"position"`
Pf *int32 `json:"pf"`
Status2 *string `json:"status2"`
Bib *string `json:"bib"`
Bibcolor *string `json:"bibcolor"`
Fiscode *int32 `json:"fiscode"`
Competitorname *string `json:"competitorname"`
Nationcode *string `json:"nationcode"`
Stage *string `json:"stage"`
Level *string `json:"level"`
Heat *string `json:"heat"`
Timer1 *string `json:"timer1"`
Timer2 *string `json:"timer2"`
Timer3 *string `json:"timer3"`
Timetot *string `json:"timetot"`
Valid *string `json:"valid"`
Racepoints *string `json:"racepoints"`
Cuppoints *string `json:"cuppoints"`
Bonustime *string `json:"bonustime"`
Bonuscuppoints *string `json:"bonuscuppoints"`
Version *string `json:"version"`
Rg1 *string `json:"rg1"`
Rg2 *string `json:"rg2"`
Lastupdate *string `json:"lastupdate"` // RFC3339
}
type InsertResultJPInput ¶
type InsertResultJPInput struct {
Recid int32 `json:"recid" validate:"required"`
Raceid *int32 `json:"raceid"`
Competitorid *int32 `json:"competitorid"`
Status *string `json:"status"`
Status2 *string `json:"status2"`
Position *int32 `json:"position"`
Bib *int32 `json:"bib"`
Fiscode *int32 `json:"fiscode"`
Competitorname *string `json:"competitorname"`
Nationcode *string `json:"nationcode"`
Level *string `json:"level"`
Heat *string `json:"heat"`
Stage *string `json:"stage"`
J1r1 *string `json:"j1r1"`
J2r1 *string `json:"j2r1"`
J3r1 *string `json:"j3r1"`
J4r1 *string `json:"j4r1"`
J5r1 *string `json:"j5r1"`
Speedr1 *string `json:"speedr1"`
Distr1 *string `json:"distr1"`
Disptsr1 *string `json:"disptsr1"`
Judptsr1 *string `json:"judptsr1"`
Totrun1 *string `json:"totrun1"`
Posr1 *string `json:"posr1"`
Statusr1 *string `json:"statusr1"`
J1r2 *string `json:"j1r2"`
J2r2 *string `json:"j2r2"`
J3r2 *string `json:"j3r2"`
J4r2 *string `json:"j4r2"`
J5r2 *string `json:"j5r2"`
Speedr2 *string `json:"speedr2"`
Distr2 *string `json:"distr2"`
Disptsr2 *string `json:"disptsr2"`
Judptsr2 *string `json:"judptsr2"`
Totrun2 *string `json:"totrun2"`
Posr2 *string `json:"posr2"`
Statusr2 *string `json:"statusr2"`
J1r3 *string `json:"j1r3"`
J2r3 *string `json:"j2r3"`
J3r3 *string `json:"j3r3"`
J4r3 *string `json:"j4r3"`
J5r3 *string `json:"j5r3"`
Speedr3 *string `json:"speedr3"`
Distr3 *string `json:"distr3"`
Disptsr3 *string `json:"disptsr3"`
Judptsr3 *string `json:"judptsr3"`
Totrun3 *string `json:"totrun3"`
Posr3 *string `json:"posr3"`
Statusr3 *string `json:"statusr3"`
J1r4 *string `json:"j1r4"`
J2r4 *string `json:"j2r4"`
J3r4 *string `json:"j3r4"`
J4r4 *string `json:"j4r4"`
J5r4 *string `json:"j5r4"`
Speedr4 *string `json:"speedr4"`
Distr4 *string `json:"distr4"`
Disptsr4 *string `json:"disptsr4"`
Judptsr4 *string `json:"judptsr4"`
Gater1 *string `json:"gater1"`
Gater2 *string `json:"gater2"`
Gater3 *string `json:"gater3"`
Gater4 *string `json:"gater4"`
Gateptsr1 *string `json:"gateptsr1"`
Gateptsr2 *string `json:"gateptsr2"`
Gateptsr3 *string `json:"gateptsr3"`
Gateptsr4 *string `json:"gateptsr4"`
Windr1 *string `json:"windr1"`
Windr2 *string `json:"windr2"`
Windr3 *string `json:"windr3"`
Windr4 *string `json:"windr4"`
Windptsr1 *string `json:"windptsr1"`
Windptsr2 *string `json:"windptsr2"`
Windptsr3 *string `json:"windptsr3"`
Windptsr4 *string `json:"windptsr4"`
Reason *string `json:"reason"`
Totrun4 *string `json:"totrun4"`
Tot *string `json:"tot"`
Valid *int32 `json:"valid"`
Racepoints *string `json:"racepoints"`
Cuppoints *string `json:"cuppoints"`
Version *string `json:"version"`
Lastupdate *string `json:"lastupdate"` // RFC3339
Posr4 *string `json:"posr4"`
Statusr4 *string `json:"statusr4"`
}
type InsertResultNKInput ¶
type InsertResultNKInput struct {
Recid int32 `json:"recid" validate:"required"`
Raceid *int32 `json:"raceid"`
Competitorid *int32 `json:"competitorid"`
Status *string `json:"status"`
Status2 *string `json:"status2"`
Reason *string `json:"reason"`
Position *int32 `json:"position"`
Pf *int32 `json:"pf"`
Bib *int32 `json:"bib"`
Bibcolor *string `json:"bibcolor"`
Fiscode *int32 `json:"fiscode"`
Competitorname *string `json:"competitorname"`
Nationcode *string `json:"nationcode"`
Level *string `json:"level"`
Heat *string `json:"heat"`
Stage *string `json:"stage"`
J1r1 *string `json:"j1r1"`
J2r1 *string `json:"j2r1"`
J3r1 *string `json:"j3r1"`
J4r1 *string `json:"j4r1"`
J5r1 *string `json:"j5r1"`
Speedr1 *string `json:"speedr1"`
Distr1 *string `json:"distr1"`
Disptsr1 *string `json:"disptsr1"`
Judptsr1 *string `json:"judptsr1"`
Gater1 *string `json:"gater1"`
Gateptsr1 *string `json:"gateptsr1"`
Windr1 *string `json:"windr1"`
Windptsr1 *string `json:"windptsr1"`
Totrun1 *string `json:"totrun1"`
Posr1 *string `json:"posr1"`
Statusr1 *string `json:"statusr1"`
J1r2 *string `json:"j1r2"`
J2r2 *string `json:"j2r2"`
J3r2 *string `json:"j3r2"`
J4r2 *string `json:"j4r2"`
J5r2 *string `json:"j5r2"`
Speedr2 *string `json:"speedr2"`
Distr2 *string `json:"distr2"`
Disptsr2 *string `json:"disptsr2"`
Judptsr2 *string `json:"judptsr2"`
Gater2 *string `json:"gater2"`
Gateptsr2 *string `json:"gateptsr2"`
Windr2 *string `json:"windr2"`
Windptsr2 *string `json:"windptsr2"`
Totrun2 *string `json:"totrun2"`
Posr2 *string `json:"posr2"`
Statusr2 *string `json:"statusr2"`
Pointsjump *string `json:"pointsjump"`
Behindjump *string `json:"behindjump"`
Posjump *string `json:"posjump"`
Timecc *string `json:"timecc"`
Timeccint *string `json:"timeccint"`
Poscc *string `json:"poscc"`
Starttime *string `json:"starttime"`
Statuscc *string `json:"statuscc"`
Totbehind *string `json:"totbehind"`
Timetot *string `json:"timetot"`
Timetotint *int32 `json:"timetotint"`
Valid *int32 `json:"valid"`
Racepoints *string `json:"racepoints"`
Cuppoints *string `json:"cuppoints"`
Version *string `json:"version"`
Lastupdate *string `json:"lastupdate"` // RFC3339
}
type NationsBySectorResponse ¶
type NationsBySectorResponse struct {
Nations []string `json:"nations"`
}
type RaceCCHandler ¶
type RaceCCHandler struct {
// contains filtered or unexported fields
}
func NewRaceCCHandler ¶
func NewRaceCCHandler(store fis.Racecc, cache *cache.Storage) *RaceCCHandler
func (*RaceCCHandler) DeleteRaceCC ¶
func (h *RaceCCHandler) DeleteRaceCC(w http.ResponseWriter, r *http.Request)
DeleteRaceCC godoc
@Summary Delete Cross-Country race
@Description Deletes a race by RaceID
@Tags FIS - Race Management – Cross-Country
@Accept json
@Produce json
@Param id query int32 true "Race ID"
@Success 200 "Deleted"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/racecc [delete]
func (*RaceCCHandler) GetCategoryCodesCC ¶
func (h *RaceCCHandler) GetCategoryCodesCC(w http.ResponseWriter, r *http.Request)
GetCategoryCodesCC godoc
@Summary Get Cross-Country category codes
@Tags FIS - Season Discipline & Category Codes
@Accept json
@Produce json
@Success 200 {object} swagger.FISCategoriesCCResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/catcodeCC [get]
func (*RaceCCHandler) GetDisciplineCodesCC ¶
func (h *RaceCCHandler) GetDisciplineCodesCC(w http.ResponseWriter, r *http.Request)
GetDisciplineCodesCC godoc
@Summary Get Cross-Country discipline codes
@Tags FIS - Season Discipline & Category Codes
@Accept json
@Produce json
@Success 200 {object} swagger.FISDisciplinesCCResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/disciplinecodeCC [get]
func (*RaceCCHandler) GetLastRowRaceCC ¶
func (h *RaceCCHandler) GetLastRowRaceCC(w http.ResponseWriter, r *http.Request)
GetLastRowRaceCC godoc
@Summary Get last Cross-Country race record
@Description Returns the last row in a_racecc (by RaceID DESC)
@Tags FIS - Race Management – Cross-Country
@Accept json
@Produce json
@Success 200 {object} swagger.FISLastRaceCCResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/lastrow/racecc [get]
func (*RaceCCHandler) GetRacesCC ¶
func (h *RaceCCHandler) GetRacesCC(w http.ResponseWriter, r *http.Request)
GetRacesCC godoc
@Summary Get list of Cross-Country races
@Tags FIS - Race Data
@Accept json
@Produce json
@Param seasoncode query []int32 false "Season code (repeat or comma-separated)"
@Param disciplinecode query []string false "Discipline code (repeat or comma-separated)"
@Param catcode query []string false "Category code (repeat or comma-separated)"
@Success 200 {object} swagger.FISRacesCCResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/racecc [get]
func (*RaceCCHandler) GetSeasonCodesCC ¶
func (h *RaceCCHandler) GetSeasonCodesCC(w http.ResponseWriter, r *http.Request)
GetSeasonCodesCC godoc
@Summary Get Cross-Country season codes
@Tags FIS - Season Discipline & Category Codes
@Accept json
@Produce json
@Success 200 {object} swagger.FISSeasonsCCResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/seasoncodeCC [get]
func (*RaceCCHandler) InsertRaceCC ¶
func (h *RaceCCHandler) InsertRaceCC(w http.ResponseWriter, r *http.Request)
InsertRaceCC godoc
@Summary Add new Cross-Country race
@Description Inserts a new a_racecc row
@Tags FIS - Race Management – Cross-Country
@Accept json
@Produce json
@Param racecc body swagger.FISInsertRaceCCExample true "Race payload"
@Success 201 "Created"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 409 {object} swagger.ConflictResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/racecc [post]
func (*RaceCCHandler) UpdateRaceCC ¶
func (h *RaceCCHandler) UpdateRaceCC(w http.ResponseWriter, r *http.Request)
UpdateRaceCC godoc
@Summary Update Cross-Country race by ID
@Description Updates an existing a_racecc row
@Tags FIS - Race Management – Cross-Country
@Accept json
@Produce json
@Param racecc body swagger.FISUpdateRaceCCExample true "Race payload"
@Success 200 "Updated"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/racecc [put]
type RaceJPHandler ¶
type RaceJPHandler struct {
// contains filtered or unexported fields
}
func NewRaceJPHandler ¶
func NewRaceJPHandler(store fis.Racejp, cache *cache.Storage) *RaceJPHandler
func (*RaceJPHandler) DeleteRaceJP ¶
func (h *RaceJPHandler) DeleteRaceJP(w http.ResponseWriter, r *http.Request)
DeleteRaceJP godoc
@Summary Delete Ski Jumping race
@Description Deletes a race by RaceID
@Tags FIS - Race Management – Ski Jumping
@Accept json
@Produce json
@Param id query int32 true "Race ID"
@Success 200 "Deleted"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/racejp [delete]
func (*RaceJPHandler) GetCategoryCodesJP ¶
func (h *RaceJPHandler) GetCategoryCodesJP(w http.ResponseWriter, r *http.Request)
GetCategoryCodesJP godoc
@Summary Get Ski Jumping category codes
@Tags FIS - Season Discipline & Category Codes
@Accept json
@Produce json
@Success 200 {object} swagger.FISCategoriesJPResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/catcodeJP [get]
func (*RaceJPHandler) GetDisciplineCodesJP ¶
func (h *RaceJPHandler) GetDisciplineCodesJP(w http.ResponseWriter, r *http.Request)
GetDisciplineCodesJP godoc
@Summary Get Ski Jumping discipline codes
@Tags FIS - Season Discipline & Category Codes
@Accept json
@Produce json
@Success 200 {object} swagger.FISDisciplinesJPResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/disciplinecodeJP [get]
func (*RaceJPHandler) GetLastRowRaceJP ¶
func (h *RaceJPHandler) GetLastRowRaceJP(w http.ResponseWriter, r *http.Request)
GetLastRowRaceJP godoc
@Summary Get last Ski Jumping race record
@Description Returns the last row in a_racejp (by RaceID DESC)
@Tags FIS - Race Management – Ski Jumping
@Accept json
@Produce json
@Success 200 {object} swagger.FISLastRaceJPResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/lastrow/racejp [get]
func (*RaceJPHandler) GetRacesJP ¶
func (h *RaceJPHandler) GetRacesJP(w http.ResponseWriter, r *http.Request)
GetRacesJP godoc
@Summary Get list of Ski Jumping races
@Tags FIS - Race Data
@Accept json
@Produce json
@Param seasoncode query []int32 false "Season code (repeat or comma-separated)"
@Param disciplinecode query []string false "Discipline code (repeat or comma-separated)"
@Param catcode query []string false "Category code (repeat or comma-separated)"
@Success 200 {object} swagger.FISRacesJPResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/racejp [get]
func (*RaceJPHandler) GetSeasonCodesJP ¶
func (h *RaceJPHandler) GetSeasonCodesJP(w http.ResponseWriter, r *http.Request)
GetSeasonCodesJP godoc
@Summary Get Ski Jumping season codes
@Tags FIS - Season Discipline & Category Codes
@Accept json
@Produce json
@Success 200 {object} swagger.FISSeasonsJPResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/seasoncodeJP [get]
func (*RaceJPHandler) InsertRaceJP ¶
func (h *RaceJPHandler) InsertRaceJP(w http.ResponseWriter, r *http.Request)
InsertRaceJP godoc
@Summary Add new Ski Jumping race
@Description Inserts a new a_racejp row
@Tags FIS - Race Management – Ski Jumping
@Accept json
@Produce json
@Param racejp body swagger.FISInsertRaceJPExample true "Race payload"
@Success 201 "Created"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 409 {object} swagger.ConflictResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/racejp [post]
func (*RaceJPHandler) UpdateRaceJP ¶
func (h *RaceJPHandler) UpdateRaceJP(w http.ResponseWriter, r *http.Request)
UpdateRaceJP godoc
@Summary Update Ski Jumping race by ID
@Description Updates an existing a_racejp row
@Tags FIS - Race Management – Ski Jumping
@Accept json
@Produce json
@Param racejp body swagger.FISUpdateRaceJPExample true "Race payload"
@Success 200 "Updated"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/racejp [put]
type RaceNKHandler ¶
type RaceNKHandler struct {
// contains filtered or unexported fields
}
func NewRaceNKHandler ¶
func NewRaceNKHandler(store fis.Racenk, cache *cache.Storage) *RaceNKHandler
func (*RaceNKHandler) DeleteRaceNK ¶
func (h *RaceNKHandler) DeleteRaceNK(w http.ResponseWriter, r *http.Request)
DeleteRaceNK godoc
@Summary Delete Nordic Combined race
@Description Deletes a race by RaceID
@Tags FIS - Race Management – Nordic Combined
@Accept json
@Produce json
@Param id query int32 true "Race ID"
@Success 200 "Deleted"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/racenk [delete]
func (*RaceNKHandler) GetCategoryCodesNK ¶
func (h *RaceNKHandler) GetCategoryCodesNK(w http.ResponseWriter, r *http.Request)
GetCategoryCodesNK godoc
@Summary Get Nordic Combined category codes
@Tags FIS - Season Discipline & Category Codes
@Accept json
@Produce json
@Success 200 {object} swagger.FISCategoriesNKResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/catcodeNK [get]
func (*RaceNKHandler) GetDisciplineCodesNK ¶
func (h *RaceNKHandler) GetDisciplineCodesNK(w http.ResponseWriter, r *http.Request)
GetDisciplineCodesNK godoc
@Summary Get Nordic Combined discipline codes
@Tags FIS - Season Discipline & Category Codes
@Accept json
@Produce json
@Success 200 {object} swagger.FISDisciplinesNKResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/disciplinecodeNK [get]
func (*RaceNKHandler) GetLastRowRaceNK ¶
func (h *RaceNKHandler) GetLastRowRaceNK(w http.ResponseWriter, r *http.Request)
GetLastRowRaceNK godoc
@Summary Get last Nordic Combined race record
@Description Returns the last row in a_racenk (by RaceID DESC)
@Tags FIS - Race Management – Nordic Combined
@Accept json
@Produce json
@Success 200 {object} swagger.FISLastRaceNKResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/lastrow/racenk [get]
func (*RaceNKHandler) GetRacesNK ¶
func (h *RaceNKHandler) GetRacesNK(w http.ResponseWriter, r *http.Request)
GetRacesNK godoc
@Summary Get list of Nordic Combined races
@Tags FIS - Race Data
@Accept json
@Produce json
@Param seasoncode query []int32 false "Season code (repeat or comma-separated)"
@Param disciplinecode query []string false "Discipline code (repeat or comma-separated)"
@Param catcode query []string false "Category code (repeat or comma-separated)"
@Success 200 {object} swagger.FISRacesNKResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/racenk [get]
func (*RaceNKHandler) GetSeasonCodesNK ¶
func (h *RaceNKHandler) GetSeasonCodesNK(w http.ResponseWriter, r *http.Request)
GetSeasonCodesNK godoc
@Summary Get Nordic Combined season codes
@Tags FIS - Season Discipline & Category Codes
@Accept json
@Produce json
@Success 200 {object} swagger.FISSeasonsNKResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/seasoncodeNK [get]
func (*RaceNKHandler) InsertRaceNK ¶
func (h *RaceNKHandler) InsertRaceNK(w http.ResponseWriter, r *http.Request)
InsertRaceNK godoc
@Summary Add new Nordic Combined race
@Description Inserts a new a_racenk row
@Tags FIS - Race Management – Nordic Combined
@Accept json
@Produce json
@Param racenk body swagger.FISInsertRaceNKExample true "Race payload"
@Success 201 "Created"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 409 {object} swagger.ConflictResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/racenk [post]
func (*RaceNKHandler) UpdateRaceNK ¶
func (h *RaceNKHandler) UpdateRaceNK(w http.ResponseWriter, r *http.Request)
UpdateRaceNK godoc
@Summary Update Nordic Combined race by ID
@Description Updates an existing a_racenk row
@Tags FIS - Race Management – Nordic Combined
@Accept json
@Produce json
@Param racenk body swagger.FISUpdateRaceNKExample true "Race payload"
@Success 200 "Updated"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/racenk [put]
type RaceNationCountItem ¶
type RaceSearchHandler ¶
type RaceSearchHandler struct {
// contains filtered or unexported fields
}
func NewRaceSearchHandler ¶
func (*RaceSearchHandler) GetRaceCategoryCounts ¶
func (h *RaceSearchHandler) GetRaceCategoryCounts(w http.ResponseWriter, r *http.Request)
GetRaceCategoryCounts godoc
@Summary Get race counts by category
@Description Gets counts of races grouped by category code (Catcode) for a given season and selected sector(s). Optional filters: Nationcode, Gender.
@Tags FIS - KAMK
@Accept json
@Produce json
@Param seasoncode query int32 true "Season code"
@Param sector query []string true "Sector code(s) (CC,JP,NK – repeat or comma-separated, e.g. sector=CC§or=JP or sector=CC,JP)"
@Param nationcode query string false "Nation code filter (e.g. FIN)"
@Param gender query string false "Gender filter (e.g. M/W)"
@Success 200 {object} swagger.FISRacesCategoryCountsResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/races/count-by-category [get]
func (*RaceSearchHandler) GetRaceCountsByNation ¶
func (h *RaceSearchHandler) GetRaceCountsByNation(w http.ResponseWriter, r *http.Request)
GetRaceCountsByNation godoc
@Summary Get race counts by nation
@Description Get counts of races grouped by Nationcodes for a given season and one or more sectors (CC, JP, NK). Optional filters: gender, catcode.
@Tags FIS - KAMK
@Accept json
@Produce json
@Param sector query []string true "Sector code(s) (CC,JP,NK – repeat or comma-separated, e.g. sector=CC§or=JP or sector=CC,JP)"
@Param seasoncode query int32 true "Season code"
@Param gender query string false "Gender (M/W)"
@Param catcode query string false "Category code (e.g. WC)"
@Success 200 {object} swagger.FISRacesNationCountsResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/races/count-by-nation [get]
func (*RaceSearchHandler) GetRaceTotals ¶
func (h *RaceSearchHandler) GetRaceTotals(w http.ResponseWriter, r *http.Request)
GetRaceTotals godoc
@Summary Get total race count
@Description Gets total count of races for a given season and one or more sectors (CC, JP, NK). Optional filters: Catcode, Gender.
@Tags FIS - KAMK
@Accept json
@Produce json
@Param seasoncode query int32 true "Season code"
@Param sector query []string true "Sector code(s) (CC,JP,NK – repeat or comma-separated, e.g. sector=CC§or=JP or sector=CC,JP)"
@Param catcode query string false "Category code filter (e.g. WC)"
@Param gender query string false "Gender filter (e.g. M/W)"
@Success 200 {object} swagger.FISRacesTotalsResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/races/count-total [get]
func (*RaceSearchHandler) GetRacesByIDs ¶
func (h *RaceSearchHandler) GetRacesByIDs(w http.ResponseWriter, r *http.Request)
GetRacesByIDs godoc
@Summary Get races by IDs
@Description Gets race(s) for a given sector and one or more race IDs.
@Tags FIS - KAMK
@Accept json
@Produce json
@Param sector query string true "Sector code (CC,JP,NK)"
@Param raceid query []int32 true "Race ID(s) – repeat or comma-separated (e.g. raceid=123&raceid=456 or raceid=123,456)"
@Success 200 {object} swagger.FISRacesByIDsResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/races/by-ids [get]
func (*RaceSearchHandler) SearchRaces ¶
func (h *RaceSearchHandler) SearchRaces(w http.ResponseWriter, r *http.Request)
SearchRaces godoc
@Summary Search races across sectors
@Description Gets all Races with optional filters (Nationcode, Seasoncode, Gender, Catcode) for each selected sector (NK, CC, JP). If sector is omitted, all sectors are used.
@Tags FIS - KAMK
@Accept json
@Produce json
@Param sector query []string false "Sector code (CC,JP,NK – repeat or comma-separated; if omitted, all sectors are used)"
@Param seasoncode query int32 false "Season code"
@Param nationcode query string false "Nation code (e.g. FIN)"
@Param gender query string false "Gender (M/W)"
@Param catcode query string false "Category code (e.g. WC)"
@Success 200 {object} swagger.FISRacesSearchResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/races/search [get]
type RaceSearchItem ¶
type RaceSearchItem struct {
Sectorcode string `json:"sectorcode" example:"CC"`
Gender *string `json:"gender,omitempty" example:"M"`
Raceid int32 `json:"raceid" example:"123456"`
Racedate *string `json:"racedate,omitempty" example:"2025-02-15"` // YYYY-MM-DD
Catcode *string `json:"catcode,omitempty" example:"WC"`
Description *string `json:"description,omitempty" example:"World Cup Sprint"`
Place *string `json:"place,omitempty" example:"Lahti"`
Nationcode *string `json:"nationcode,omitempty" example:"FIN"`
Disciplinecode *string `json:"disciplinecode,omitempty" example:"DSPR"`
}
type RacesCCQuery ¶
type RacesJPQuery ¶
type RacesNKQuery ¶
type ResultCCHandler ¶
type ResultCCHandler struct {
// contains filtered or unexported fields
}
func NewResultCCHandler ¶
func NewResultCCHandler(store fis.Resultcc, competitors fis.Competitors, cache *cache.Storage) *ResultCCHandler
func (*ResultCCHandler) DeleteResultCC ¶
func (h *ResultCCHandler) DeleteResultCC(w http.ResponseWriter, r *http.Request)
DeleteResultCC godoc
@Summary Delete Cross-Country result
@Description Deletes a result by RecID
@Tags FIS - Result Management – Cross-Country
@Accept json
@Produce json
@Param id query int32 true "Result RecID"
@Success 200 "Deleted"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultcc [delete]
func (*ResultCCHandler) GetAthleteResultsCC ¶
func (h *ResultCCHandler) GetAthleteResultsCC(w http.ResponseWriter, r *http.Request)
GetAthleteResultsCC godoc
@Summary Get Cross-Country results for an athlete
@Tags FIS - Athlete
@Accept json
@Produce json
@Param fiscode query int32 true "FIS Code"
@Param seasoncode query []int32 false "Season code (repeat or comma-separated)"
@Param disciplinecode query []string false "Discipline code (repeat or comma-separated)"
@Param catcode query []string false "Category code (repeat or comma-separated)"
@Success 200 {object} swagger.FISAthleteResultsCCResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultathletecc [get]
func (*ResultCCHandler) GetLastRowResultCC ¶
func (h *ResultCCHandler) GetLastRowResultCC(w http.ResponseWriter, r *http.Request)
GetLastRowResultCC godoc
@Summary Get last Cross-Country result record
@Description Returns the last row in a_resultcc (by RecID DESC)
@Tags FIS - Result Management – Cross-Country
@Accept json
@Produce json
@Success 200 {object} swagger.FISLastResultCCResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/lastrow/resultcc [get]
func (*ResultCCHandler) GetRaceResultsCC ¶
func (h *ResultCCHandler) GetRaceResultsCC(w http.ResponseWriter, r *http.Request)
GetRaceResultsCC godoc
@Summary Get results for a Cross-Country race
@Tags FIS - Race Results
@Accept json
@Produce json
@Param raceid query int32 true "Race ID"
@Success 200 {object} swagger.FISRaceResultsCCResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultcc [get]
func (*ResultCCHandler) InsertResultCC ¶
func (h *ResultCCHandler) InsertResultCC(w http.ResponseWriter, r *http.Request)
InsertResultCC godoc
@Summary Add new Cross-Country result
@Description Inserts a new a_resultcc row
@Tags FIS - Result Management – Cross-Country
@Accept json
@Produce json
@Param resultcc body swagger.FISInsertResultCCExample true "Result payload"
@Success 201 "Created"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 409 {object} swagger.ConflictResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultcc [post]
func (*ResultCCHandler) UpdateResultCC ¶
func (h *ResultCCHandler) UpdateResultCC(w http.ResponseWriter, r *http.Request)
UpdateResultCC godoc
@Summary Update Cross-Country result by RecID
@Description Updates an existing a_resultcc row
@Tags FIS - Result Management – Cross-Country
@Accept json
@Produce json
@Param resultcc body swagger.FISUpdateResultCCExample true "Result payload"
@Success 200 "Updated"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultcc [put]
type ResultJPHandler ¶
type ResultJPHandler struct {
// contains filtered or unexported fields
}
func NewResultJPHandler ¶
func NewResultJPHandler(store fis.Resultjp, competitors fis.Competitors, cache *cache.Storage) *ResultJPHandler
func (*ResultJPHandler) DeleteResultJP ¶
func (h *ResultJPHandler) DeleteResultJP(w http.ResponseWriter, r *http.Request)
DeleteResultJP godoc
@Summary Delete Ski Jumping result
@Description Deletes a result by RecID
@Tags FIS - Result Management – Ski Jumping
@Accept json
@Produce json
@Param id query int32 true "Result RecID"
@Success 200 "Deleted"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultjp [delete]
func (*ResultJPHandler) GetAthleteResultsJP ¶
func (h *ResultJPHandler) GetAthleteResultsJP(w http.ResponseWriter, r *http.Request)
GetAthleteResultsJP godoc
@Summary Get Ski Jumping results for an athlete
@Tags FIS - Athlete
@Accept json
@Produce json
@Param fiscode query int32 true "FIS Code"
@Param seasoncode query []int32 false "Season code (repeat or comma-separated)"
@Param disciplinecode query []string false "Discipline code (repeat or comma-separated)"
@Param catcode query []string false "Category code (repeat or comma-separated)"
@Success 200 {object} swagger.FISAthleteResultsJPResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultathletejp [get]
func (*ResultJPHandler) GetLastRowResultJP ¶
func (h *ResultJPHandler) GetLastRowResultJP(w http.ResponseWriter, r *http.Request)
GetLastRowResultJP godoc
@Summary Get last Ski Jumping result record
@Description Returns the last row in a_resultjp (by RecID DESC)
@Tags FIS - Result Management – Ski Jumping
@Accept json
@Produce json
@Success 200 {object} swagger.FISLastResultJPResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/lastrow/resultjp [get]
func (*ResultJPHandler) GetRaceResultsJP ¶
func (h *ResultJPHandler) GetRaceResultsJP(w http.ResponseWriter, r *http.Request)
GetRaceResultsJP godoc
@Summary Get results for a Ski Jumping race
@Tags FIS - Race Results
@Accept json
@Produce json
@Param raceid query int32 true "Race ID"
@Success 200 {object} swagger.FISRaceResultsJPResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultjp [get]
func (*ResultJPHandler) InsertResultJP ¶
func (h *ResultJPHandler) InsertResultJP(w http.ResponseWriter, r *http.Request)
InsertResultJP godoc
@Summary Add new Ski Jumping result
@Description Inserts a new a_resultjp row
@Tags FIS - Result Management – Ski Jumping
@Accept json
@Produce json
@Param resultjp body swagger.FISInsertResultJPExample true "Result payload"
@Success 201 "Created"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 409 {object} swagger.ConflictResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultjp [post]
func (*ResultJPHandler) UpdateResultJP ¶
func (h *ResultJPHandler) UpdateResultJP(w http.ResponseWriter, r *http.Request)
UpdateResultJP godoc
@Summary Update Ski Jumping result by RecID
@Description Updates an existing a_resultjp row
@Tags FIS - Result Management – Ski Jumping
@Accept json
@Produce json
@Param resultjp body swagger.FISUpdateResultJPExample true "Result payload"
@Success 200 "Updated"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultjp [put]
type ResultKAMKHandler ¶
type ResultKAMKHandler struct {
// contains filtered or unexported fields
}
Handles competitor/result-related KAMK endpoints.
func NewResultKAMKHandler ¶
func (*ResultKAMKHandler) GetCompetitorLatestResults ¶
func (h *ResultKAMKHandler) GetCompetitorLatestResults(w http.ResponseWriter, r *http.Request)
GetCompetitorLatestResults godoc
@Summary Get competitor latest race results
@Description Gets an athlete's latest race results filtered by sector and optional season and catcodes. Results are ordered by Racedate DESC.
@Tags FIS - KAMK
@Accept json
@Produce json
@Param competitorid query int32 true "Competitor ID"
@Param sector query string true "Sector code (CC,JP,NK)"
@Param seasoncode query int32 false "Season code filter"
@Param catcode query []string false "Category code(s) – repeat or comma-separated (e.g. catcode=WC&catcode=COC or catcode=WC,COC)"
@Param limit query int32 false "Maximum number of results to return (default 50)"
@Success 200 {object} swagger.FISLatestResultsResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/competitor/latest-results [get]
func (*ResultKAMKHandler) GetCompetitorSeasonsCatcodes ¶
func (h *ResultKAMKHandler) GetCompetitorSeasonsCatcodes(w http.ResponseWriter, r *http.Request)
GetCompetitorSeasonsCatcodes godoc
@Summary Get competitor seasons and categories
@Description Gets distinct (Seasoncode, Catcode) combinations for the races a competitor has actually competed in, for a given sector (CC, JP, NK). Uses both race and result tables.
@Tags FIS - KAMK
@Accept json
@Produce json
@Param competitorid query int32 true "Competitor ID"
@Param sector query string true "Sector code (CC,JP,NK)"
@Success 200 {object} swagger.FISCompetitorSeasonsCatcodesResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/competitor/seasons-catcodes [get]
type ResultNKHandler ¶
type ResultNKHandler struct {
// contains filtered or unexported fields
}
func NewResultNKHandler ¶
func NewResultNKHandler(store fis.Resultnk, competitors fis.Competitors, cache *cache.Storage) *ResultNKHandler
func (*ResultNKHandler) DeleteResultNK ¶
func (h *ResultNKHandler) DeleteResultNK(w http.ResponseWriter, r *http.Request)
DeleteResultNK godoc
@Summary Delete Nordic Combined result
@Description Deletes a result by RecID
@Tags FIS - Result Management – Nordic Combined
@Accept json
@Produce json
@Param id query int32 true "Result RecID"
@Success 200 "Deleted"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultnk [delete]
func (*ResultNKHandler) GetAthleteResultsNK ¶
func (h *ResultNKHandler) GetAthleteResultsNK(w http.ResponseWriter, r *http.Request)
GetAthleteResultsNK godoc
@Summary Get Nordic Combined results for an athlete
@Tags FIS - Athlete
@Accept json
@Produce json
@Param fiscode query int32 true "FIS Code"
@Param seasoncode query []int32 false "Season code (repeat or comma-separated)"
@Param disciplinecode query []string false "Discipline code (repeat or comma-separated)"
@Param catcode query []string false "Category code (repeat or comma-separated)"
@Success 200 {object} swagger.FISAthleteResultsNKResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultathletenk [get]
func (*ResultNKHandler) GetLastRowResultNK ¶
func (h *ResultNKHandler) GetLastRowResultNK(w http.ResponseWriter, r *http.Request)
GetLastRowResultNK godoc
@Summary Get last Nordic Combined result record
@Description Returns the last row in a_resultnk (by RecID DESC)
@Tags FIS - Result Management – Nordic Combined
@Accept json
@Produce json
@Success 200 {object} swagger.FISLastResultNKResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/lastrow/resultnk [get]
func (*ResultNKHandler) GetRaceResultsNK ¶
func (h *ResultNKHandler) GetRaceResultsNK(w http.ResponseWriter, r *http.Request)
GetRaceResultsNK godoc
@Summary Get results for a Nordic Combined race
@Tags FIS - Race Results
@Accept json
@Produce json
@Param raceid query int32 true "Race ID"
@Success 200 {object} swagger.FISRaceResultsNKResponse
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultnk [get]
func (*ResultNKHandler) InsertResultNK ¶
func (h *ResultNKHandler) InsertResultNK(w http.ResponseWriter, r *http.Request)
InsertResultNK godoc
@Summary Add new Nordic Combined result
@Description Inserts a new a_resultnk row
@Tags FIS - Result Management – Nordic Combined
@Accept json
@Produce json
@Param resultnk body swagger.FISInsertResultNKExample true "Result payload"
@Success 201 "Created"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 409 {object} swagger.ConflictResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultnk [post]
func (*ResultNKHandler) UpdateResultNK ¶
func (h *ResultNKHandler) UpdateResultNK(w http.ResponseWriter, r *http.Request)
UpdateResultNK godoc
@Summary Update Nordic Combined result by RecID
@Description Updates an existing a_resultnk row
@Tags FIS - Result Management – Nordic Combined
@Accept json
@Produce json
@Param resultnk body swagger.FISUpdateResultNKExample true "Result payload"
@Success 200 "Updated"
@Failure 400 {object} swagger.ValidationErrorResponse
@Failure 401 {object} swagger.UnauthorizedResponse
@Failure 403 {object} swagger.ForbiddenResponse
@Failure 404 {object} swagger.NotFoundResponse
@Failure 500 {object} swagger.InternalServerErrorResponse
@Failure 503 {object} swagger.ServiceUnavailableResponse
@Security BearerAuth
@Router /fis/resultnk [put]
type SectorParam ¶
type SectorParam struct {
Sector string `form:"sectorcode" validate:"required,oneof=JP NK CC"`
}
Query params
type SporttiIDParam ¶
type SporttiIDParam struct {
SporttiID string `form:"sporttiid" validate:"required,numeric"`
}
type UpdateAthleteInput ¶
type UpdateCompetitorInput ¶
type UpdateCompetitorInput struct {
Competitorid int32 `json:"competitorid" validate:"required"`
Personid *int32 `json:"personid"`
Ipcid *int32 `json:"ipcid"`
Type *string `json:"type"`
Sectorcode *string `json:"sectorcode"`
Fiscode *int32 `json:"fiscode"`
Lastname *string `json:"lastname"`
Firstname *string `json:"firstname"`
Gender *string `json:"gender"`
Birthdate *string `json:"birthdate"`
Nationcode *string `json:"nationcode"`
Nationalcode *string `json:"nationalcode"`
Skiclub *string `json:"skiclub"`
Association *string `json:"association"`
Status *string `json:"status"`
StatusOld *string `json:"status_old"`
StatusBy *string `json:"status_by"`
StatusDate *string `json:"status_date"`
Statusnextlist *string `json:"statusnextlist"`
Alternatenamecheck *string `json:"alternatenamecheck"`
Fee *string `json:"fee"`
Dateofcreation *string `json:"dateofcreation"`
Createdby *string `json:"createdby"`
Injury *int32 `json:"injury"`
Version *int32 `json:"version"`
Compidmssql *int32 `json:"compidmssql"`
Carving *int32 `json:"carving"`
Photo *int32 `json:"photo"`
Notallowed *int32 `json:"notallowed"`
Natteam *string `json:"natteam"`
Tragroup *string `json:"tragroup"`
Published *int32 `json:"published"`
Doped *string `json:"doped"`
Team *int32 `json:"team"`
PhotoBig *int32 `json:"photo_big"`
Data *string `json:"data"`
Lastupdateby *string `json:"lastupdateby"`
Disciplines *string `json:"disciplines"`
Lastupdate *string `json:"lastupdate"`
Deletedat *string `json:"deletedat"`
Categorycode *string `json:"categorycode"`
Classname *string `json:"classname"`
Classcode *string `json:"classcode"`
}
type UpdateRaceCCInput ¶
type UpdateRaceCCInput = InsertRaceCCInput
type UpdateRaceJPInput ¶
type UpdateRaceJPInput = InsertRaceJPInput
type UpdateRaceNKInput ¶
type UpdateRaceNKInput = InsertRaceNKInput
type UpdateResultCCInput ¶
type UpdateResultCCInput = InsertResultCCInput
type UpdateResultJPInput ¶
type UpdateResultJPInput = InsertResultJPInput
type UpdateResultNKInput ¶
type UpdateResultNKInput = InsertResultNKInput