api

package
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 20, 2026 License: MIT Imports: 31 Imported by: 0

Documentation

Overview

Package api provides primitives to interact with the openapi HTTP API.

Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.8.0 DO NOT EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Handler added in v1.4.0

func Handler(si ServerInterface) http.Handler

Handler creates http.Handler with routing matching OpenAPI spec.

func HandlerFromMux added in v1.4.0

func HandlerFromMux(si ServerInterface, r chi.Router) http.Handler

HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.

func HandlerFromMuxWithBaseURL added in v1.4.0

func HandlerFromMuxWithBaseURL(si ServerInterface, r chi.Router, baseURL string) http.Handler

func HandlerWithOptions added in v1.4.0

func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handler

HandlerWithOptions creates http.Handler with additional options

func Service

func Service(
	log *zap.Logger,
	au *auth.Client,
	pr *Provider,
	conf *appconf.API,
) (http.Server, *trace.TracerProvider, error)

Service constructs router with all API routes

Types

type ChiServerOptions added in v1.4.0

type ChiServerOptions struct {
	BaseURL          string
	BaseRouter       chi.Router
	Middlewares      []MiddlewareFunc
	ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}

type Company added in v1.4.0

type Company struct {
	ID   int32  `json:"id"`
	Name string `json:"name"`
}

Company defines model for Company.

type CreateGameJSONRequestBody added in v1.4.0

type CreateGameJSONRequestBody = CreateGameRequest

CreateGameJSONRequestBody defines body for CreateGame for application/json ContentType.

type CreateGameRequest added in v1.4.0

type CreateGameRequest struct {
	Developer string  `json:"developer"`
	GenresIDs []int32 `json:"genresIds"`

	// LogoURL image URL from the configured CDN domain
	LogoURL      string  `json:"logoUrl"`
	Name         string  `json:"name"`
	PlatformsIDs []int32 `json:"platformsIds"`

	// ReleaseDate date in format YYYY-MM-DD
	ReleaseDate string   `json:"releaseDate"`
	Screenshots []string `json:"screenshots"`
	Summary     string   `json:"summary"`
	Websites    []string `json:"websites,omitempty"`
}

CreateGameRequest defines model for CreateGameRequest.

func (*CreateGameRequest) Sanitize added in v1.4.0

func (r *CreateGameRequest) Sanitize()

Sanitize cleans up user input for CreateGameRequest

func (*CreateGameRequest) ValidateWith added in v1.4.0

func (r *CreateGameRequest) ValidateWith(rules *validation.Rules) (bool, []web.FieldError)

ValidateWith validates CreateGameRequest

type CreateRatingRequest added in v1.4.0

type CreateRatingRequest struct {
	// Rating 0 - remove rating
	Rating uint8 `json:"rating,omitempty"`
}

CreateRatingRequest defines model for CreateRatingRequest.

func (*CreateRatingRequest) ValidateWith added in v1.4.0

func (r *CreateRatingRequest) ValidateWith(rules *validation.Rules) (bool, []web.FieldError)

ValidateWith validates CreateRatingRequest

type Error added in v1.4.0

type Error = ErrorResponse

Error defines model for Error.

type ErrorResponse added in v1.4.0

type ErrorResponse = web.ErrorResponse

ErrorResponse defines model for ErrorResponse.

type FieldError added in v1.4.0

type FieldError = web.FieldError

FieldError defines model for FieldError.

type GameDetailsResponse added in v1.4.0

type GameDetailsResponse struct {
	Developers     []Company     `json:"developers"`
	FranchiseGames []GameSummary `json:"franchiseGames"`
	GameModes      []GameMode    `json:"gameModes"`
	Genres         []Genre       `json:"genres"`
	ID             int32         `json:"id"`
	LogoURL        string        `json:"logoUrl,omitempty"`
	Name           string        `json:"name"`
	Platforms      []Platform    `json:"platforms"`
	Publishers     []Company     `json:"publishers"`
	Rating         float64       `json:"rating"`

	// ReleaseDate date in format YYYY-MM-DD
	ReleaseDate  string        `json:"releaseDate"`
	Screenshots  []string      `json:"screenshots"`
	SimilarGames []GameSummary `json:"similarGames"`
	Slug         string        `json:"slug,omitempty"`
	Summary      string        `json:"summary,omitempty"`
	Trailers     []string      `json:"trailers"`
	Websites     []string      `json:"websites"`
}

