Versions in this module Expand all Collapse all v1 v1.1.0 May 5, 2026 v1.0.0 May 3, 2026 Changes in this version + func Service(log *zap.Logger, db *pgxpool.Pool, au *auth.Client, pr *Provider, ...) (http.Server, *trace.TracerProvider, error) + type Decoder interface + Decode func(r *http.Request, val any) error + type GameFacade interface + CreateGame func(ctx context.Context, cg model.CreateGame) (id int32, err error) + DeleteGame func(ctx context.Context, id int32, publisher string) error + GetCompaniesMap func(ctx context.Context) (map[int32]model.Company, error) + GetGameByID func(ctx context.Context, id int32) (model.Game, error) + GetGameModerations func(ctx context.Context, gameID int32, publisher string) ([]model.Moderation, error) + GetGames func(ctx context.Context, page, pageSize uint32, filter model.GamesFilter) (games []model.Game, count uint64, err error) + GetGenres func(ctx context.Context) ([]model.Genre, error) + GetGenresMap func(ctx context.Context) (map[int32]model.Genre, error) + GetPlatforms func(ctx context.Context) ([]model.Platform, error) + GetPlatformsMap func(ctx context.Context) (map[int32]model.Platform, error) + GetPublisherGames func(ctx context.Context, publisher string) ([]model.Game, error) + GetTopCompanies func(ctx context.Context, companyType string, limit int64) ([]model.Company, error) + GetTopGenres func(ctx context.Context, limit int64) ([]model.Genre, error) + GetUserRatings func(ctx context.Context, userID string) (map[int32]uint8, error) + RateGame func(ctx context.Context, gameID int32, userID string, rating uint8) error + UpdateGame func(ctx context.Context, id int32, upd model.UpdateGame) error + UploadGameImages func(ctx context.Context, coverFiles, screenshotFiles []*multipart.FileHeader, ...) ([]model.File, error) + type Provider struct + func NewProvider(log *zap.Logger, redisStore *cache.RedisStore, gameFacade GameFacade, ...) *Provider + func (p *Provider) CreateGame(w http.ResponseWriter, r *http.Request) + func (p *Provider) DeleteGame(w http.ResponseWriter, r *http.Request) + func (p *Provider) GetGame(w http.ResponseWriter, r *http.Request) + func (p *Provider) GetGameModerations(w http.ResponseWriter, r *http.Request) + func (p *Provider) GetGames(w http.ResponseWriter, r *http.Request) + func (p *Provider) GetGenres(w http.ResponseWriter, r *http.Request) + func (p *Provider) GetPlatforms(w http.ResponseWriter, r *http.Request) + func (p *Provider) GetTopCompanies(w http.ResponseWriter, r *http.Request) + func (p *Provider) GetTopGenres(w http.ResponseWriter, r *http.Request) + func (p *Provider) GetUserGames(w http.ResponseWriter, r *http.Request) + func (p *Provider) GetUserRatings(w http.ResponseWriter, r *http.Request) + func (p *Provider) RateGame(w http.ResponseWriter, r *http.Request) + func (p *Provider) UpdateGame(w http.ResponseWriter, r *http.Request) + func (p *Provider) UploadGameImages(w http.ResponseWriter, r *http.Request)