GameDetailsResponse defines model for GameDetailsResponse.

type GameFacade

type GameFacade interface {
	GetGames(ctx context.Context, page, pageSize uint32, filter model.GamesFilter) (games []model.Game, count uint64, err error)
	GetGameDetailsByID(ctx context.Context, id int32) (model.GameDetails, error)
	CreateGame(ctx context.Context, cg model.CreateGame) (id int32, err error)
	UpdateGame(ctx context.Context, id int32, upd model.UpdateGame) error
	DeleteGame(ctx context.Context, id int32, publisher string) error
	RateGame(ctx context.Context, gameID int32, userID string, rating uint8) error
	GetUserRatings(ctx context.Context, userID string) (map[int32]uint8, error)
	UploadGameImages(ctx context.Context, coverFiles, screenshotFiles []*multipart.FileHeader, publisherName string) ([]model.File, error)

	GetGenres(ctx context.Context) ([]model.Genre, error)
	GetGenresMap(ctx context.Context) (map[int32]model.Genre, error)
	GetTopGenres(ctx context.Context, limit int64) ([]model.Genre, error)

	GetPlatforms(ctx context.Context) ([]model.Platform, error)
	GetPlatformsMap(ctx context.Context) (map[int32]model.Platform, error)

	GetCompaniesMap(ctx context.Context) (map[int32]model.Company, error)
	GetTopCompanies(ctx context.Context, companyType string, limit int64) ([]model.Company, error)

	GetPublisherGames(ctx context.Context, publisher string) ([]model.Game, error)
	GetGameModerations(ctx context.Context, gameID int32, publisher string) ([]model.Moderation, error)
}

GameFacade represents methods for working with games

type GameID added in v1.4.0

type GameID = int32

GameID defines model for GameID.

type GameMode added in v1.4.0

type GameMode struct {
	ID   int32  `json:"id"`
	Name string `json:"name"`
}

GameMode defines model for GameMode.

type GameResponse added in v1.4.0

type GameResponse struct {
	Developers []Company  `json:"developers"`
	Genres     []Genre    `json:"genres"`
	ID         int32      `json:"id"`
	LogoURL    string     `json:"logoUrl,omitempty"`
	Name       string     `json:"name"`
	Platforms  []Platform `json:"platforms"`
	Publishers []Company  `json:"publishers"`
	Rating     float64    `json:"rating"`

	// ReleaseDate date in format YYYY-MM-DD
	ReleaseDate string   `json:"releaseDate"`
	Screenshots []string `json:"screenshots"`
	Slug        string   `json:"slug,omitempty"`
	Summary     string   `json:"summary,omitempty"`
	Websites    []string `json:"websites"`
}

GameResponse defines model for GameResponse.

type GameSummary added in v1.4.0

type GameSummary struct {
	ID      int32   `json:"id"`
	LogoURL string  `json:"logoUrl"`
	Name    string  `json:"name"`
	Rating  float64 `json:"rating"`

	// ReleaseDate date in format YYYY-MM-DD
	ReleaseDate string `json:"releaseDate"`
	Slug        string `json:"slug"`
}

GameSummary defines model for GameSummary.

type GamesResponse added in v1.4.0

type GamesResponse struct {
	Count uint64         `json:"count"`
	Games []GameResponse `json:"games"`
}

GamesResponse defines model for GamesResponse.

type Genre added in v1.4.0

type Genre struct {
	ID   int32  `json:"id"`
	Name string `json:"name"`
}

Genre defines model for Genre.

type GetGamesParams added in v1.4.0

type GetGamesParams struct {
	// PageSize page size, must be greater than 0
	PageSize uint32 `form:"pageSize,omitempty" json:"pageSize,omitempty"`

	// Page page, must be greater than 0
	Page uint32 `form:"page,omitempty" json:"page,omitempty"`

	// OrderBy order by
	OrderBy GetGamesParamsOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"`

	// Name name filter, applied when at least 2 characters long
	Name string `form:"name,omitempty" json:"name,omitempty"`

	// Genre genre id filter
	Genre int32 `form:"genre,omitempty" json:"genre,omitempty"`

	// Developer developer id filter
	Developer int32 `form:"developer,omitempty" json:"developer,omitempty"`

	// Publisher publisher id filter
	Publisher int32 `form:"publisher,omitempty" json:"publisher,omitempty"`
}

GetGamesParams defines parameters for GetGames.

type GetGamesParamsOrderBy added in v1.4.0

type GetGamesParamsOrderBy string

GetGamesParamsOrderBy defines parameters for GetGames.

const (
	GetGamesParamsOrderByDefault     GetGamesParamsOrderBy = "default"
	GetGamesParamsOrderByName        GetGamesParamsOrderBy = "name"
	GetGamesParamsOrderByRating      GetGamesParamsOrderBy = "rating"
	GetGamesParamsOrderByReleaseDate GetGamesParamsOrderBy = "releaseDate"
)

Defines values for GetGamesParamsOrderBy.

func (GetGamesParamsOrderBy) Valid added in v1.4.0

func (e GetGamesParamsOrderBy) Valid() bool

Valid indicates whether the value is a known member of the GetGamesParamsOrderBy enum.

type GetTopCompaniesParams added in v1.4.0

type GetTopCompaniesParams struct {
	// Type company type (dev or pub)
	Type GetTopCompaniesParamsType `form:"type" json:"type"`
}

GetTopCompaniesParams defines parameters for GetTopCompanies.

type GetTopCompaniesParamsType added in v1.4.0

type GetTopCompaniesParamsType string

GetTopCompaniesParamsType defines parameters for GetTopCompanies.

const (
	GetTopCompaniesParamsTypeDev GetTopCompaniesParamsType = "dev"
	GetTopCompaniesParamsTypePub GetTopCompaniesParamsType = "pub"
)

Defines values for GetTopCompaniesParamsType.

func (GetTopCompaniesParamsType) Valid added in v1.4.0

func (e GetTopCompaniesParamsType) Valid() bool

Valid indicates whether the value is a known member of the GetTopCompaniesParamsType enum.

type GetUserRatingsJSONRequestBody added in v1.4.0

type GetUserRatingsJSONRequestBody = GetUserRatingsRequest

GetUserRatingsJSONRequestBody defines body for GetUserRatings for application/json ContentType.

type GetUserRatingsRequest added in v1.4.0

type GetUserRatingsRequest struct {
	GameIDs []int32 `json:"gameIds,omitempty"`
}

GetUserRatingsRequest defines model for GetUserRatingsRequest.

func (*GetUserRatingsRequest) ValidateWith added in v1.4.0

func (r *GetUserRatingsRequest) ValidateWith(rules *validation.Rules) (bool, []web.FieldError)

ValidateWith validates GetUserRatingsRequest

type IDResponse added in v1.4.0

type IDResponse struct {
	ID int32 `json:"id"`
}

IDResponse defines model for IDResponse.

type InvalidParamFormatError added in v1.4.0

type InvalidParamFormatError struct {
	ParamName string
	Err       error
}

func (*InvalidParamFormatError) Error added in v1.4.0

func (e *InvalidParamFormatError) Error() string

func (*InvalidParamFormatError) Unwrap added in v1.4.0

func (e *InvalidParamFormatError) Unwrap() error

type MiddlewareFunc added in v1.4.0

type MiddlewareFunc func(http.Handler) http.Handler

type ModerationItem added in v1.4.0

type ModerationItem struct {
	// CreatedAt RFC3339 timestamp
	CreatedAt    string `json:"createdAt,omitempty"`
	Details      string `json:"details"`
	ID           int32  `json:"id"`
	ResultStatus string `json:"resultStatus"`

	// UpdatedAt RFC3339 timestamp
	UpdatedAt string `json:"updatedAt,omitempty"`
}

ModerationItem defines model for ModerationItem.

type Platform added in v1.4.0

type Platform struct {
	Abbreviation string `json:"abbreviation"`
	ID           int32  `json:"id"`
	Name         string `json:"name"`
}

Platform defines model for Platform.

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Provider has all dependencies for handlers

func NewProvider

func NewProvider(log *zap.Logger, redisStore *cache.RedisStore, gameFacade GameFacade, rules *validation.Rules) *Provider

NewProvider creates new provider

func (*Provider) CreateGame

func (p *Provider) CreateGame(w http.ResponseWriter, r *http.Request)

CreateGame creates new game

func (*Provider) DeleteGame

func (p *Provider) DeleteGame(w http.ResponseWriter, r *http.Request, id GameID)

DeleteGame deletes game by ID

func (*Provider) GetGame

func (p *Provider) GetGame(w http.ResponseWriter, r *http.Request, id GameID)

GetGame returns game by ID

func (*Provider) GetGameModerations

func (p *Provider) GetGameModerations(w http.ResponseWriter, r *http.Request, id GameID)

GetGameModerations returns all moderation records for specified game id

func (*Provider) GetGames

func (p *Provider) GetGames(w http.ResponseWriter, r *http.Request, params GetGamesParams)

GetGames returns paginated games

func (*Provider) GetGenres

func (p *Provider) GetGenres(w http.ResponseWriter, r *http.Request)

GetGenres returns all genres

func (*Provider) GetPlatforms

func (p *Provider) GetPlatforms(w http.ResponseWriter, r *http.Request)

GetPlatforms returns all platforms

func (*Provider) GetTopCompanies

func (p *Provider) GetTopCompanies(w http.ResponseWriter, r *http.Request, params GetTopCompaniesParams)

GetTopCompanies returns top companies based on amount of games having it

func (*Provider) GetTopGenres

func (p *Provider) GetTopGenres(w http.ResponseWriter, r *http.Request)

GetTopGenres returns top genres based on amount of games having it

func (*Provider) GetUserGames

func (p *Provider) GetUserGames(w http.ResponseWriter, r *http.Request)

GetUserGames returns all games for current user-publisher

func (*Provider) GetUserRatings

func (p *Provider) GetUserRatings(w http.ResponseWriter, r *http.Request)

GetUserRatings returns user ratings for specified games

func (*Provider) RateGame

func (p *Provider) RateGame(w http.ResponseWriter, r *http.Request, id GameID)

RateGame rates game

func (*Provider) UpdateGame

func (p *Provider) UpdateGame(w http.ResponseWriter, r *http.Request, id GameID)

UpdateGame updates game by ID

func (*Provider) UploadGameImages

func (p *Provider) UploadGameImages(w http.ResponseWriter, r *http.Request)

UploadGameImages uploads cover and screenshots images

type RateGameJSONRequestBody added in v1.4.0

type RateGameJSONRequestBody = CreateRatingRequest

RateGameJSONRequestBody defines body for RateGame for application/json ContentType.

type RatingResponse added in v1.4.0

type RatingResponse struct {
	GameID int32 `json:"gameId"`
	Rating uint8 `json:"rating"`
}

RatingResponse defines model for RatingResponse.

type RequiredHeaderError added in v1.4.0

type RequiredHeaderError struct {
	ParamName string
	Err       error
}

func (*RequiredHeaderError) Error added in v1.4.0

func (e *RequiredHeaderError) Error() string

func (*RequiredHeaderError) Unwrap added in v1.4.0

func (e *RequiredHeaderError) Unwrap() error

type RequiredParamError added in v1.4.0

type RequiredParamError struct {
	ParamName string
}

func (*RequiredParamError) Error added in v1.4.0

func (e *RequiredParamError) Error() string

type ServerInterface added in v1.4.0

type ServerInterface interface {
	// GetTopCompanies Get top companies
	// (GET /companies/top)
	GetTopCompanies(w http.ResponseWriter, r *http.Request, params GetTopCompaniesParams)
	// GetGames Get games
	// (GET /games)
	GetGames(w http.ResponseWriter, r *http.Request, params GetGamesParams)
	// CreateGame Create game
	// (POST /games)
	CreateGame(w http.ResponseWriter, r *http.Request)
	// UploadGameImages Upload game images
	// (POST /games/images)
	UploadGameImages(w http.ResponseWriter, r *http.Request)
	// DeleteGame Delete game
	// (DELETE /games/{id})
	DeleteGame(w http.ResponseWriter, r *http.Request, id GameID)
	// GetGame Get game
	// (GET /games/{id})
	GetGame(w http.ResponseWriter, r *http.Request, id GameID)
	// UpdateGame Update game
	// (PATCH /games/{id})
	UpdateGame(w http.ResponseWriter, r *http.Request, id GameID)
	// GetGameModerations Get game moderations
	// (GET /games/{id}/moderations)
	GetGameModerations(w http.ResponseWriter, r *http.Request, id GameID)
	// RateGame Rate game
	// (POST /games/{id}/rate)
	RateGame(w http.ResponseWriter, r *http.Request, id GameID)
	// GetGenres Get genres
	// (GET /genres)
	GetGenres(w http.ResponseWriter, r *http.Request)
	// GetTopGenres Get top genres
	// (GET /genres/top)
	GetTopGenres(w http.ResponseWriter, r *http.Request)
	// GetPlatforms Get platforms
	// (GET /platforms)
	GetPlatforms(w http.ResponseWriter, r *http.Request)
	// GetUserGames Get user games
	// (GET /user/games)
	GetUserGames(w http.ResponseWriter, r *http.Request)
	// GetUserRatings Get user ratings for specified games
	// (POST /user/ratings)
	GetUserRatings(w http.ResponseWriter, r *http.Request)
}

ServerInterface represents all server handlers.

type ServerInterfaceWrapper added in v1.4.0

type ServerInterfaceWrapper struct {
	Handler            ServerInterface
	HandlerMiddlewares []MiddlewareFunc
	ErrorHandlerFunc   func(w http.ResponseWriter, r *http.Request, err error)
}

ServerInterfaceWrapper converts contexts to parameters.

func NewHandler added in v1.4.0

func NewHandler(pr *Provider) *ServerInterfaceWrapper

NewHandler returns HTTP handlers for API operations generated from OpenAPI spec

func (*ServerInterfaceWrapper) CreateGame added in v1.4.0

func (siw *ServerInterfaceWrapper) CreateGame(w http.ResponseWriter, r *http.Request)

CreateGame operation middleware

func (*ServerInterfaceWrapper) DeleteGame added in v1.4.0

func (siw *ServerInterfaceWrapper) DeleteGame(w http.ResponseWriter, r *http.Request)

DeleteGame operation middleware

func (*ServerInterfaceWrapper) GetGame added in v1.4.0

GetGame operation middleware

func (*ServerInterfaceWrapper) GetGameModerations added in v1.4.0

func (siw *ServerInterfaceWrapper) GetGameModerations(w http.ResponseWriter, r *http.Request)

GetGameModerations operation middleware

func (*ServerInterfaceWrapper) GetGames added in v1.4.0

func (siw *ServerInterfaceWrapper) GetGames(w http.ResponseWriter, r *http.Request)

GetGames operation middleware

func (*ServerInterfaceWrapper) GetGenres added in v1.4.0

func (siw *ServerInterfaceWrapper) GetGenres(w http.ResponseWriter, r *http.Request)

GetGenres operation middleware

func (*ServerInterfaceWrapper) GetPlatforms added in v1.4.0

func (siw *ServerInterfaceWrapper) GetPlatforms(w http.ResponseWriter, r *http.Request)

GetPlatforms operation middleware

func (*ServerInterfaceWrapper) GetTopCompanies added in v1.4.0

func (siw *ServerInterfaceWrapper) GetTopCompanies(w http.ResponseWriter, r *http.Request)

GetTopCompanies operation middleware

func (*ServerInterfaceWrapper) GetTopGenres added in v1.4.0

func (siw *ServerInterfaceWrapper) GetTopGenres(w http.ResponseWriter, r *http.Request)

GetTopGenres operation middleware

func (*ServerInterfaceWrapper) GetUserGames added in v1.4.0

func (siw *ServerInterfaceWrapper) GetUserGames(w http.ResponseWriter, r *http.Request)

GetUserGames operation middleware

func (*ServerInterfaceWrapper) GetUserRatings added in v1.4.0

func (siw *ServerInterfaceWrapper) GetUserRatings(w http.ResponseWriter, r *http.Request)

GetUserRatings operation middleware

func (*ServerInterfaceWrapper) RateGame added in v1.4.0

func (siw *ServerInterfaceWrapper) RateGame(w http.ResponseWriter, r *http.Request)

RateGame operation middleware

func (*ServerInterfaceWrapper) UpdateGame added in v1.4.0

func (siw *ServerInterfaceWrapper) UpdateGame(w http.ResponseWriter, r *http.Request)

UpdateGame operation middleware

func (*ServerInterfaceWrapper) UploadGameImages added in v1.4.0

func (siw *ServerInterfaceWrapper) UploadGameImages(w http.ResponseWriter, r *http.Request)

UploadGameImages operation middleware

type TooManyValuesForParamError added in v1.4.0

type TooManyValuesForParamError struct {
	ParamName string
	Count     int
}

func (*TooManyValuesForParamError) Error added in v1.4.0

type UnescapedCookieParamError added in v1.4.0

type UnescapedCookieParamError struct {
	ParamName string
	Err       error
}

func (*UnescapedCookieParamError) Error added in v1.4.0

func (e *UnescapedCookieParamError) Error() string

func (*UnescapedCookieParamError) Unwrap added in v1.4.0

func (e *UnescapedCookieParamError) Unwrap() error

type Unimplemented added in v1.4.0

type Unimplemented struct{}

func (Unimplemented) CreateGame added in v1.4.0

func (_ Unimplemented) CreateGame(w http.ResponseWriter, r *http.Request)

CreateGame Create game (POST /games)

func (Unimplemented) DeleteGame added in v1.4.0

func (_ Unimplemented) DeleteGame(w http.ResponseWriter, r *http.Request, id GameID)

DeleteGame Delete game (DELETE /games/{id})

func (Unimplemented) GetGame added in v1.4.0

func (_ Unimplemented) GetGame(w http.ResponseWriter, r *http.Request, id GameID)

GetGame Get game (GET /games/{id})

func (Unimplemented) GetGameModerations added in v1.4.0

func (_ Unimplemented) GetGameModerations(w http.ResponseWriter, r *http.Request, id GameID)

GetGameModerations Get game moderations (GET /games/{id}/moderations)

func (Unimplemented) GetGames added in v1.4.0

func (_ Unimplemented) GetGames(w http.ResponseWriter, r *http.Request, params GetGamesParams)

GetGames Get games (GET /games)

func (Unimplemented) GetGenres added in v1.4.0

func (_ Unimplemented) GetGenres(w http.ResponseWriter, r *http.Request)

GetGenres Get genres (GET /genres)

func (Unimplemented) GetPlatforms added in v1.4.0

func (_ Unimplemented) GetPlatforms(w http.ResponseWriter, r *http.Request)

GetPlatforms Get platforms (GET /platforms)

func (Unimplemented) GetTopCompanies added in v1.4.0

func (_ Unimplemented) GetTopCompanies(w http.ResponseWriter, r *http.Request, params GetTopCompaniesParams)

GetTopCompanies Get top companies (GET /companies/top)

func (Unimplemented) GetTopGenres added in v1.4.0

func (_ Unimplemented) GetTopGenres(w http.ResponseWriter, r *http.Request)

GetTopGenres Get top genres (GET /genres/top)

func (Unimplemented) GetUserGames added in v1.4.0

func (_ Unimplemented) GetUserGames(w http.ResponseWriter, r *http.Request)

GetUserGames Get user games (GET /user/games)

func (Unimplemented) GetUserRatings added in v1.4.0

func (_ Unimplemented) GetUserRatings(w http.ResponseWriter, r *http.Request)

GetUserRatings Get user ratings for specified games (POST /user/ratings)

func (Unimplemented) RateGame added in v1.4.0

func (_ Unimplemented) RateGame(w http.ResponseWriter, r *http.Request, id GameID)

RateGame Rate game (POST /games/{id}/rate)

func (Unimplemented) UpdateGame added in v1.4.0

func (_ Unimplemented) UpdateGame(w http.ResponseWriter, r *http.Request, id GameID)

UpdateGame Update game (PATCH /games/{id})

func (Unimplemented) UploadGameImages added in v1.4.0

func (_ Unimplemented) UploadGameImages(w http.ResponseWriter, r *http.Request)

UploadGameImages Upload game images (POST /games/images)

type UnmarshalingParamError added in v1.4.0

type UnmarshalingParamError struct {
	ParamName string
	Err       error
}

func (*UnmarshalingParamError) Error added in v1.4.0

func (e *UnmarshalingParamError) Error() string

func (*UnmarshalingParamError) Unwrap added in v1.4.0

func (e *UnmarshalingParamError) Unwrap() error

type UpdateGameJSONRequestBody added in v1.4.0

type UpdateGameJSONRequestBody = UpdateGameRequest

UpdateGameJSONRequestBody defines body for UpdateGame for application/json ContentType.

type UpdateGameRequest added in v1.4.0

type UpdateGameRequest struct {
	Developer    *string  `json:"developer,omitempty"`
	GenresIDs    *[]int32 `json:"genresIds,omitempty"`
	LogoURL      *string  `json:"logoUrl,omitempty"`
	Name         *string  `json:"name,omitempty"`
	PlatformsIDs *[]int32 `json:"platformsIds,omitempty"`

	// ReleaseDate date in format YYYY-MM-DD
	ReleaseDate *string   `json:"releaseDate,omitempty"`
	Screenshots *[]string `json:"screenshots,omitempty"`
	Summary     *string   `json:"summary,omitempty"`
	Websites    *[]string `json:"websites,omitempty"`
}

UpdateGameRequest all fields are optional; provided fields follow the same rules as in CreateGameRequest

func (*UpdateGameRequest) Sanitize added in v1.4.0

func (r *UpdateGameRequest) Sanitize()

Sanitize cleans up user input for CreateGameRequest

func (*UpdateGameRequest) ValidateWith added in v1.4.0

func (r *UpdateGameRequest) ValidateWith(rules *validation.Rules) (bool, []web.FieldError)

ValidateWith validates UpdateGameRequest

type UploadGameImagesMultipartBody added in v1.4.0

type UploadGameImagesMultipartBody struct {
	// Cover Cover image file (.png, .jpg, .jpeg), maximum 1MB
	Cover openapi_types.File `json:"cover,omitempty"`

	// Screenshots Screenshot image files (.png, .jpg, .jpeg), up to 8 files, maximum 1MB each
	Screenshots []openapi_types.File `json:"screenshots,omitempty"`
}

UploadGameImagesMultipartBody defines parameters for UploadGameImages.

type UploadGameImagesMultipartRequestBody added in v1.4.0

type UploadGameImagesMultipartRequestBody UploadGameImagesMultipartBody

UploadGameImagesMultipartRequestBody defines body for UploadGameImages for multipart/form-data ContentType.

type UploadImagesResponse added in v1.4.0

type UploadImagesResponse struct {
	Files []UploadedFileInfo `json:"files"`
}

UploadImagesResponse defines model for UploadImagesResponse.

type UploadedFileInfo added in v1.4.0

type UploadedFileInfo struct {
	FileID   string               `json:"fileId"`
	FileName string               `json:"fileName"`
	FileURL  string               `json:"fileUrl"`
	Type     UploadedFileInfoType `json:"type"`
}

UploadedFileInfo defines model for UploadedFileInfo.

type UploadedFileInfoType added in v1.4.0

type UploadedFileInfoType string

UploadedFileInfoType defines model for UploadedFileInfo.Type.

const (
	UploadedFileInfoTypeCover      UploadedFileInfoType = "cover"
	UploadedFileInfoTypeScreenshot UploadedFileInfoType = "screenshot"
)

Defines values for UploadedFileInfoType.

func (UploadedFileInfoType) Valid added in v1.4.0

func (e UploadedFileInfoType) Valid() bool

Valid indicates whether the value is a known member of the UploadedFileInfoType enum.

type UserRatingsResponse added in v1.4.0

type UserRatingsResponse = map[int32]uint8

UserRatingsResponse map of game id to user rating

Directories

Path Synopsis
grpc
infoapi/mocks
Package infoapi_mock is a generated GoMock package.
Package infoapi_mock is a generated GoMock package.
Package api_mock is a generated GoMock package.
Package api_mock is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL