Documentation
¶
Overview ¶
Package enrichapi 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 ¶
- func GetSpec() (swagger *openapi3.T, err error)
- func GetSpecJSON() ([]byte, error)
- func GetSwagger() (*openapi3.T, error)deprecated
- func NewBatchPriceHistoryRequest(server string, body BatchPriceHistoryJSONRequestBody) (*http.Request, error)
- func NewBatchPriceHistoryRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewBatchPricesRequest(server string, body BatchPricesJSONRequestBody) (*http.Request, error)
- func NewBatchPricesRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewCreateCommunityProductRequest(server string, body CreateCommunityProductJSONRequestBody) (*http.Request, error)
- func NewCreateCommunityProductRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewDeleteProductRequest(server string, productId openapi_types.UUID) (*http.Request, error)
- func NewDismissPromoteCandidateRequest(server string, productId openapi_types.UUID, ...) (*http.Request, error)
- func NewDismissPromoteCandidateRequestWithBody(server string, productId openapi_types.UUID, contentType string, ...) (*http.Request, error)
- func NewGetFxLatestRequest(server string) (*http.Request, error)
- func NewGetProductRequest(server string, productId openapi_types.UUID) (*http.Request, error)
- func NewInternalNormalizeCommunityRegionsRequest(server string) (*http.Request, error)
- func NewInternalRefreshRequest(server string) (*http.Request, error)
- func NewListCommunityProductsRequest(server string, params *ListCommunityProductsParams) (*http.Request, error)
- func NewListPlatformsRequest(server string) (*http.Request, error)
- func NewListPromoteCandidatesRequest(server string, params *ListPromoteCandidatesParams) (*http.Request, error)
- func NewListUnmatchedProductsRequest(server string, params *ListUnmatchedProductsParams) (*http.Request, error)
- func NewPromoteProductRequest(server string, productId openapi_types.UUID, ...) (*http.Request, error)
- func NewPromoteProductRequestWithBody(server string, productId openapi_types.UUID, contentType string, ...) (*http.Request, error)
- func NewResolveProductRequest(server string, body ResolveProductJSONRequestBody) (*http.Request, error)
- func NewResolveProductRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewScoreRecommendationsRequest(server string, body ScoreRecommendationsJSONRequestBody) (*http.Request, error)
- func NewScoreRecommendationsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewSearchCatalogRequest(server string, params *SearchCatalogParams) (*http.Request, error)
- func NewSetProductMappingRequest(server string, productId openapi_types.UUID, ...) (*http.Request, error)
- func NewSetProductMappingRequestWithBody(server string, productId openapi_types.UUID, contentType string, ...) (*http.Request, error)
- func NewTriggerRefreshRequest(server string) (*http.Request, error)
- func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error)
- type BadRequest
- type BatchPriceHistoryJSONRequestBody
- type BatchPriceHistoryResponse
- func (r BatchPriceHistoryResponse) ContentType() string
- func (r BatchPriceHistoryResponse) GetApplicationproblemJSON400() *BadRequest
- func (r BatchPriceHistoryResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r BatchPriceHistoryResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r BatchPriceHistoryResponse) GetBody() []byte
- func (r BatchPriceHistoryResponse) GetJSON200() *PriceHistoryResponse
- func (r BatchPriceHistoryResponse) Status() string
- func (r BatchPriceHistoryResponse) StatusCode() int
- type BatchPricesJSONRequestBody
- type BatchPricesResponse
- func (r BatchPricesResponse) ContentType() string
- func (r BatchPricesResponse) GetApplicationproblemJSON400() *BadRequest
- func (r BatchPricesResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r BatchPricesResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r BatchPricesResponse) GetBody() []byte
- func (r BatchPricesResponse) GetJSON200() *PricesBatchResponse
- func (r BatchPricesResponse) Status() string
- func (r BatchPricesResponse) StatusCode() int
- type Client
- func (c *Client) BatchPriceHistory(ctx context.Context, body BatchPriceHistoryJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) BatchPriceHistoryWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) BatchPrices(ctx context.Context, body BatchPricesJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) BatchPricesWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) CreateCommunityProduct(ctx context.Context, body CreateCommunityProductJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) CreateCommunityProductWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) DeleteProduct(ctx context.Context, productId openapi_types.UUID, ...) (*http.Response, error)
- func (c *Client) DismissPromoteCandidate(ctx context.Context, productId openapi_types.UUID, ...) (*http.Response, error)
- func (c *Client) DismissPromoteCandidateWithBody(ctx context.Context, productId openapi_types.UUID, contentType string, ...) (*http.Response, error)
- func (c *Client) GetFxLatest(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) GetProduct(ctx context.Context, productId openapi_types.UUID, ...) (*http.Response, error)
- func (c *Client) InternalNormalizeCommunityRegions(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) InternalRefresh(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) ListCommunityProducts(ctx context.Context, params *ListCommunityProductsParams, ...) (*http.Response, error)
- func (c *Client) ListPlatforms(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) ListPromoteCandidates(ctx context.Context, params *ListPromoteCandidatesParams, ...) (*http.Response, error)
- func (c *Client) ListUnmatchedProducts(ctx context.Context, params *ListUnmatchedProductsParams, ...) (*http.Response, error)
- func (c *Client) PromoteProduct(ctx context.Context, productId openapi_types.UUID, ...) (*http.Response, error)
- func (c *Client) PromoteProductWithBody(ctx context.Context, productId openapi_types.UUID, contentType string, ...) (*http.Response, error)
- func (c *Client) ResolveProduct(ctx context.Context, body ResolveProductJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) ResolveProductWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) ScoreRecommendations(ctx context.Context, body ScoreRecommendationsJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) ScoreRecommendationsWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) SearchCatalog(ctx context.Context, params *SearchCatalogParams, ...) (*http.Response, error)
- func (c *Client) SetProductMapping(ctx context.Context, productId openapi_types.UUID, ...) (*http.Response, error)
- func (c *Client) SetProductMappingWithBody(ctx context.Context, productId openapi_types.UUID, contentType string, ...) (*http.Response, error)
- func (c *Client) TriggerRefresh(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- type ClientInterface
- type ClientOption
- type ClientWithResponses
- func (c *ClientWithResponses) BatchPriceHistoryWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*BatchPriceHistoryResponse, error)
- func (c *ClientWithResponses) BatchPriceHistoryWithResponse(ctx context.Context, body BatchPriceHistoryJSONRequestBody, ...) (*BatchPriceHistoryResponse, error)
- func (c *ClientWithResponses) BatchPricesWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*BatchPricesResponse, error)
- func (c *ClientWithResponses) BatchPricesWithResponse(ctx context.Context, body BatchPricesJSONRequestBody, ...) (*BatchPricesResponse, error)
- func (c *ClientWithResponses) CreateCommunityProductWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*CreateCommunityProductResponse, error)
- func (c *ClientWithResponses) CreateCommunityProductWithResponse(ctx context.Context, body CreateCommunityProductJSONRequestBody, ...) (*CreateCommunityProductResponse, error)
- func (c *ClientWithResponses) DeleteProductWithResponse(ctx context.Context, productId openapi_types.UUID, ...) (*DeleteProductResponse, error)
- func (c *ClientWithResponses) DismissPromoteCandidateWithBodyWithResponse(ctx context.Context, productId openapi_types.UUID, contentType string, ...) (*DismissPromoteCandidateResponse, error)
- func (c *ClientWithResponses) DismissPromoteCandidateWithResponse(ctx context.Context, productId openapi_types.UUID, ...) (*DismissPromoteCandidateResponse, error)
- func (c *ClientWithResponses) GetFxLatestWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetFxLatestResponse, error)
- func (c *ClientWithResponses) GetProductWithResponse(ctx context.Context, productId openapi_types.UUID, ...) (*GetProductResponse, error)
- func (c *ClientWithResponses) InternalNormalizeCommunityRegionsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*InternalNormalizeCommunityRegionsResponse, error)
- func (c *ClientWithResponses) InternalRefreshWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*InternalRefreshResponse, error)
- func (c *ClientWithResponses) ListCommunityProductsWithResponse(ctx context.Context, params *ListCommunityProductsParams, ...) (*ListCommunityProductsResponse, error)
- func (c *ClientWithResponses) ListPlatformsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ListPlatformsResponse, error)
- func (c *ClientWithResponses) ListPromoteCandidatesWithResponse(ctx context.Context, params *ListPromoteCandidatesParams, ...) (*ListPromoteCandidatesResponse, error)
- func (c *ClientWithResponses) ListUnmatchedProductsWithResponse(ctx context.Context, params *ListUnmatchedProductsParams, ...) (*ListUnmatchedProductsResponse, error)
- func (c *ClientWithResponses) PromoteProductWithBodyWithResponse(ctx context.Context, productId openapi_types.UUID, contentType string, ...) (*PromoteProductResponse, error)
- func (c *ClientWithResponses) PromoteProductWithResponse(ctx context.Context, productId openapi_types.UUID, ...) (*PromoteProductResponse, error)
- func (c *ClientWithResponses) ResolveProductWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*ResolveProductResponse, error)
- func (c *ClientWithResponses) ResolveProductWithResponse(ctx context.Context, body ResolveProductJSONRequestBody, ...) (*ResolveProductResponse, error)
- func (c *ClientWithResponses) ScoreRecommendationsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*ScoreRecommendationsResponse, error)
- func (c *ClientWithResponses) ScoreRecommendationsWithResponse(ctx context.Context, body ScoreRecommendationsJSONRequestBody, ...) (*ScoreRecommendationsResponse, error)
- func (c *ClientWithResponses) SearchCatalogWithResponse(ctx context.Context, params *SearchCatalogParams, ...) (*SearchCatalogResponse, error)
- func (c *ClientWithResponses) SetProductMappingWithBodyWithResponse(ctx context.Context, productId openapi_types.UUID, contentType string, ...) (*SetProductMappingResponse, error)
- func (c *ClientWithResponses) SetProductMappingWithResponse(ctx context.Context, productId openapi_types.UUID, ...) (*SetProductMappingResponse, error)
- func (c *ClientWithResponses) TriggerRefreshWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*TriggerRefreshResponse, error)
- type ClientWithResponsesInterface
- type CommunityProductSpec
- type CommunityProductsPage
- type Conflict
- type CreateCommunityProductJSONRequestBody
- type CreateCommunityProductResponse
- func (r CreateCommunityProductResponse) ContentType() string
- func (r CreateCommunityProductResponse) GetApplicationproblemJSON400() *BadRequest
- func (r CreateCommunityProductResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r CreateCommunityProductResponse) GetApplicationproblemJSON403() *Forbidden
- func (r CreateCommunityProductResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r CreateCommunityProductResponse) GetBody() []byte
- func (r CreateCommunityProductResponse) GetJSON201() *Product
- func (r CreateCommunityProductResponse) Status() string
- func (r CreateCommunityProductResponse) StatusCode() int
- type CreateCommunityProductResponse201Headers
- type DeleteProductResponse
- func (r DeleteProductResponse) ContentType() string
- func (r DeleteProductResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r DeleteProductResponse) GetApplicationproblemJSON403() *Forbidden
- func (r DeleteProductResponse) GetApplicationproblemJSON404() *NotFound
- func (r DeleteProductResponse) GetApplicationproblemJSON409() *Conflict
- func (r DeleteProductResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r DeleteProductResponse) GetBody() []byte
- func (r DeleteProductResponse) Status() string
- func (r DeleteProductResponse) StatusCode() int
- type DismissCandidateRequest
- type DismissPromoteCandidateJSONRequestBody
- type DismissPromoteCandidateResponse
- func (r DismissPromoteCandidateResponse) ContentType() string
- func (r DismissPromoteCandidateResponse) GetApplicationproblemJSON400() *BadRequest
- func (r DismissPromoteCandidateResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r DismissPromoteCandidateResponse) GetApplicationproblemJSON403() *Forbidden
- func (r DismissPromoteCandidateResponse) GetApplicationproblemJSON404() *NotFound
- func (r DismissPromoteCandidateResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r DismissPromoteCandidateResponse) GetBody() []byte
- func (r DismissPromoteCandidateResponse) Status() string
- func (r DismissPromoteCandidateResponse) StatusCode() int
- type FXRates
- type Forbidden
- type GetFxLatestResponse
- func (r GetFxLatestResponse) ContentType() string
- func (r GetFxLatestResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r GetFxLatestResponse) GetApplicationproblemJSON502() *UpstreamError
- func (r GetFxLatestResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r GetFxLatestResponse) GetBody() []byte
- func (r GetFxLatestResponse) GetJSON200() *FXRates
- func (r GetFxLatestResponse) Status() string
- func (r GetFxLatestResponse) StatusCode() int
- type GetProductResponse
- func (r GetProductResponse) ContentType() string
- func (r GetProductResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r GetProductResponse) GetApplicationproblemJSON404() *NotFound
- func (r GetProductResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r GetProductResponse) GetBody() []byte
- func (r GetProductResponse) GetJSON200() *Product
- func (r GetProductResponse) Status() string
- func (r GetProductResponse) StatusCode() int
- type HttpRequestDoer
- type InternalError
- type InternalNormalizeCommunityRegionsResponse
- func (r InternalNormalizeCommunityRegionsResponse) ContentType() string
- func (r InternalNormalizeCommunityRegionsResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r InternalNormalizeCommunityRegionsResponse) GetApplicationproblemJSON403() *Forbidden
- func (r InternalNormalizeCommunityRegionsResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r InternalNormalizeCommunityRegionsResponse) GetBody() []byte
- func (r InternalNormalizeCommunityRegionsResponse) GetJSON200() *NormalizeResult
- func (r InternalNormalizeCommunityRegionsResponse) Status() string
- func (r InternalNormalizeCommunityRegionsResponse) StatusCode() int
- type InternalRefreshResponse
- func (r InternalRefreshResponse) ContentType() string
- func (r InternalRefreshResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r InternalRefreshResponse) GetApplicationproblemJSON403() *Forbidden
- func (r InternalRefreshResponse) GetApplicationproblemJSON409() *Conflict
- func (r InternalRefreshResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r InternalRefreshResponse) GetBody() []byte
- func (r InternalRefreshResponse) GetJSON202() *RefreshAccepted
- func (r InternalRefreshResponse) Status() string
- func (r InternalRefreshResponse) StatusCode() int
- type LibraryEntry
- type ListCommunityProductsParams
- type ListCommunityProductsResponse
- func (r ListCommunityProductsResponse) ContentType() string
- func (r ListCommunityProductsResponse) GetApplicationproblemJSON400() *BadRequest
- func (r ListCommunityProductsResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r ListCommunityProductsResponse) GetApplicationproblemJSON403() *Forbidden
- func (r ListCommunityProductsResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r ListCommunityProductsResponse) GetBody() []byte
- func (r ListCommunityProductsResponse) GetJSON200() *CommunityProductsPage
- func (r ListCommunityProductsResponse) Status() string
- func (r ListCommunityProductsResponse) StatusCode() int
- type ListPlatformsResponse
- func (r ListPlatformsResponse) ContentType() string
- func (r ListPlatformsResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r ListPlatformsResponse) GetApplicationproblemJSON502() *UpstreamError
- func (r ListPlatformsResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r ListPlatformsResponse) GetBody() []byte
- func (r ListPlatformsResponse) GetJSON200() *PlatformCatalog
- func (r ListPlatformsResponse) Status() string
- func (r ListPlatformsResponse) StatusCode() int
- type ListPromoteCandidatesParams
- type ListPromoteCandidatesResponse
- func (r ListPromoteCandidatesResponse) ContentType() string
- func (r ListPromoteCandidatesResponse) GetApplicationproblemJSON400() *BadRequest
- func (r ListPromoteCandidatesResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r ListPromoteCandidatesResponse) GetApplicationproblemJSON403() *Forbidden
- func (r ListPromoteCandidatesResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r ListPromoteCandidatesResponse) GetBody() []byte
- func (r ListPromoteCandidatesResponse) GetJSON200() *PromoteCandidatesPage
- func (r ListPromoteCandidatesResponse) Status() string
- func (r ListPromoteCandidatesResponse) StatusCode() int
- type ListUnmatchedProductsParams
- type ListUnmatchedProductsResponse
- func (r ListUnmatchedProductsResponse) ContentType() string
- func (r ListUnmatchedProductsResponse) GetApplicationproblemJSON400() *BadRequest
- func (r ListUnmatchedProductsResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r ListUnmatchedProductsResponse) GetApplicationproblemJSON403() *Forbidden
- func (r ListUnmatchedProductsResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r ListUnmatchedProductsResponse) GetBody() []byte
- func (r ListUnmatchedProductsResponse) GetJSON200() *UnmatchedProductsPage
- func (r ListUnmatchedProductsResponse) Status() string
- func (r ListUnmatchedProductsResponse) StatusCode() int
- type MappingRequest
- type NormalizeResult
- type NotFound
- type PlatformCatalog
- type PriceHistoryRequest
- type PriceHistoryResponse
- type PricePoint
- type PricesBatchRequest
- type PricesBatchResponse
- type Product
- type ProductPrices
- type PromoteCandidatesPage
- type PromoteProductJSONRequestBody
- type PromoteProductResponse
- func (r PromoteProductResponse) ContentType() string
- func (r PromoteProductResponse) GetApplicationproblemJSON400() *BadRequest
- func (r PromoteProductResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r PromoteProductResponse) GetApplicationproblemJSON403() *Forbidden
- func (r PromoteProductResponse) GetApplicationproblemJSON404() *NotFound
- func (r PromoteProductResponse) GetApplicationproblemJSON409() *Conflict
- func (r PromoteProductResponse) GetApplicationproblemJSON502() *UpstreamError
- func (r PromoteProductResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r PromoteProductResponse) GetBody() []byte
- func (r PromoteProductResponse) GetJSON200() *Product
- func (r PromoteProductResponse) Status() string
- func (r PromoteProductResponse) StatusCode() int
- type PromoteRequest
- type RefreshAccepted
- type RequestEditorFn
- type ResolveProductJSONRequestBody
- type ResolveProductResponse
- func (r ResolveProductResponse) ContentType() string
- func (r ResolveProductResponse) GetApplicationproblemJSON400() *BadRequest
- func (r ResolveProductResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r ResolveProductResponse) GetApplicationproblemJSON404() *NotFound
- func (r ResolveProductResponse) GetApplicationproblemJSON502() *UpstreamError
- func (r ResolveProductResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r ResolveProductResponse) GetBody() []byte
- func (r ResolveProductResponse) GetJSON200() *Product
- func (r ResolveProductResponse) Status() string
- func (r ResolveProductResponse) StatusCode() int
- type ResolveRequest
- type ScoreRecommendationsJSONRequestBody
- type ScoreRecommendationsResponse
- func (r ScoreRecommendationsResponse) ContentType() string
- func (r ScoreRecommendationsResponse) GetApplicationproblemJSON400() *BadRequest
- func (r ScoreRecommendationsResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r ScoreRecommendationsResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r ScoreRecommendationsResponse) GetBody() []byte
- func (r ScoreRecommendationsResponse) GetJSON200() *ScoreResponse
- func (r ScoreRecommendationsResponse) Status() string
- func (r ScoreRecommendationsResponse) StatusCode() int
- type ScoreRequest
- type ScoreResponse
- type SearchCatalogParams
- type SearchCatalogResponse
- func (r SearchCatalogResponse) ContentType() string
- func (r SearchCatalogResponse) GetApplicationproblemJSON400() *BadRequest
- func (r SearchCatalogResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r SearchCatalogResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r SearchCatalogResponse) GetBody() []byte
- func (r SearchCatalogResponse) GetJSON200() *SearchResults
- func (r SearchCatalogResponse) Status() string
- func (r SearchCatalogResponse) StatusCode() int
- type SearchResults
- type SetProductMappingJSONRequestBody
- type SetProductMappingResponse
- func (r SetProductMappingResponse) ContentType() string
- func (r SetProductMappingResponse) GetApplicationproblemJSON400() *BadRequest
- func (r SetProductMappingResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r SetProductMappingResponse) GetApplicationproblemJSON403() *Forbidden
- func (r SetProductMappingResponse) GetApplicationproblemJSON404() *NotFound
- func (r SetProductMappingResponse) GetApplicationproblemJSON409() *Conflict
- func (r SetProductMappingResponse) GetApplicationproblemJSON502() *UpstreamError
- func (r SetProductMappingResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r SetProductMappingResponse) GetBody() []byte
- func (r SetProductMappingResponse) GetJSON200() *Product
- func (r SetProductMappingResponse) Status() string
- func (r SetProductMappingResponse) StatusCode() int
- type TriggerRefreshResponse
- func (r TriggerRefreshResponse) ContentType() string
- func (r TriggerRefreshResponse) GetApplicationproblemJSON401() *Unauthorized
- func (r TriggerRefreshResponse) GetApplicationproblemJSON403() *Forbidden
- func (r TriggerRefreshResponse) GetApplicationproblemJSON409() *Conflict
- func (r TriggerRefreshResponse) GetApplicationproblemJSONDefault() *InternalError
- func (r TriggerRefreshResponse) GetBody() []byte
- func (r TriggerRefreshResponse) GetJSON202() *RefreshAccepted
- func (r TriggerRefreshResponse) Status() string
- func (r TriggerRefreshResponse) StatusCode() int
- type Unauthorized
- type UnmatchedProductsPage
- type UpstreamError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetSpec ¶
GetSpec returns the OpenAPI specification corresponding to the generated code in this file. External references in the spec are resolved through PathToRawSpec; externally-referenced files must be embedded in their corresponding Go packages (via the import-mapping feature). URL-based external refs are not supported.
func GetSpecJSON ¶
GetSpecJSON returns the raw JSON bytes of the embedded OpenAPI specification: decompressed but not unmarshaled. External references are not resolved here; the bytes are the spec exactly as embedded by codegen. The result is cached at package init time, so repeated calls are cheap.
func GetSwagger
deprecated
func NewBatchPriceHistoryRequest ¶
func NewBatchPriceHistoryRequest(server string, body BatchPriceHistoryJSONRequestBody) (*http.Request, error)
NewBatchPriceHistoryRequest calls the generic BatchPriceHistory builder with application/json body
func NewBatchPriceHistoryRequestWithBody ¶
func NewBatchPriceHistoryRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewBatchPriceHistoryRequestWithBody constructs an http.Request for the BatchPriceHistory method, with any body, and a specified content type
func NewBatchPricesRequest ¶
func NewBatchPricesRequest(server string, body BatchPricesJSONRequestBody) (*http.Request, error)
NewBatchPricesRequest calls the generic BatchPrices builder with application/json body
func NewBatchPricesRequestWithBody ¶
func NewBatchPricesRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewBatchPricesRequestWithBody constructs an http.Request for the BatchPrices method, with any body, and a specified content type
func NewCreateCommunityProductRequest ¶
func NewCreateCommunityProductRequest(server string, body CreateCommunityProductJSONRequestBody) (*http.Request, error)
NewCreateCommunityProductRequest calls the generic CreateCommunityProduct builder with application/json body
func NewCreateCommunityProductRequestWithBody ¶
func NewCreateCommunityProductRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewCreateCommunityProductRequestWithBody constructs an http.Request for the CreateCommunityProduct method, with any body, and a specified content type
func NewDeleteProductRequest ¶
NewDeleteProductRequest constructs an http.Request for the DeleteProduct method
func NewDismissPromoteCandidateRequest ¶
func NewDismissPromoteCandidateRequest(server string, productId openapi_types.UUID, body DismissPromoteCandidateJSONRequestBody) (*http.Request, error)
NewDismissPromoteCandidateRequest calls the generic DismissPromoteCandidate builder with application/json body
func NewDismissPromoteCandidateRequestWithBody ¶
func NewDismissPromoteCandidateRequestWithBody(server string, productId openapi_types.UUID, contentType string, body io.Reader) (*http.Request, error)
NewDismissPromoteCandidateRequestWithBody constructs an http.Request for the DismissPromoteCandidate method, with any body, and a specified content type
func NewGetFxLatestRequest ¶
NewGetFxLatestRequest constructs an http.Request for the GetFxLatest method
func NewGetProductRequest ¶
NewGetProductRequest constructs an http.Request for the GetProduct method
func NewInternalNormalizeCommunityRegionsRequest ¶
NewInternalNormalizeCommunityRegionsRequest constructs an http.Request for the InternalNormalizeCommunityRegions method
func NewInternalRefreshRequest ¶
NewInternalRefreshRequest constructs an http.Request for the InternalRefresh method
func NewListCommunityProductsRequest ¶
func NewListCommunityProductsRequest(server string, params *ListCommunityProductsParams) (*http.Request, error)
NewListCommunityProductsRequest constructs an http.Request for the ListCommunityProducts method
func NewListPlatformsRequest ¶
NewListPlatformsRequest constructs an http.Request for the ListPlatforms method
func NewListPromoteCandidatesRequest ¶
func NewListPromoteCandidatesRequest(server string, params *ListPromoteCandidatesParams) (*http.Request, error)
NewListPromoteCandidatesRequest constructs an http.Request for the ListPromoteCandidates method
func NewListUnmatchedProductsRequest ¶
func NewListUnmatchedProductsRequest(server string, params *ListUnmatchedProductsParams) (*http.Request, error)
NewListUnmatchedProductsRequest constructs an http.Request for the ListUnmatchedProducts method
func NewPromoteProductRequest ¶
func NewPromoteProductRequest(server string, productId openapi_types.UUID, body PromoteProductJSONRequestBody) (*http.Request, error)
NewPromoteProductRequest calls the generic PromoteProduct builder with application/json body
func NewPromoteProductRequestWithBody ¶
func NewPromoteProductRequestWithBody(server string, productId openapi_types.UUID, contentType string, body io.Reader) (*http.Request, error)
NewPromoteProductRequestWithBody constructs an http.Request for the PromoteProduct method, with any body, and a specified content type
func NewResolveProductRequest ¶
func NewResolveProductRequest(server string, body ResolveProductJSONRequestBody) (*http.Request, error)
NewResolveProductRequest calls the generic ResolveProduct builder with application/json body
func NewResolveProductRequestWithBody ¶
func NewResolveProductRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewResolveProductRequestWithBody constructs an http.Request for the ResolveProduct method, with any body, and a specified content type
func NewScoreRecommendationsRequest ¶
func NewScoreRecommendationsRequest(server string, body ScoreRecommendationsJSONRequestBody) (*http.Request, error)
NewScoreRecommendationsRequest calls the generic ScoreRecommendations builder with application/json body
func NewScoreRecommendationsRequestWithBody ¶
func NewScoreRecommendationsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewScoreRecommendationsRequestWithBody constructs an http.Request for the ScoreRecommendations method, with any body, and a specified content type
func NewSearchCatalogRequest ¶
func NewSearchCatalogRequest(server string, params *SearchCatalogParams) (*http.Request, error)
NewSearchCatalogRequest constructs an http.Request for the SearchCatalog method
func NewSetProductMappingRequest ¶
func NewSetProductMappingRequest(server string, productId openapi_types.UUID, body SetProductMappingJSONRequestBody) (*http.Request, error)
NewSetProductMappingRequest calls the generic SetProductMapping builder with application/json body
func NewSetProductMappingRequestWithBody ¶
func NewSetProductMappingRequestWithBody(server string, productId openapi_types.UUID, contentType string, body io.Reader) (*http.Request, error)
NewSetProductMappingRequestWithBody constructs an http.Request for the SetProductMapping method, with any body, and a specified content type
func NewTriggerRefreshRequest ¶
NewTriggerRefreshRequest constructs an http.Request for the TriggerRefresh method
Types ¶
type BatchPriceHistoryJSONRequestBody ¶
type BatchPriceHistoryJSONRequestBody = PriceHistoryRequest
BatchPriceHistoryJSONRequestBody defines body for BatchPriceHistory for application/json ContentType.
type BatchPriceHistoryResponse ¶
type BatchPriceHistoryResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *PriceHistoryResponse
// ApplicationproblemJSON400 the response for an HTTP 400 `application/problem+json` response
ApplicationproblemJSON400 *BadRequest
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseBatchPriceHistoryResponse ¶
func ParseBatchPriceHistoryResponse(rsp *http.Response) (*BatchPriceHistoryResponse, error)
ParseBatchPriceHistoryResponse parses an HTTP response from a BatchPriceHistoryWithResponse call
func (BatchPriceHistoryResponse) ContentType ¶
func (r BatchPriceHistoryResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (BatchPriceHistoryResponse) GetApplicationproblemJSON400 ¶
func (r BatchPriceHistoryResponse) GetApplicationproblemJSON400() *BadRequest
GetApplicationproblemJSON400 returns the response for an HTTP 400 `application/problem+json` response
func (BatchPriceHistoryResponse) GetApplicationproblemJSON401 ¶
func (r BatchPriceHistoryResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (BatchPriceHistoryResponse) GetApplicationproblemJSONDefault ¶
func (r BatchPriceHistoryResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (BatchPriceHistoryResponse) GetBody ¶
func (r BatchPriceHistoryResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (BatchPriceHistoryResponse) GetJSON200 ¶
func (r BatchPriceHistoryResponse) GetJSON200() *PriceHistoryResponse
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (BatchPriceHistoryResponse) Status ¶
func (r BatchPriceHistoryResponse) Status() string
Status returns HTTPResponse.Status
func (BatchPriceHistoryResponse) StatusCode ¶
func (r BatchPriceHistoryResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type BatchPricesJSONRequestBody ¶
type BatchPricesJSONRequestBody = PricesBatchRequest
BatchPricesJSONRequestBody defines body for BatchPrices for application/json ContentType.
type BatchPricesResponse ¶
type BatchPricesResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *PricesBatchResponse
// ApplicationproblemJSON400 the response for an HTTP 400 `application/problem+json` response
ApplicationproblemJSON400 *BadRequest
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseBatchPricesResponse ¶
func ParseBatchPricesResponse(rsp *http.Response) (*BatchPricesResponse, error)
ParseBatchPricesResponse parses an HTTP response from a BatchPricesWithResponse call
func (BatchPricesResponse) ContentType ¶
func (r BatchPricesResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (BatchPricesResponse) GetApplicationproblemJSON400 ¶
func (r BatchPricesResponse) GetApplicationproblemJSON400() *BadRequest
GetApplicationproblemJSON400 returns the response for an HTTP 400 `application/problem+json` response
func (BatchPricesResponse) GetApplicationproblemJSON401 ¶
func (r BatchPricesResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (BatchPricesResponse) GetApplicationproblemJSONDefault ¶
func (r BatchPricesResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (BatchPricesResponse) GetBody ¶
func (r BatchPricesResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (BatchPricesResponse) GetJSON200 ¶
func (r BatchPricesResponse) GetJSON200() *PricesBatchResponse
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (BatchPricesResponse) Status ¶
func (r BatchPricesResponse) Status() string
Status returns HTTPResponse.Status
func (BatchPricesResponse) StatusCode ¶
func (r BatchPricesResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type Client ¶
type Client struct {
// The endpoint of the server conforming to this interface, with scheme,
// https://api.deepmap.com for example. This can contain a path relative
// to the server, such as https://api.deepmap.com/dev-test, and all the
// paths in the swagger spec will be appended to the server.
Server string
// Doer for performing requests, typically a *http.Client with any
// customized settings, such as certificate chains.
Client HttpRequestDoer
// A list of callbacks for modifying requests which are generated before sending over
// the network.
RequestEditors []RequestEditorFn
}
Client which conforms to the OpenAPI3 specification for this service.
func NewClient ¶
func NewClient(server string, opts ...ClientOption) (*Client, error)
Creates a new Client, with reasonable defaults
func (*Client) BatchPriceHistory ¶
func (c *Client) BatchPriceHistory(ctx context.Context, body BatchPriceHistoryJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
BatchPriceHistory Price snapshot series for a set of products (value-over-time composition)
Each requested product's snapshots inside the window, oldest first. Snapshots accumulate from the daily catalog refresh plus one initial point when a product is created or its mapping is corrected. Unknown ids and products with no points in the window are absent from the response map.
Takes a body of the `application/json` content type.
Corresponds with POST /products/price-history:batch (the `BatchPriceHistory` operationId).
func (*Client) BatchPriceHistoryWithBody ¶
func (c *Client) BatchPriceHistoryWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
BatchPriceHistoryWithBody Price snapshot series for a set of products (value-over-time composition)
Each requested product's snapshots inside the window, oldest first. Snapshots accumulate from the daily catalog refresh plus one initial point when a product is created or its mapping is corrected. Unknown ids and products with no points in the window are absent from the response map.
Takes any type of body and a specified content type.
Corresponds with POST /products/price-history:batch (the `BatchPriceHistory` operationId).
func (*Client) BatchPrices ¶
func (c *Client) BatchPrices(ctx context.Context, body BatchPricesJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
BatchPrices Current prices for a set of products (dashboard composition)
Reads straight from the catalog (the daily refresh keeps it current). Unknown product ids are absent from the response map; known-but-unmatched products appear with unmatched true and no price fields.
Takes a body of the `application/json` content type.
Corresponds with POST /products/prices:batch (the `BatchPrices` operationId).
func (*Client) BatchPricesWithBody ¶
func (c *Client) BatchPricesWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
BatchPricesWithBody Current prices for a set of products (dashboard composition)
Reads straight from the catalog (the daily refresh keeps it current). Unknown product ids are absent from the response map; known-but-unmatched products appear with unmatched true and no price fields.
Takes any type of body and a specified content type.
Corresponds with POST /products/prices:batch (the `BatchPrices` operationId).
func (*Client) CreateCommunityProduct ¶
func (c *Client) CreateCommunityProduct(ctx context.Context, body CreateCommunityProductJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
CreateCommunityProduct Mint a community product from an approved submission (role admin)
Creates an anchor-less product: no IGDB, no PriceCharting, origin community. Community products live outside the provider identity indexes - their curated name is their identity, and the review panel's embedded search is the dedup check (deliberately no uniqueness machinery). They never join the unmatched worklist, and they surface to users through the community lane in search. The single edition field follows the entry idiom (one "Edition or variant" note); variant stays empty - the region/edition/variant split exists only for provider hardware identity, which community products are outside of. platform_name and first_release_date store as the community facts block, retained after promotion as gap-fill.
Takes a body of the `application/json` content type.
Corresponds with POST /admin/products (the `CreateCommunityProduct` operationId).
func (*Client) CreateCommunityProductWithBody ¶
func (c *Client) CreateCommunityProductWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
CreateCommunityProductWithBody Mint a community product from an approved submission (role admin)
Creates an anchor-less product: no IGDB, no PriceCharting, origin community. Community products live outside the provider identity indexes - their curated name is their identity, and the review panel's embedded search is the dedup check (deliberately no uniqueness machinery). They never join the unmatched worklist, and they surface to users through the community lane in search. The single edition field follows the entry idiom (one "Edition or variant" note); variant stays empty - the region/edition/variant split exists only for provider hardware identity, which community products are outside of. platform_name and first_release_date store as the community facts block, retained after promotion as gap-fill.
Takes any type of body and a specified content type.
Corresponds with POST /admin/products (the `CreateCommunityProduct` operationId).
func (*Client) DeleteProduct ¶
func (c *Client) DeleteProduct(ctx context.Context, productId openapi_types.UUID, reqEditors ...RequestEditorFn) (*http.Response, error)
DeleteProduct Delete an unmatched product and its snapshots (role admin)
The residue mop: permanently removes a product that no listing anchors, plus its price snapshots. Only unmatched products qualify - a matched product answers 409 code product_matched (clear the mapping first). This service cannot see entries; the bff verifies no entries reference the product before calling. A later resolve can re-mint the family's unmatched member - delete is cleanup, not prevention.
Corresponds with DELETE /admin/products/{productId} (the `DeleteProduct` operationId).
func (*Client) DismissPromoteCandidate ¶
func (c *Client) DismissPromoteCandidate(ctx context.Context, productId openapi_types.UUID, body DismissPromoteCandidateJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
DismissPromoteCandidate Dismiss one promote candidate permanently (role admin)
Records the (provider, provider_id) pair as dismissed and drops the matching candidate; the sweep never re-flags a dismissed pair. A different candidate for the same product still nags.
Takes a body of the `application/json` content type.
Corresponds with POST /admin/products/{productId}/promote-candidates/dismiss (the `DismissPromoteCandidate` operationId).
func (*Client) DismissPromoteCandidateWithBody ¶
func (c *Client) DismissPromoteCandidateWithBody(ctx context.Context, productId openapi_types.UUID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
DismissPromoteCandidateWithBody Dismiss one promote candidate permanently (role admin)
Records the (provider, provider_id) pair as dismissed and drops the matching candidate; the sweep never re-flags a dismissed pair. A different candidate for the same product still nags.
Takes any type of body and a specified content type.
Corresponds with POST /admin/products/{productId}/promote-candidates/dismiss (the `DismissPromoteCandidate` operationId).
func (*Client) GetFxLatest ¶
func (c *Client) GetFxLatest(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
GetFxLatest Latest USD-based exchange rates (cached, refreshed hourly)
Rates are target-units-per-USD from the ECB reference set via frankfurter.dev (embedded fixtures in stub mode). Snapshots refresh at most hourly; an upstream failure serves the last good snapshot, so only a cold cache answers 502. Rates power display-side conversion only; nothing stored depends on them.
Corresponds with GET /fx/latest (the `GetFxLatest` operationId).
func (*Client) GetProduct ¶
func (c *Client) GetProduct(ctx context.Context, productId openapi_types.UUID, reqEditors ...RequestEditorFn) (*http.Response, error)
GetProduct Fetch a product (read-through with per-type staleness)
Valkey (5m) in front of Postgres; an IGDB projection older than IGDB_REFRESH_AFTER (default 720h) is refetched inline best-effort (stale data is served when the provider is down). Prices refresh on the daily cadence only, never per-read.
Corresponds with GET /products/{productId} (the `GetProduct` operationId).
func (*Client) InternalNormalizeCommunityRegions ¶
func (c *Client) InternalNormalizeCommunityRegions(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
InternalNormalizeCommunityRegions Promote free-text community product regions into the known set
Maintenance operation; the gateway never routes it. Folds every community product's curated region outside the known set (lowercase, trim) against the known values and the reviewed synonyms table - exact or synonym, never fuzzy. A community product carries no provider identity, so promotion is a plain field rewrite with no fetch arm. Guard: admin role or service token (the nightly job runs it alongside collection's platform/region levers). Idempotent and re-runnable; promoted rows leave the selection set.
Corresponds with POST /internal/normalize-community-regions (the `InternalNormalizeCommunityRegions` operationId).
func (*Client) InternalRefresh ¶
func (c *Client) InternalRefresh(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
InternalRefresh Catalog refresh trigger (CronJob)
Machine trigger for the nightly catalog refresh; the gateway never routes it. Guard: a service token (token_use=service) - operators use /admin/refresh. Answers 202 and detaches; one run at a time (409 refresh_in_progress).
Corresponds with POST /internal/refresh (the `InternalRefresh` operationId).
func (*Client) ListCommunityProducts ¶
func (c *Client) ListCommunityProducts(ctx context.Context, params *ListCommunityProductsParams, reqEditors ...RequestEditorFn) (*http.Response, error)
ListCommunityProducts List community products, un-promoted only (role admin)
Every admin-minted community product (origin community): the population promote can flip to a provider identity, and delete can remove once no entry references it. Ordered oldest updated_at first with _id as the tiebreak so offset pages are deterministic. limit defaults to 200 (max 500), offset slices the sequence, and total_count reports the full filtered count.
Corresponds with GET /admin/products/community (the `ListCommunityProducts` operationId).
func (*Client) ListPlatforms ¶
func (c *Client) ListPlatforms(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
ListPlatforms The canonical platform catalog with alias knowledge
The IGDB platform catalog (igdb id + name) joined with the alias table - PriceCharting console spellings plus curated abbreviations (SNES, PSX, N64, ...) - sorted by name. Reference data for the custom-entry platform picker and the collection normalize-platforms lever: consumers filter and match against name + aliases and never hard-code aliases themselves. Cached 24h (the search-cache idiom); the catalog changes only when the platform sweep lands new rows. A cold catalog with the provider down is the only 502.
Corresponds with GET /platforms (the `ListPlatforms` operationId).
func (*Client) ListPromoteCandidates ¶
func (c *Client) ListPromoteCandidates(ctx context.Context, params *ListPromoteCandidatesParams, reqEditors ...RequestEditorFn) (*http.Response, error)
ListPromoteCandidates Community products with plausible provider matches (role admin)
The promote worklist, fed by the nightly flag-never-act sweep (the refresh trigger also refreshes it): community products whose name matched a provider item at or above the never-guess threshold, strongest candidate first with _id as the tiebreak. Dismissed pairs never reappear; a different provider id for the same product still nags. product_id narrows to one product - the lookup panel's per-product view. Promotion is always a human verdict; nothing here attaches anything.
Corresponds with GET /admin/products/promote-candidates (the `ListPromoteCandidates` operationId).
func (*Client) ListUnmatchedProducts ¶
func (c *Client) ListUnmatchedProducts(ctx context.Context, params *ListUnmatchedProductsParams, reqEditors ...RequestEditorFn) (*http.Response, error)
ListUnmatchedProducts List unmatched products, admin-held included (role admin)
The admin worklist: every product with no PriceCharting mapping, all types, INCLUDING products held by an admin clear (each held item carries match_hold true; a deliberate clear is exactly what an admin revisits). Ordered oldest updated_at first with _id as the tiebreak so offset pages are deterministic. limit defaults to 200 (max 500), offset slices the sequence, and total_count reports the full filtered count.
Corresponds with GET /admin/products/unmatched (the `ListUnmatchedProducts` operationId).
func (*Client) PromoteProduct ¶
func (c *Client) PromoteProduct(ctx context.Context, productId openapi_types.UUID, body PromoteProductJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
PromoteProduct Promote a community product to provider identity in place (role admin)
Attaches the provider anchors and flips origin to provider atomically; the product id stays stable, so every adopter's entry upgrades through live reads with no repointing. The re-entry into the identity index adjudicates twins: when a provider product already holds the target identity the answer is 409 code identity_taken with the holder named in the detail, and the community product keeps working unpromoted (the true-merge case is deliberately not automated). The community facts block is retained as gap-fill. After the flip the product is a first-class provider citizen: a missing game listing leaves it on the unmatched worklist until the mapping fix attaches one. Errors: 404 code product_not_found, unknown_game or unknown_pc_product; 409 code product_not_community (already provider) or identity_taken; 502 code upstream_unavailable.
Takes a body of the `application/json` content type.
Corresponds with POST /admin/products/{productId}/promote (the `PromoteProduct` operationId).
func (*Client) PromoteProductWithBody ¶
func (c *Client) PromoteProductWithBody(ctx context.Context, productId openapi_types.UUID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
PromoteProductWithBody Promote a community product to provider identity in place (role admin)
Attaches the provider anchors and flips origin to provider atomically; the product id stays stable, so every adopter's entry upgrades through live reads with no repointing. The re-entry into the identity index adjudicates twins: when a provider product already holds the target identity the answer is 409 code identity_taken with the holder named in the detail, and the community product keeps working unpromoted (the true-merge case is deliberately not automated). The community facts block is retained as gap-fill. After the flip the product is a first-class provider citizen: a missing game listing leaves it on the unmatched worklist until the mapping fix attaches one. Errors: 404 code product_not_found, unknown_game or unknown_pc_product; 409 code product_not_community (already provider) or identity_taken; 502 code upstream_unavailable.
Takes any type of body and a specified content type.
Corresponds with POST /admin/products/{productId}/promote (the `PromoteProduct` operationId).
func (*Client) ResolveProduct ¶
func (c *Client) ResolveProduct(ctx context.Context, body ResolveProductJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
ResolveProduct Find-or-create the canonical product for a search selection
Idempotent: an existing product with the same identity is returned as-is. Game identity is (igdb game, platform, PriceCharting listing) - see ResolveRequest for the no-pick auto-match, the match_hint reweighting, and the manual-match pick. Creating a game product pulls the full IGDB payload into igdb_raw (reusing an already-cached payload without a provider call) and projects it onto the product. Creating a hardware product fetches the PriceCharting product and borrows IGDB platform metadata where a console mapping exists. Errors: 404 code unknown_game (IGDB id not found) or unknown_pc_product; 502 code upstream_unavailable when the needed provider cannot be reached.
Takes a body of the `application/json` content type.
Corresponds with POST /products/resolve (the `ResolveProduct` operationId).
func (*Client) ResolveProductWithBody ¶
func (c *Client) ResolveProductWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
ResolveProductWithBody Find-or-create the canonical product for a search selection
Idempotent: an existing product with the same identity is returned as-is. Game identity is (igdb game, platform, PriceCharting listing) - see ResolveRequest for the no-pick auto-match, the match_hint reweighting, and the manual-match pick. Creating a game product pulls the full IGDB payload into igdb_raw (reusing an already-cached payload without a provider call) and projects it onto the product. Creating a hardware product fetches the PriceCharting product and borrows IGDB platform metadata where a console mapping exists. Errors: 404 code unknown_game (IGDB id not found) or unknown_pc_product; 502 code upstream_unavailable when the needed provider cannot be reached.
Takes any type of body and a specified content type.
Corresponds with POST /products/resolve (the `ResolveProduct` operationId).
func (*Client) ScoreRecommendations ¶
func (c *Client) ScoreRecommendations(ctx context.Context, body ScoreRecommendationsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
ScoreRecommendations Score unowned games against a library summary (user-agnostic)
The caller supplies the library summary; this service stores no user data. Candidates come from owned games' similar_games edges (owner weights: dropped 0.5, rating >= 8 doubles to 2.0, otherwise 1.0) plus a genre-overlap bonus, with a genre-profile fallback when edges are sparse. Owned ids are excluded. Unknown candidate metadata is batch-fetched into igdb_raw (respecting the provider rate limiter). degraded is true when provider fetches failed and candidates were skipped.
Takes a body of the `application/json` content type.
Corresponds with POST /recommendations:score (the `ScoreRecommendations` operationId).
func (*Client) ScoreRecommendationsWithBody ¶
func (c *Client) ScoreRecommendationsWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
ScoreRecommendationsWithBody Score unowned games against a library summary (user-agnostic)
The caller supplies the library summary; this service stores no user data. Candidates come from owned games' similar_games edges (owner weights: dropped 0.5, rating >= 8 doubles to 2.0, otherwise 1.0) plus a genre-overlap bonus, with a genre-profile fallback when edges are sparse. Owned ids are excluded. Unknown candidate metadata is batch-fetched into igdb_raw (respecting the provider rate limiter). degraded is true when provider fetches failed and candidates were skipped.
Takes any type of body and a specified content type.
Corresponds with POST /recommendations:score (the `ScoreRecommendations` operationId).
func (*Client) SearchCatalog ¶
func (c *Client) SearchCatalog(ctx context.Context, params *SearchCatalogParams, reqEditors ...RequestEditorFn) (*http.Response, error)
SearchCatalog Discovery search (game metadata via IGDB, hardware via PriceCharting)
Results come from a 24h per-query Valkey cache in front of the provider, never from the local catalog first (it is incomplete by construction). When the provider is down and the cache is cold, the local catalog answers a name match and the response is flagged degraded. type pc_listing searches ALL of PriceCharting (games, hardware, every category) and carries the provider's loose/cib/new prices per listing; it exists for picking exact variant listings as price sources.
Corresponds with GET /search (the `SearchCatalog` operationId).
func (*Client) SetProductMapping ¶
func (c *Client) SetProductMapping(ctx context.Context, productId openapi_types.UUID, body SetProductMappingJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
SetProductMapping Correct a product's PriceCharting mapping and mark it verified (role admin)
Shared-catalog truth is moderated: the new mapping is validated against the provider, current prices are fetched, a snapshot is appended, and the mapping is stored verified with confidence 1.0. A null pc_product_id clears the mapping (the product becomes unmatched) and sets match_hold, so a future automated match (resolve, or the entry-side re-match) never undoes a deliberate clear; setting any mapping lifts match_hold. Identity indexes make a mapping change an identity move: when another product of the same identity (for games, the same game and platform; for hardware, the same region/edition/variant) already carries the target listing, or a clear would collide with an existing unmatched product of that identity, the answer is 409 code identity_taken, whose detail names the holding product (id and name) when the holder can be resolved. Clearing an already-unmatched product collides with nothing and simply parks it: match_hold is set, idempotently, which is the admin lever for silencing permanent worklist residue. Errors: 404 code product_not_found or unknown_pc_product; 409 code identity_taken; 502 code upstream_unavailable. 409 code product_not_provider for community products (their one path to a PriceCharting anchor is promote).
Takes a body of the `application/json` content type.
Corresponds with PUT /admin/products/{productId}/pricecharting (the `SetProductMapping` operationId).
func (*Client) SetProductMappingWithBody ¶
func (c *Client) SetProductMappingWithBody(ctx context.Context, productId openapi_types.UUID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
SetProductMappingWithBody Correct a product's PriceCharting mapping and mark it verified (role admin)
Shared-catalog truth is moderated: the new mapping is validated against the provider, current prices are fetched, a snapshot is appended, and the mapping is stored verified with confidence 1.0. A null pc_product_id clears the mapping (the product becomes unmatched) and sets match_hold, so a future automated match (resolve, or the entry-side re-match) never undoes a deliberate clear; setting any mapping lifts match_hold. Identity indexes make a mapping change an identity move: when another product of the same identity (for games, the same game and platform; for hardware, the same region/edition/variant) already carries the target listing, or a clear would collide with an existing unmatched product of that identity, the answer is 409 code identity_taken, whose detail names the holding product (id and name) when the holder can be resolved. Clearing an already-unmatched product collides with nothing and simply parks it: match_hold is set, idempotently, which is the admin lever for silencing permanent worklist residue. Errors: 404 code product_not_found or unknown_pc_product; 409 code identity_taken; 502 code upstream_unavailable. 409 code product_not_provider for community products (their one path to a PriceCharting anchor is promote).
Takes any type of body and a specified content type.
Corresponds with PUT /admin/products/{productId}/pricecharting (the `SetProductMapping` operationId).
func (*Client) TriggerRefresh ¶
func (c *Client) TriggerRefresh(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
TriggerRefresh Trigger an immediate catalog refresh (role admin)
Starts the same refresh the daily CronJob triggers and returns 202 immediately (the refresh outlives the HTTP write timeout at polite provider rates); the runner logs its summary. 409 code refresh_in_progress when a refresh is already running.
Corresponds with POST /admin/refresh (the `TriggerRefresh` operationId).
type ClientInterface ¶
type ClientInterface interface {
// CreateCommunityProductWithBody Mint a community product from an approved submission (role admin)
//
// Creates an anchor-less product: no IGDB, no PriceCharting, origin community. Community products live outside the provider identity indexes - their curated name is their identity, and the review panel's embedded search is the dedup check (deliberately no uniqueness machinery). They never join the unmatched worklist, and they surface to users through the community lane in search. The single edition field follows the entry idiom (one "Edition or variant" note); variant stays empty - the region/edition/variant split exists only for provider hardware identity, which community products are outside of. platform_name and first_release_date store as the community facts block, retained after promotion as gap-fill.
//
// Takes any type of body and a specified content type.
//
// Corresponds with POST /admin/products (the `CreateCommunityProduct` operationId).
CreateCommunityProductWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// CreateCommunityProduct Mint a community product from an approved submission (role admin)
//
// Creates an anchor-less product: no IGDB, no PriceCharting, origin community. Community products live outside the provider identity indexes - their curated name is their identity, and the review panel's embedded search is the dedup check (deliberately no uniqueness machinery). They never join the unmatched worklist, and they surface to users through the community lane in search. The single edition field follows the entry idiom (one "Edition or variant" note); variant stays empty - the region/edition/variant split exists only for provider hardware identity, which community products are outside of. platform_name and first_release_date store as the community facts block, retained after promotion as gap-fill.
//
// Takes a body of the `application/json` content type.
//
// Corresponds with POST /admin/products (the `CreateCommunityProduct` operationId).
CreateCommunityProduct(ctx context.Context, body CreateCommunityProductJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// ListCommunityProducts List community products, un-promoted only (role admin)
//
// Every admin-minted community product (origin community): the population promote can flip to a provider identity, and delete can remove once no entry references it. Ordered oldest updated_at first with _id as the tiebreak so offset pages are deterministic. limit defaults to 200 (max 500), offset slices the sequence, and total_count reports the full filtered count.
//
// Corresponds with GET /admin/products/community (the `ListCommunityProducts` operationId).
ListCommunityProducts(ctx context.Context, params *ListCommunityProductsParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// ListPromoteCandidates Community products with plausible provider matches (role admin)
//
// The promote worklist, fed by the nightly flag-never-act sweep (the refresh trigger also refreshes it): community products whose name matched a provider item at or above the never-guess threshold, strongest candidate first with _id as the tiebreak. Dismissed pairs never reappear; a different provider id for the same product still nags. product_id narrows to one product - the lookup panel's per-product view. Promotion is always a human verdict; nothing here attaches anything.
//
// Corresponds with GET /admin/products/promote-candidates (the `ListPromoteCandidates` operationId).
ListPromoteCandidates(ctx context.Context, params *ListPromoteCandidatesParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// ListUnmatchedProducts List unmatched products, admin-held included (role admin)
//
// The admin worklist: every product with no PriceCharting mapping, all types, INCLUDING products held by an admin clear (each held item carries match_hold true; a deliberate clear is exactly what an admin revisits). Ordered oldest updated_at first with _id as the tiebreak so offset pages are deterministic. limit defaults to 200 (max 500), offset slices the sequence, and total_count reports the full filtered count.
//
// Corresponds with GET /admin/products/unmatched (the `ListUnmatchedProducts` operationId).
ListUnmatchedProducts(ctx context.Context, params *ListUnmatchedProductsParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// DeleteProduct Delete an unmatched product and its snapshots (role admin)
//
// The residue mop: permanently removes a product that no listing anchors, plus its price snapshots. Only unmatched products qualify - a matched product answers 409 code product_matched (clear the mapping first). This service cannot see entries; the bff verifies no entries reference the product before calling. A later resolve can re-mint the family's unmatched member - delete is cleanup, not prevention.
//
// Corresponds with DELETE /admin/products/{productId} (the `DeleteProduct` operationId).
DeleteProduct(ctx context.Context, productId openapi_types.UUID, reqEditors ...RequestEditorFn) (*http.Response, error)
// SetProductMappingWithBody Correct a product's PriceCharting mapping and mark it verified (role admin)
//
// Shared-catalog truth is moderated: the new mapping is validated against the provider, current prices are fetched, a snapshot is appended, and the mapping is stored verified with confidence 1.0. A null pc_product_id clears the mapping (the product becomes unmatched) and sets match_hold, so a future automated match (resolve, or the entry-side re-match) never undoes a deliberate clear; setting any mapping lifts match_hold. Identity indexes make a mapping change an identity move: when another product of the same identity (for games, the same game and platform; for hardware, the same region/edition/variant) already carries the target listing, or a clear would collide with an existing unmatched product of that identity, the answer is 409 code identity_taken, whose detail names the holding product (id and name) when the holder can be resolved. Clearing an already-unmatched product collides with nothing and simply parks it: match_hold is set, idempotently, which is the admin lever for silencing permanent worklist residue. Errors: 404 code product_not_found or unknown_pc_product; 409 code identity_taken; 502 code upstream_unavailable. 409 code product_not_provider for community products (their one path to a PriceCharting anchor is promote).
//
// Takes any type of body and a specified content type.
//
// Corresponds with PUT /admin/products/{productId}/pricecharting (the `SetProductMapping` operationId).
SetProductMappingWithBody(ctx context.Context, productId openapi_types.UUID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// SetProductMapping Correct a product's PriceCharting mapping and mark it verified (role admin)
//
// Shared-catalog truth is moderated: the new mapping is validated against the provider, current prices are fetched, a snapshot is appended, and the mapping is stored verified with confidence 1.0. A null pc_product_id clears the mapping (the product becomes unmatched) and sets match_hold, so a future automated match (resolve, or the entry-side re-match) never undoes a deliberate clear; setting any mapping lifts match_hold. Identity indexes make a mapping change an identity move: when another product of the same identity (for games, the same game and platform; for hardware, the same region/edition/variant) already carries the target listing, or a clear would collide with an existing unmatched product of that identity, the answer is 409 code identity_taken, whose detail names the holding product (id and name) when the holder can be resolved. Clearing an already-unmatched product collides with nothing and simply parks it: match_hold is set, idempotently, which is the admin lever for silencing permanent worklist residue. Errors: 404 code product_not_found or unknown_pc_product; 409 code identity_taken; 502 code upstream_unavailable. 409 code product_not_provider for community products (their one path to a PriceCharting anchor is promote).
//
// Takes a body of the `application/json` content type.
//
// Corresponds with PUT /admin/products/{productId}/pricecharting (the `SetProductMapping` operationId).
SetProductMapping(ctx context.Context, productId openapi_types.UUID, body SetProductMappingJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// PromoteProductWithBody Promote a community product to provider identity in place (role admin)
//
// Attaches the provider anchors and flips origin to provider atomically; the product id stays stable, so every adopter's entry upgrades through live reads with no repointing. The re-entry into the identity index adjudicates twins: when a provider product already holds the target identity the answer is 409 code identity_taken with the holder named in the detail, and the community product keeps working unpromoted (the true-merge case is deliberately not automated). The community facts block is retained as gap-fill. After the flip the product is a first-class provider citizen: a missing game listing leaves it on the unmatched worklist until the mapping fix attaches one. Errors: 404 code product_not_found, unknown_game or unknown_pc_product; 409 code product_not_community (already provider) or identity_taken; 502 code upstream_unavailable.
//
// Takes any type of body and a specified content type.
//
// Corresponds with POST /admin/products/{productId}/promote (the `PromoteProduct` operationId).
PromoteProductWithBody(ctx context.Context, productId openapi_types.UUID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// PromoteProduct Promote a community product to provider identity in place (role admin)
//
// Attaches the provider anchors and flips origin to provider atomically; the product id stays stable, so every adopter's entry upgrades through live reads with no repointing. The re-entry into the identity index adjudicates twins: when a provider product already holds the target identity the answer is 409 code identity_taken with the holder named in the detail, and the community product keeps working unpromoted (the true-merge case is deliberately not automated). The community facts block is retained as gap-fill. After the flip the product is a first-class provider citizen: a missing game listing leaves it on the unmatched worklist until the mapping fix attaches one. Errors: 404 code product_not_found, unknown_game or unknown_pc_product; 409 code product_not_community (already provider) or identity_taken; 502 code upstream_unavailable.
//
// Takes a body of the `application/json` content type.
//
// Corresponds with POST /admin/products/{productId}/promote (the `PromoteProduct` operationId).
PromoteProduct(ctx context.Context, productId openapi_types.UUID, body PromoteProductJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// DismissPromoteCandidateWithBody Dismiss one promote candidate permanently (role admin)
//
// Records the (provider, provider_id) pair as dismissed and drops the matching candidate; the sweep never re-flags a dismissed pair. A different candidate for the same product still nags.
//
// Takes any type of body and a specified content type.
//
// Corresponds with POST /admin/products/{productId}/promote-candidates/dismiss (the `DismissPromoteCandidate` operationId).
DismissPromoteCandidateWithBody(ctx context.Context, productId openapi_types.UUID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// DismissPromoteCandidate Dismiss one promote candidate permanently (role admin)
//
// Records the (provider, provider_id) pair as dismissed and drops the matching candidate; the sweep never re-flags a dismissed pair. A different candidate for the same product still nags.
//
// Takes a body of the `application/json` content type.
//
// Corresponds with POST /admin/products/{productId}/promote-candidates/dismiss (the `DismissPromoteCandidate` operationId).
DismissPromoteCandidate(ctx context.Context, productId openapi_types.UUID, body DismissPromoteCandidateJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// TriggerRefresh Trigger an immediate catalog refresh (role admin)
//
// Starts the same refresh the daily CronJob triggers and returns 202 immediately (the refresh outlives the HTTP write timeout at polite provider rates); the runner logs its summary. 409 code refresh_in_progress when a refresh is already running.
//
// Corresponds with POST /admin/refresh (the `TriggerRefresh` operationId).
TriggerRefresh(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetFxLatest Latest USD-based exchange rates (cached, refreshed hourly)
//
// Rates are target-units-per-USD from the ECB reference set via frankfurter.dev (embedded fixtures in stub mode). Snapshots refresh at most hourly; an upstream failure serves the last good snapshot, so only a cold cache answers 502. Rates power display-side conversion only; nothing stored depends on them.
//
// Corresponds with GET /fx/latest (the `GetFxLatest` operationId).
GetFxLatest(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// InternalNormalizeCommunityRegions Promote free-text community product regions into the known set
//
// Maintenance operation; the gateway never routes it. Folds every community product's curated region outside the known set (lowercase, trim) against the known values and the reviewed synonyms table - exact or synonym, never fuzzy. A community product carries no provider identity, so promotion is a plain field rewrite with no fetch arm. Guard: admin role or service token (the nightly job runs it alongside collection's platform/region levers). Idempotent and re-runnable; promoted rows leave the selection set.
//
// Corresponds with POST /internal/normalize-community-regions (the `InternalNormalizeCommunityRegions` operationId).
InternalNormalizeCommunityRegions(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// InternalRefresh Catalog refresh trigger (CronJob)
//
// Machine trigger for the nightly catalog refresh; the gateway never routes it. Guard: a service token (token_use=service) - operators use /admin/refresh. Answers 202 and detaches; one run at a time (409 refresh_in_progress).
//
// Corresponds with POST /internal/refresh (the `InternalRefresh` operationId).
InternalRefresh(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// ListPlatforms The canonical platform catalog with alias knowledge
//
// The IGDB platform catalog (igdb id + name) joined with the alias table - PriceCharting console spellings plus curated abbreviations (SNES, PSX, N64, ...) - sorted by name. Reference data for the custom-entry platform picker and the collection normalize-platforms lever: consumers filter and match against name + aliases and never hard-code aliases themselves. Cached 24h (the search-cache idiom); the catalog changes only when the platform sweep lands new rows. A cold catalog with the provider down is the only 502.
//
// Corresponds with GET /platforms (the `ListPlatforms` operationId).
ListPlatforms(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// BatchPriceHistoryWithBody Price snapshot series for a set of products (value-over-time composition)
//
// Each requested product's snapshots inside the window, oldest first. Snapshots accumulate from the daily catalog refresh plus one initial point when a product is created or its mapping is corrected. Unknown ids and products with no points in the window are absent from the response map.
//
// Takes any type of body and a specified content type.
//
// Corresponds with POST /products/price-history:batch (the `BatchPriceHistory` operationId).
BatchPriceHistoryWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// BatchPriceHistory Price snapshot series for a set of products (value-over-time composition)
//
// Each requested product's snapshots inside the window, oldest first. Snapshots accumulate from the daily catalog refresh plus one initial point when a product is created or its mapping is corrected. Unknown ids and products with no points in the window are absent from the response map.
//
// Takes a body of the `application/json` content type.
//
// Corresponds with POST /products/price-history:batch (the `BatchPriceHistory` operationId).
BatchPriceHistory(ctx context.Context, body BatchPriceHistoryJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// BatchPricesWithBody Current prices for a set of products (dashboard composition)
//
// Reads straight from the catalog (the daily refresh keeps it current). Unknown product ids are absent from the response map; known-but-unmatched products appear with unmatched true and no price fields.
//
// Takes any type of body and a specified content type.
//
// Corresponds with POST /products/prices:batch (the `BatchPrices` operationId).
BatchPricesWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// BatchPrices Current prices for a set of products (dashboard composition)
//
// Reads straight from the catalog (the daily refresh keeps it current). Unknown product ids are absent from the response map; known-but-unmatched products appear with unmatched true and no price fields.
//
// Takes a body of the `application/json` content type.
//
// Corresponds with POST /products/prices:batch (the `BatchPrices` operationId).
BatchPrices(ctx context.Context, body BatchPricesJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// ResolveProductWithBody Find-or-create the canonical product for a search selection
//
// Idempotent: an existing product with the same identity is returned as-is. Game identity is (igdb game, platform, PriceCharting listing) - see ResolveRequest for the no-pick auto-match, the match_hint reweighting, and the manual-match pick. Creating a game product pulls the full IGDB payload into igdb_raw (reusing an already-cached payload without a provider call) and projects it onto the product. Creating a hardware product fetches the PriceCharting product and borrows IGDB platform metadata where a console mapping exists. Errors: 404 code unknown_game (IGDB id not found) or unknown_pc_product; 502 code upstream_unavailable when the needed provider cannot be reached.
//
// Takes any type of body and a specified content type.
//
// Corresponds with POST /products/resolve (the `ResolveProduct` operationId).
ResolveProductWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// ResolveProduct Find-or-create the canonical product for a search selection
//
// Idempotent: an existing product with the same identity is returned as-is. Game identity is (igdb game, platform, PriceCharting listing) - see ResolveRequest for the no-pick auto-match, the match_hint reweighting, and the manual-match pick. Creating a game product pulls the full IGDB payload into igdb_raw (reusing an already-cached payload without a provider call) and projects it onto the product. Creating a hardware product fetches the PriceCharting product and borrows IGDB platform metadata where a console mapping exists. Errors: 404 code unknown_game (IGDB id not found) or unknown_pc_product; 502 code upstream_unavailable when the needed provider cannot be reached.
//
// Takes a body of the `application/json` content type.
//
// Corresponds with POST /products/resolve (the `ResolveProduct` operationId).
ResolveProduct(ctx context.Context, body ResolveProductJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetProduct Fetch a product (read-through with per-type staleness)
//
// Valkey (5m) in front of Postgres; an IGDB projection older than IGDB_REFRESH_AFTER (default 720h) is refetched inline best-effort (stale data is served when the provider is down). Prices refresh on the daily cadence only, never per-read.
//
// Corresponds with GET /products/{productId} (the `GetProduct` operationId).
GetProduct(ctx context.Context, productId openapi_types.UUID, reqEditors ...RequestEditorFn) (*http.Response, error)
// ScoreRecommendationsWithBody Score unowned games against a library summary (user-agnostic)
//
// The caller supplies the library summary; this service stores no user data. Candidates come from owned games' similar_games edges (owner weights: dropped 0.5, rating >= 8 doubles to 2.0, otherwise 1.0) plus a genre-overlap bonus, with a genre-profile fallback when edges are sparse. Owned ids are excluded. Unknown candidate metadata is batch-fetched into igdb_raw (respecting the provider rate limiter). degraded is true when provider fetches failed and candidates were skipped.
//
// Takes any type of body and a specified content type.
//
// Corresponds with POST /recommendations:score (the `ScoreRecommendations` operationId).
ScoreRecommendationsWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// ScoreRecommendations Score unowned games against a library summary (user-agnostic)
//
// The caller supplies the library summary; this service stores no user data. Candidates come from owned games' similar_games edges (owner weights: dropped 0.5, rating >= 8 doubles to 2.0, otherwise 1.0) plus a genre-overlap bonus, with a genre-profile fallback when edges are sparse. Owned ids are excluded. Unknown candidate metadata is batch-fetched into igdb_raw (respecting the provider rate limiter). degraded is true when provider fetches failed and candidates were skipped.
//
// Takes a body of the `application/json` content type.
//
// Corresponds with POST /recommendations:score (the `ScoreRecommendations` operationId).
ScoreRecommendations(ctx context.Context, body ScoreRecommendationsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// SearchCatalog Discovery search (game metadata via IGDB, hardware via PriceCharting)
//
// Results come from a 24h per-query Valkey cache in front of the provider, never from the local catalog first (it is incomplete by construction). When the provider is down and the cache is cold, the local catalog answers a name match and the response is flagged degraded. type pc_listing searches ALL of PriceCharting (games, hardware, every category) and carries the provider's loose/cib/new prices per listing; it exists for picking exact variant listings as price sources.
//
// Corresponds with GET /search (the `SearchCatalog` operationId).
SearchCatalog(ctx context.Context, params *SearchCatalogParams, reqEditors ...RequestEditorFn) (*http.Response, error)
}
The interface specification for the client above.
type ClientOption ¶
ClientOption allows setting custom parameters during construction
func WithHTTPClient ¶
func WithHTTPClient(doer HttpRequestDoer) ClientOption
WithHTTPClient allows overriding the default Doer, which is automatically created using http.Client. This is useful for tests.
func WithRequestEditorFn ¶
func WithRequestEditorFn(fn RequestEditorFn) ClientOption
WithRequestEditorFn allows setting up a callback function, which will be called right before sending the request. This can be used to mutate the request.
type ClientWithResponses ¶
type ClientWithResponses struct {
ClientInterface
}
ClientWithResponses builds on ClientInterface to offer response payloads
func NewClientWithResponses ¶
func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error)
NewClientWithResponses creates a new ClientWithResponses, which wraps Client with return type handling
func (*ClientWithResponses) BatchPriceHistoryWithBodyWithResponse ¶
func (c *ClientWithResponses) BatchPriceHistoryWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*BatchPriceHistoryResponse, error)
BatchPriceHistoryWithBodyWithResponse Price snapshot series for a set of products (value-over-time composition)
Each requested product's snapshots inside the window, oldest first. Snapshots accumulate from the daily catalog refresh plus one initial point when a product is created or its mapping is corrected. Unknown ids and products with no points in the window are absent from the response map.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /products/price-history:batch (the `BatchPriceHistory` operationId).
func (*ClientWithResponses) BatchPriceHistoryWithResponse ¶
func (c *ClientWithResponses) BatchPriceHistoryWithResponse(ctx context.Context, body BatchPriceHistoryJSONRequestBody, reqEditors ...RequestEditorFn) (*BatchPriceHistoryResponse, error)
BatchPriceHistoryWithResponse Price snapshot series for a set of products (value-over-time composition)
Each requested product's snapshots inside the window, oldest first. Snapshots accumulate from the daily catalog refresh plus one initial point when a product is created or its mapping is corrected. Unknown ids and products with no points in the window are absent from the response map.
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /products/price-history:batch (the `BatchPriceHistory` operationId).
func (*ClientWithResponses) BatchPricesWithBodyWithResponse ¶
func (c *ClientWithResponses) BatchPricesWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*BatchPricesResponse, error)
BatchPricesWithBodyWithResponse Current prices for a set of products (dashboard composition)
Reads straight from the catalog (the daily refresh keeps it current). Unknown product ids are absent from the response map; known-but-unmatched products appear with unmatched true and no price fields.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /products/prices:batch (the `BatchPrices` operationId).
func (*ClientWithResponses) BatchPricesWithResponse ¶
func (c *ClientWithResponses) BatchPricesWithResponse(ctx context.Context, body BatchPricesJSONRequestBody, reqEditors ...RequestEditorFn) (*BatchPricesResponse, error)
BatchPricesWithResponse Current prices for a set of products (dashboard composition)
Reads straight from the catalog (the daily refresh keeps it current). Unknown product ids are absent from the response map; known-but-unmatched products appear with unmatched true and no price fields.
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /products/prices:batch (the `BatchPrices` operationId).
func (*ClientWithResponses) CreateCommunityProductWithBodyWithResponse ¶
func (c *ClientWithResponses) CreateCommunityProductWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateCommunityProductResponse, error)
CreateCommunityProductWithBodyWithResponse Mint a community product from an approved submission (role admin)
Creates an anchor-less product: no IGDB, no PriceCharting, origin community. Community products live outside the provider identity indexes - their curated name is their identity, and the review panel's embedded search is the dedup check (deliberately no uniqueness machinery). They never join the unmatched worklist, and they surface to users through the community lane in search. The single edition field follows the entry idiom (one "Edition or variant" note); variant stays empty - the region/edition/variant split exists only for provider hardware identity, which community products are outside of. platform_name and first_release_date store as the community facts block, retained after promotion as gap-fill.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /admin/products (the `CreateCommunityProduct` operationId).
func (*ClientWithResponses) CreateCommunityProductWithResponse ¶
func (c *ClientWithResponses) CreateCommunityProductWithResponse(ctx context.Context, body CreateCommunityProductJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateCommunityProductResponse, error)
CreateCommunityProductWithResponse Mint a community product from an approved submission (role admin)
Creates an anchor-less product: no IGDB, no PriceCharting, origin community. Community products live outside the provider identity indexes - their curated name is their identity, and the review panel's embedded search is the dedup check (deliberately no uniqueness machinery). They never join the unmatched worklist, and they surface to users through the community lane in search. The single edition field follows the entry idiom (one "Edition or variant" note); variant stays empty - the region/edition/variant split exists only for provider hardware identity, which community products are outside of. platform_name and first_release_date store as the community facts block, retained after promotion as gap-fill.
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /admin/products (the `CreateCommunityProduct` operationId).
func (*ClientWithResponses) DeleteProductWithResponse ¶
func (c *ClientWithResponses) DeleteProductWithResponse(ctx context.Context, productId openapi_types.UUID, reqEditors ...RequestEditorFn) (*DeleteProductResponse, error)
DeleteProductWithResponse Delete an unmatched product and its snapshots (role admin)
The residue mop: permanently removes a product that no listing anchors, plus its price snapshots. Only unmatched products qualify - a matched product answers 409 code product_matched (clear the mapping first). This service cannot see entries; the bff verifies no entries reference the product before calling. A later resolve can re-mint the family's unmatched member - delete is cleanup, not prevention.
Returns a wrapper object for the known response body format(s).
Corresponds with DELETE /admin/products/{productId} (the `DeleteProduct` operationId).
func (*ClientWithResponses) DismissPromoteCandidateWithBodyWithResponse ¶
func (c *ClientWithResponses) DismissPromoteCandidateWithBodyWithResponse(ctx context.Context, productId openapi_types.UUID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*DismissPromoteCandidateResponse, error)
DismissPromoteCandidateWithBodyWithResponse Dismiss one promote candidate permanently (role admin)
Records the (provider, provider_id) pair as dismissed and drops the matching candidate; the sweep never re-flags a dismissed pair. A different candidate for the same product still nags.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /admin/products/{productId}/promote-candidates/dismiss (the `DismissPromoteCandidate` operationId).
func (*ClientWithResponses) DismissPromoteCandidateWithResponse ¶
func (c *ClientWithResponses) DismissPromoteCandidateWithResponse(ctx context.Context, productId openapi_types.UUID, body DismissPromoteCandidateJSONRequestBody, reqEditors ...RequestEditorFn) (*DismissPromoteCandidateResponse, error)
DismissPromoteCandidateWithResponse Dismiss one promote candidate permanently (role admin)
Records the (provider, provider_id) pair as dismissed and drops the matching candidate; the sweep never re-flags a dismissed pair. A different candidate for the same product still nags.
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /admin/products/{productId}/promote-candidates/dismiss (the `DismissPromoteCandidate` operationId).
func (*ClientWithResponses) GetFxLatestWithResponse ¶
func (c *ClientWithResponses) GetFxLatestWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetFxLatestResponse, error)
GetFxLatestWithResponse Latest USD-based exchange rates (cached, refreshed hourly)
Rates are target-units-per-USD from the ECB reference set via frankfurter.dev (embedded fixtures in stub mode). Snapshots refresh at most hourly; an upstream failure serves the last good snapshot, so only a cold cache answers 502. Rates power display-side conversion only; nothing stored depends on them.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /fx/latest (the `GetFxLatest` operationId).
func (*ClientWithResponses) GetProductWithResponse ¶
func (c *ClientWithResponses) GetProductWithResponse(ctx context.Context, productId openapi_types.UUID, reqEditors ...RequestEditorFn) (*GetProductResponse, error)
GetProductWithResponse Fetch a product (read-through with per-type staleness)
Valkey (5m) in front of Postgres; an IGDB projection older than IGDB_REFRESH_AFTER (default 720h) is refetched inline best-effort (stale data is served when the provider is down). Prices refresh on the daily cadence only, never per-read.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /products/{productId} (the `GetProduct` operationId).
func (*ClientWithResponses) InternalNormalizeCommunityRegionsWithResponse ¶
func (c *ClientWithResponses) InternalNormalizeCommunityRegionsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*InternalNormalizeCommunityRegionsResponse, error)
InternalNormalizeCommunityRegionsWithResponse Promote free-text community product regions into the known set
Maintenance operation; the gateway never routes it. Folds every community product's curated region outside the known set (lowercase, trim) against the known values and the reviewed synonyms table - exact or synonym, never fuzzy. A community product carries no provider identity, so promotion is a plain field rewrite with no fetch arm. Guard: admin role or service token (the nightly job runs it alongside collection's platform/region levers). Idempotent and re-runnable; promoted rows leave the selection set.
Returns a wrapper object for the known response body format(s).
Corresponds with POST /internal/normalize-community-regions (the `InternalNormalizeCommunityRegions` operationId).
func (*ClientWithResponses) InternalRefreshWithResponse ¶
func (c *ClientWithResponses) InternalRefreshWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*InternalRefreshResponse, error)
InternalRefreshWithResponse Catalog refresh trigger (CronJob)
Machine trigger for the nightly catalog refresh; the gateway never routes it. Guard: a service token (token_use=service) - operators use /admin/refresh. Answers 202 and detaches; one run at a time (409 refresh_in_progress).
Returns a wrapper object for the known response body format(s).
Corresponds with POST /internal/refresh (the `InternalRefresh` operationId).
func (*ClientWithResponses) ListCommunityProductsWithResponse ¶
func (c *ClientWithResponses) ListCommunityProductsWithResponse(ctx context.Context, params *ListCommunityProductsParams, reqEditors ...RequestEditorFn) (*ListCommunityProductsResponse, error)
ListCommunityProductsWithResponse List community products, un-promoted only (role admin)
Every admin-minted community product (origin community): the population promote can flip to a provider identity, and delete can remove once no entry references it. Ordered oldest updated_at first with _id as the tiebreak so offset pages are deterministic. limit defaults to 200 (max 500), offset slices the sequence, and total_count reports the full filtered count.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /admin/products/community (the `ListCommunityProducts` operationId).
func (*ClientWithResponses) ListPlatformsWithResponse ¶
func (c *ClientWithResponses) ListPlatformsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ListPlatformsResponse, error)
ListPlatformsWithResponse The canonical platform catalog with alias knowledge
The IGDB platform catalog (igdb id + name) joined with the alias table - PriceCharting console spellings plus curated abbreviations (SNES, PSX, N64, ...) - sorted by name. Reference data for the custom-entry platform picker and the collection normalize-platforms lever: consumers filter and match against name + aliases and never hard-code aliases themselves. Cached 24h (the search-cache idiom); the catalog changes only when the platform sweep lands new rows. A cold catalog with the provider down is the only 502.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /platforms (the `ListPlatforms` operationId).
func (*ClientWithResponses) ListPromoteCandidatesWithResponse ¶
func (c *ClientWithResponses) ListPromoteCandidatesWithResponse(ctx context.Context, params *ListPromoteCandidatesParams, reqEditors ...RequestEditorFn) (*ListPromoteCandidatesResponse, error)
ListPromoteCandidatesWithResponse Community products with plausible provider matches (role admin)
The promote worklist, fed by the nightly flag-never-act sweep (the refresh trigger also refreshes it): community products whose name matched a provider item at or above the never-guess threshold, strongest candidate first with _id as the tiebreak. Dismissed pairs never reappear; a different provider id for the same product still nags. product_id narrows to one product - the lookup panel's per-product view. Promotion is always a human verdict; nothing here attaches anything.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /admin/products/promote-candidates (the `ListPromoteCandidates` operationId).
func (*ClientWithResponses) ListUnmatchedProductsWithResponse ¶
func (c *ClientWithResponses) ListUnmatchedProductsWithResponse(ctx context.Context, params *ListUnmatchedProductsParams, reqEditors ...RequestEditorFn) (*ListUnmatchedProductsResponse, error)
ListUnmatchedProductsWithResponse List unmatched products, admin-held included (role admin)
The admin worklist: every product with no PriceCharting mapping, all types, INCLUDING products held by an admin clear (each held item carries match_hold true; a deliberate clear is exactly what an admin revisits). Ordered oldest updated_at first with _id as the tiebreak so offset pages are deterministic. limit defaults to 200 (max 500), offset slices the sequence, and total_count reports the full filtered count.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /admin/products/unmatched (the `ListUnmatchedProducts` operationId).
func (*ClientWithResponses) PromoteProductWithBodyWithResponse ¶
func (c *ClientWithResponses) PromoteProductWithBodyWithResponse(ctx context.Context, productId openapi_types.UUID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PromoteProductResponse, error)
PromoteProductWithBodyWithResponse Promote a community product to provider identity in place (role admin)
Attaches the provider anchors and flips origin to provider atomically; the product id stays stable, so every adopter's entry upgrades through live reads with no repointing. The re-entry into the identity index adjudicates twins: when a provider product already holds the target identity the answer is 409 code identity_taken with the holder named in the detail, and the community product keeps working unpromoted (the true-merge case is deliberately not automated). The community facts block is retained as gap-fill. After the flip the product is a first-class provider citizen: a missing game listing leaves it on the unmatched worklist until the mapping fix attaches one. Errors: 404 code product_not_found, unknown_game or unknown_pc_product; 409 code product_not_community (already provider) or identity_taken; 502 code upstream_unavailable.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /admin/products/{productId}/promote (the `PromoteProduct` operationId).
func (*ClientWithResponses) PromoteProductWithResponse ¶
func (c *ClientWithResponses) PromoteProductWithResponse(ctx context.Context, productId openapi_types.UUID, body PromoteProductJSONRequestBody, reqEditors ...RequestEditorFn) (*PromoteProductResponse, error)
PromoteProductWithResponse Promote a community product to provider identity in place (role admin)
Attaches the provider anchors and flips origin to provider atomically; the product id stays stable, so every adopter's entry upgrades through live reads with no repointing. The re-entry into the identity index adjudicates twins: when a provider product already holds the target identity the answer is 409 code identity_taken with the holder named in the detail, and the community product keeps working unpromoted (the true-merge case is deliberately not automated). The community facts block is retained as gap-fill. After the flip the product is a first-class provider citizen: a missing game listing leaves it on the unmatched worklist until the mapping fix attaches one. Errors: 404 code product_not_found, unknown_game or unknown_pc_product; 409 code product_not_community (already provider) or identity_taken; 502 code upstream_unavailable.
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /admin/products/{productId}/promote (the `PromoteProduct` operationId).
func (*ClientWithResponses) ResolveProductWithBodyWithResponse ¶
func (c *ClientWithResponses) ResolveProductWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ResolveProductResponse, error)
ResolveProductWithBodyWithResponse Find-or-create the canonical product for a search selection
Idempotent: an existing product with the same identity is returned as-is. Game identity is (igdb game, platform, PriceCharting listing) - see ResolveRequest for the no-pick auto-match, the match_hint reweighting, and the manual-match pick. Creating a game product pulls the full IGDB payload into igdb_raw (reusing an already-cached payload without a provider call) and projects it onto the product. Creating a hardware product fetches the PriceCharting product and borrows IGDB platform metadata where a console mapping exists. Errors: 404 code unknown_game (IGDB id not found) or unknown_pc_product; 502 code upstream_unavailable when the needed provider cannot be reached.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /products/resolve (the `ResolveProduct` operationId).
func (*ClientWithResponses) ResolveProductWithResponse ¶
func (c *ClientWithResponses) ResolveProductWithResponse(ctx context.Context, body ResolveProductJSONRequestBody, reqEditors ...RequestEditorFn) (*ResolveProductResponse, error)
ResolveProductWithResponse Find-or-create the canonical product for a search selection
Idempotent: an existing product with the same identity is returned as-is. Game identity is (igdb game, platform, PriceCharting listing) - see ResolveRequest for the no-pick auto-match, the match_hint reweighting, and the manual-match pick. Creating a game product pulls the full IGDB payload into igdb_raw (reusing an already-cached payload without a provider call) and projects it onto the product. Creating a hardware product fetches the PriceCharting product and borrows IGDB platform metadata where a console mapping exists. Errors: 404 code unknown_game (IGDB id not found) or unknown_pc_product; 502 code upstream_unavailable when the needed provider cannot be reached.
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /products/resolve (the `ResolveProduct` operationId).
func (*ClientWithResponses) ScoreRecommendationsWithBodyWithResponse ¶
func (c *ClientWithResponses) ScoreRecommendationsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ScoreRecommendationsResponse, error)
ScoreRecommendationsWithBodyWithResponse Score unowned games against a library summary (user-agnostic)
The caller supplies the library summary; this service stores no user data. Candidates come from owned games' similar_games edges (owner weights: dropped 0.5, rating >= 8 doubles to 2.0, otherwise 1.0) plus a genre-overlap bonus, with a genre-profile fallback when edges are sparse. Owned ids are excluded. Unknown candidate metadata is batch-fetched into igdb_raw (respecting the provider rate limiter). degraded is true when provider fetches failed and candidates were skipped.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /recommendations:score (the `ScoreRecommendations` operationId).
func (*ClientWithResponses) ScoreRecommendationsWithResponse ¶
func (c *ClientWithResponses) ScoreRecommendationsWithResponse(ctx context.Context, body ScoreRecommendationsJSONRequestBody, reqEditors ...RequestEditorFn) (*ScoreRecommendationsResponse, error)
ScoreRecommendationsWithResponse Score unowned games against a library summary (user-agnostic)
The caller supplies the library summary; this service stores no user data. Candidates come from owned games' similar_games edges (owner weights: dropped 0.5, rating >= 8 doubles to 2.0, otherwise 1.0) plus a genre-overlap bonus, with a genre-profile fallback when edges are sparse. Owned ids are excluded. Unknown candidate metadata is batch-fetched into igdb_raw (respecting the provider rate limiter). degraded is true when provider fetches failed and candidates were skipped.
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /recommendations:score (the `ScoreRecommendations` operationId).
func (*ClientWithResponses) SearchCatalogWithResponse ¶
func (c *ClientWithResponses) SearchCatalogWithResponse(ctx context.Context, params *SearchCatalogParams, reqEditors ...RequestEditorFn) (*SearchCatalogResponse, error)
SearchCatalogWithResponse Discovery search (game metadata via IGDB, hardware via PriceCharting)
Results come from a 24h per-query Valkey cache in front of the provider, never from the local catalog first (it is incomplete by construction). When the provider is down and the cache is cold, the local catalog answers a name match and the response is flagged degraded. type pc_listing searches ALL of PriceCharting (games, hardware, every category) and carries the provider's loose/cib/new prices per listing; it exists for picking exact variant listings as price sources.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /search (the `SearchCatalog` operationId).
func (*ClientWithResponses) SetProductMappingWithBodyWithResponse ¶
func (c *ClientWithResponses) SetProductMappingWithBodyWithResponse(ctx context.Context, productId openapi_types.UUID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetProductMappingResponse, error)
SetProductMappingWithBodyWithResponse Correct a product's PriceCharting mapping and mark it verified (role admin)
Shared-catalog truth is moderated: the new mapping is validated against the provider, current prices are fetched, a snapshot is appended, and the mapping is stored verified with confidence 1.0. A null pc_product_id clears the mapping (the product becomes unmatched) and sets match_hold, so a future automated match (resolve, or the entry-side re-match) never undoes a deliberate clear; setting any mapping lifts match_hold. Identity indexes make a mapping change an identity move: when another product of the same identity (for games, the same game and platform; for hardware, the same region/edition/variant) already carries the target listing, or a clear would collide with an existing unmatched product of that identity, the answer is 409 code identity_taken, whose detail names the holding product (id and name) when the holder can be resolved. Clearing an already-unmatched product collides with nothing and simply parks it: match_hold is set, idempotently, which is the admin lever for silencing permanent worklist residue. Errors: 404 code product_not_found or unknown_pc_product; 409 code identity_taken; 502 code upstream_unavailable. 409 code product_not_provider for community products (their one path to a PriceCharting anchor is promote).
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with PUT /admin/products/{productId}/pricecharting (the `SetProductMapping` operationId).
func (*ClientWithResponses) SetProductMappingWithResponse ¶
func (c *ClientWithResponses) SetProductMappingWithResponse(ctx context.Context, productId openapi_types.UUID, body SetProductMappingJSONRequestBody, reqEditors ...RequestEditorFn) (*SetProductMappingResponse, error)
SetProductMappingWithResponse Correct a product's PriceCharting mapping and mark it verified (role admin)
Shared-catalog truth is moderated: the new mapping is validated against the provider, current prices are fetched, a snapshot is appended, and the mapping is stored verified with confidence 1.0. A null pc_product_id clears the mapping (the product becomes unmatched) and sets match_hold, so a future automated match (resolve, or the entry-side re-match) never undoes a deliberate clear; setting any mapping lifts match_hold. Identity indexes make a mapping change an identity move: when another product of the same identity (for games, the same game and platform; for hardware, the same region/edition/variant) already carries the target listing, or a clear would collide with an existing unmatched product of that identity, the answer is 409 code identity_taken, whose detail names the holding product (id and name) when the holder can be resolved. Clearing an already-unmatched product collides with nothing and simply parks it: match_hold is set, idempotently, which is the admin lever for silencing permanent worklist residue. Errors: 404 code product_not_found or unknown_pc_product; 409 code identity_taken; 502 code upstream_unavailable. 409 code product_not_provider for community products (their one path to a PriceCharting anchor is promote).
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with PUT /admin/products/{productId}/pricecharting (the `SetProductMapping` operationId).
func (*ClientWithResponses) TriggerRefreshWithResponse ¶
func (c *ClientWithResponses) TriggerRefreshWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*TriggerRefreshResponse, error)
TriggerRefreshWithResponse Trigger an immediate catalog refresh (role admin)
Starts the same refresh the daily CronJob triggers and returns 202 immediately (the refresh outlives the HTTP write timeout at polite provider rates); the runner logs its summary. 409 code refresh_in_progress when a refresh is already running.
Returns a wrapper object for the known response body format(s).
Corresponds with POST /admin/refresh (the `TriggerRefresh` operationId).
type ClientWithResponsesInterface ¶
type ClientWithResponsesInterface interface {
// CreateCommunityProductWithBodyWithResponse Mint a community product from an approved submission (role admin)
//
// Creates an anchor-less product: no IGDB, no PriceCharting, origin community. Community products live outside the provider identity indexes - their curated name is their identity, and the review panel's embedded search is the dedup check (deliberately no uniqueness machinery). They never join the unmatched worklist, and they surface to users through the community lane in search. The single edition field follows the entry idiom (one "Edition or variant" note); variant stays empty - the region/edition/variant split exists only for provider hardware identity, which community products are outside of. platform_name and first_release_date store as the community facts block, retained after promotion as gap-fill.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /admin/products (the `CreateCommunityProduct` operationId).
CreateCommunityProductWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateCommunityProductResponse, error)
// CreateCommunityProductWithResponse Mint a community product from an approved submission (role admin)
//
// Creates an anchor-less product: no IGDB, no PriceCharting, origin community. Community products live outside the provider identity indexes - their curated name is their identity, and the review panel's embedded search is the dedup check (deliberately no uniqueness machinery). They never join the unmatched worklist, and they surface to users through the community lane in search. The single edition field follows the entry idiom (one "Edition or variant" note); variant stays empty - the region/edition/variant split exists only for provider hardware identity, which community products are outside of. platform_name and first_release_date store as the community facts block, retained after promotion as gap-fill.
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /admin/products (the `CreateCommunityProduct` operationId).
CreateCommunityProductWithResponse(ctx context.Context, body CreateCommunityProductJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateCommunityProductResponse, error)
// ListCommunityProductsWithResponse List community products, un-promoted only (role admin)
//
// Every admin-minted community product (origin community): the population promote can flip to a provider identity, and delete can remove once no entry references it. Ordered oldest updated_at first with _id as the tiebreak so offset pages are deterministic. limit defaults to 200 (max 500), offset slices the sequence, and total_count reports the full filtered count.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /admin/products/community (the `ListCommunityProducts` operationId).
ListCommunityProductsWithResponse(ctx context.Context, params *ListCommunityProductsParams, reqEditors ...RequestEditorFn) (*ListCommunityProductsResponse, error)
// ListPromoteCandidatesWithResponse Community products with plausible provider matches (role admin)
//
// The promote worklist, fed by the nightly flag-never-act sweep (the refresh trigger also refreshes it): community products whose name matched a provider item at or above the never-guess threshold, strongest candidate first with _id as the tiebreak. Dismissed pairs never reappear; a different provider id for the same product still nags. product_id narrows to one product - the lookup panel's per-product view. Promotion is always a human verdict; nothing here attaches anything.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /admin/products/promote-candidates (the `ListPromoteCandidates` operationId).
ListPromoteCandidatesWithResponse(ctx context.Context, params *ListPromoteCandidatesParams, reqEditors ...RequestEditorFn) (*ListPromoteCandidatesResponse, error)
// ListUnmatchedProductsWithResponse List unmatched products, admin-held included (role admin)
//
// The admin worklist: every product with no PriceCharting mapping, all types, INCLUDING products held by an admin clear (each held item carries match_hold true; a deliberate clear is exactly what an admin revisits). Ordered oldest updated_at first with _id as the tiebreak so offset pages are deterministic. limit defaults to 200 (max 500), offset slices the sequence, and total_count reports the full filtered count.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /admin/products/unmatched (the `ListUnmatchedProducts` operationId).
ListUnmatchedProductsWithResponse(ctx context.Context, params *ListUnmatchedProductsParams, reqEditors ...RequestEditorFn) (*ListUnmatchedProductsResponse, error)
// DeleteProductWithResponse Delete an unmatched product and its snapshots (role admin)
//
// The residue mop: permanently removes a product that no listing anchors, plus its price snapshots. Only unmatched products qualify - a matched product answers 409 code product_matched (clear the mapping first). This service cannot see entries; the bff verifies no entries reference the product before calling. A later resolve can re-mint the family's unmatched member - delete is cleanup, not prevention.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with DELETE /admin/products/{productId} (the `DeleteProduct` operationId).
DeleteProductWithResponse(ctx context.Context, productId openapi_types.UUID, reqEditors ...RequestEditorFn) (*DeleteProductResponse, error)
// SetProductMappingWithBodyWithResponse Correct a product's PriceCharting mapping and mark it verified (role admin)
//
// Shared-catalog truth is moderated: the new mapping is validated against the provider, current prices are fetched, a snapshot is appended, and the mapping is stored verified with confidence 1.0. A null pc_product_id clears the mapping (the product becomes unmatched) and sets match_hold, so a future automated match (resolve, or the entry-side re-match) never undoes a deliberate clear; setting any mapping lifts match_hold. Identity indexes make a mapping change an identity move: when another product of the same identity (for games, the same game and platform; for hardware, the same region/edition/variant) already carries the target listing, or a clear would collide with an existing unmatched product of that identity, the answer is 409 code identity_taken, whose detail names the holding product (id and name) when the holder can be resolved. Clearing an already-unmatched product collides with nothing and simply parks it: match_hold is set, idempotently, which is the admin lever for silencing permanent worklist residue. Errors: 404 code product_not_found or unknown_pc_product; 409 code identity_taken; 502 code upstream_unavailable. 409 code product_not_provider for community products (their one path to a PriceCharting anchor is promote).
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with PUT /admin/products/{productId}/pricecharting (the `SetProductMapping` operationId).
SetProductMappingWithBodyWithResponse(ctx context.Context, productId openapi_types.UUID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetProductMappingResponse, error)
// SetProductMappingWithResponse Correct a product's PriceCharting mapping and mark it verified (role admin)
//
// Shared-catalog truth is moderated: the new mapping is validated against the provider, current prices are fetched, a snapshot is appended, and the mapping is stored verified with confidence 1.0. A null pc_product_id clears the mapping (the product becomes unmatched) and sets match_hold, so a future automated match (resolve, or the entry-side re-match) never undoes a deliberate clear; setting any mapping lifts match_hold. Identity indexes make a mapping change an identity move: when another product of the same identity (for games, the same game and platform; for hardware, the same region/edition/variant) already carries the target listing, or a clear would collide with an existing unmatched product of that identity, the answer is 409 code identity_taken, whose detail names the holding product (id and name) when the holder can be resolved. Clearing an already-unmatched product collides with nothing and simply parks it: match_hold is set, idempotently, which is the admin lever for silencing permanent worklist residue. Errors: 404 code product_not_found or unknown_pc_product; 409 code identity_taken; 502 code upstream_unavailable. 409 code product_not_provider for community products (their one path to a PriceCharting anchor is promote).
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with PUT /admin/products/{productId}/pricecharting (the `SetProductMapping` operationId).
SetProductMappingWithResponse(ctx context.Context, productId openapi_types.UUID, body SetProductMappingJSONRequestBody, reqEditors ...RequestEditorFn) (*SetProductMappingResponse, error)
// PromoteProductWithBodyWithResponse Promote a community product to provider identity in place (role admin)
//
// Attaches the provider anchors and flips origin to provider atomically; the product id stays stable, so every adopter's entry upgrades through live reads with no repointing. The re-entry into the identity index adjudicates twins: when a provider product already holds the target identity the answer is 409 code identity_taken with the holder named in the detail, and the community product keeps working unpromoted (the true-merge case is deliberately not automated). The community facts block is retained as gap-fill. After the flip the product is a first-class provider citizen: a missing game listing leaves it on the unmatched worklist until the mapping fix attaches one. Errors: 404 code product_not_found, unknown_game or unknown_pc_product; 409 code product_not_community (already provider) or identity_taken; 502 code upstream_unavailable.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /admin/products/{productId}/promote (the `PromoteProduct` operationId).
PromoteProductWithBodyWithResponse(ctx context.Context, productId openapi_types.UUID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PromoteProductResponse, error)
// PromoteProductWithResponse Promote a community product to provider identity in place (role admin)
//
// Attaches the provider anchors and flips origin to provider atomically; the product id stays stable, so every adopter's entry upgrades through live reads with no repointing. The re-entry into the identity index adjudicates twins: when a provider product already holds the target identity the answer is 409 code identity_taken with the holder named in the detail, and the community product keeps working unpromoted (the true-merge case is deliberately not automated). The community facts block is retained as gap-fill. After the flip the product is a first-class provider citizen: a missing game listing leaves it on the unmatched worklist until the mapping fix attaches one. Errors: 404 code product_not_found, unknown_game or unknown_pc_product; 409 code product_not_community (already provider) or identity_taken; 502 code upstream_unavailable.
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /admin/products/{productId}/promote (the `PromoteProduct` operationId).
PromoteProductWithResponse(ctx context.Context, productId openapi_types.UUID, body PromoteProductJSONRequestBody, reqEditors ...RequestEditorFn) (*PromoteProductResponse, error)
// DismissPromoteCandidateWithBodyWithResponse Dismiss one promote candidate permanently (role admin)
//
// Records the (provider, provider_id) pair as dismissed and drops the matching candidate; the sweep never re-flags a dismissed pair. A different candidate for the same product still nags.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /admin/products/{productId}/promote-candidates/dismiss (the `DismissPromoteCandidate` operationId).
DismissPromoteCandidateWithBodyWithResponse(ctx context.Context, productId openapi_types.UUID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*DismissPromoteCandidateResponse, error)
// DismissPromoteCandidateWithResponse Dismiss one promote candidate permanently (role admin)
//
// Records the (provider, provider_id) pair as dismissed and drops the matching candidate; the sweep never re-flags a dismissed pair. A different candidate for the same product still nags.
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /admin/products/{productId}/promote-candidates/dismiss (the `DismissPromoteCandidate` operationId).
DismissPromoteCandidateWithResponse(ctx context.Context, productId openapi_types.UUID, body DismissPromoteCandidateJSONRequestBody, reqEditors ...RequestEditorFn) (*DismissPromoteCandidateResponse, error)
// TriggerRefreshWithResponse Trigger an immediate catalog refresh (role admin)
//
// Starts the same refresh the daily CronJob triggers and returns 202 immediately (the refresh outlives the HTTP write timeout at polite provider rates); the runner logs its summary. 409 code refresh_in_progress when a refresh is already running.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /admin/refresh (the `TriggerRefresh` operationId).
TriggerRefreshWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*TriggerRefreshResponse, error)
// GetFxLatestWithResponse Latest USD-based exchange rates (cached, refreshed hourly)
//
// Rates are target-units-per-USD from the ECB reference set via frankfurter.dev (embedded fixtures in stub mode). Snapshots refresh at most hourly; an upstream failure serves the last good snapshot, so only a cold cache answers 502. Rates power display-side conversion only; nothing stored depends on them.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /fx/latest (the `GetFxLatest` operationId).
GetFxLatestWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetFxLatestResponse, error)
// InternalNormalizeCommunityRegionsWithResponse Promote free-text community product regions into the known set
//
// Maintenance operation; the gateway never routes it. Folds every community product's curated region outside the known set (lowercase, trim) against the known values and the reviewed synonyms table - exact or synonym, never fuzzy. A community product carries no provider identity, so promotion is a plain field rewrite with no fetch arm. Guard: admin role or service token (the nightly job runs it alongside collection's platform/region levers). Idempotent and re-runnable; promoted rows leave the selection set.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /internal/normalize-community-regions (the `InternalNormalizeCommunityRegions` operationId).
InternalNormalizeCommunityRegionsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*InternalNormalizeCommunityRegionsResponse, error)
// InternalRefreshWithResponse Catalog refresh trigger (CronJob)
//
// Machine trigger for the nightly catalog refresh; the gateway never routes it. Guard: a service token (token_use=service) - operators use /admin/refresh. Answers 202 and detaches; one run at a time (409 refresh_in_progress).
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /internal/refresh (the `InternalRefresh` operationId).
InternalRefreshWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*InternalRefreshResponse, error)
// ListPlatformsWithResponse The canonical platform catalog with alias knowledge
//
// The IGDB platform catalog (igdb id + name) joined with the alias table - PriceCharting console spellings plus curated abbreviations (SNES, PSX, N64, ...) - sorted by name. Reference data for the custom-entry platform picker and the collection normalize-platforms lever: consumers filter and match against name + aliases and never hard-code aliases themselves. Cached 24h (the search-cache idiom); the catalog changes only when the platform sweep lands new rows. A cold catalog with the provider down is the only 502.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /platforms (the `ListPlatforms` operationId).
ListPlatformsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ListPlatformsResponse, error)
// BatchPriceHistoryWithBodyWithResponse Price snapshot series for a set of products (value-over-time composition)
//
// Each requested product's snapshots inside the window, oldest first. Snapshots accumulate from the daily catalog refresh plus one initial point when a product is created or its mapping is corrected. Unknown ids and products with no points in the window are absent from the response map.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /products/price-history:batch (the `BatchPriceHistory` operationId).
BatchPriceHistoryWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*BatchPriceHistoryResponse, error)
// BatchPriceHistoryWithResponse Price snapshot series for a set of products (value-over-time composition)
//
// Each requested product's snapshots inside the window, oldest first. Snapshots accumulate from the daily catalog refresh plus one initial point when a product is created or its mapping is corrected. Unknown ids and products with no points in the window are absent from the response map.
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /products/price-history:batch (the `BatchPriceHistory` operationId).
BatchPriceHistoryWithResponse(ctx context.Context, body BatchPriceHistoryJSONRequestBody, reqEditors ...RequestEditorFn) (*BatchPriceHistoryResponse, error)
// BatchPricesWithBodyWithResponse Current prices for a set of products (dashboard composition)
//
// Reads straight from the catalog (the daily refresh keeps it current). Unknown product ids are absent from the response map; known-but-unmatched products appear with unmatched true and no price fields.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /products/prices:batch (the `BatchPrices` operationId).
BatchPricesWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*BatchPricesResponse, error)
// BatchPricesWithResponse Current prices for a set of products (dashboard composition)
//
// Reads straight from the catalog (the daily refresh keeps it current). Unknown product ids are absent from the response map; known-but-unmatched products appear with unmatched true and no price fields.
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /products/prices:batch (the `BatchPrices` operationId).
BatchPricesWithResponse(ctx context.Context, body BatchPricesJSONRequestBody, reqEditors ...RequestEditorFn) (*BatchPricesResponse, error)
// ResolveProductWithBodyWithResponse Find-or-create the canonical product for a search selection
//
// Idempotent: an existing product with the same identity is returned as-is. Game identity is (igdb game, platform, PriceCharting listing) - see ResolveRequest for the no-pick auto-match, the match_hint reweighting, and the manual-match pick. Creating a game product pulls the full IGDB payload into igdb_raw (reusing an already-cached payload without a provider call) and projects it onto the product. Creating a hardware product fetches the PriceCharting product and borrows IGDB platform metadata where a console mapping exists. Errors: 404 code unknown_game (IGDB id not found) or unknown_pc_product; 502 code upstream_unavailable when the needed provider cannot be reached.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /products/resolve (the `ResolveProduct` operationId).
ResolveProductWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ResolveProductResponse, error)
// ResolveProductWithResponse Find-or-create the canonical product for a search selection
//
// Idempotent: an existing product with the same identity is returned as-is. Game identity is (igdb game, platform, PriceCharting listing) - see ResolveRequest for the no-pick auto-match, the match_hint reweighting, and the manual-match pick. Creating a game product pulls the full IGDB payload into igdb_raw (reusing an already-cached payload without a provider call) and projects it onto the product. Creating a hardware product fetches the PriceCharting product and borrows IGDB platform metadata where a console mapping exists. Errors: 404 code unknown_game (IGDB id not found) or unknown_pc_product; 502 code upstream_unavailable when the needed provider cannot be reached.
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /products/resolve (the `ResolveProduct` operationId).
ResolveProductWithResponse(ctx context.Context, body ResolveProductJSONRequestBody, reqEditors ...RequestEditorFn) (*ResolveProductResponse, error)
// GetProductWithResponse Fetch a product (read-through with per-type staleness)
//
// Valkey (5m) in front of Postgres; an IGDB projection older than IGDB_REFRESH_AFTER (default 720h) is refetched inline best-effort (stale data is served when the provider is down). Prices refresh on the daily cadence only, never per-read.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /products/{productId} (the `GetProduct` operationId).
GetProductWithResponse(ctx context.Context, productId openapi_types.UUID, reqEditors ...RequestEditorFn) (*GetProductResponse, error)
// ScoreRecommendationsWithBodyWithResponse Score unowned games against a library summary (user-agnostic)
//
// The caller supplies the library summary; this service stores no user data. Candidates come from owned games' similar_games edges (owner weights: dropped 0.5, rating >= 8 doubles to 2.0, otherwise 1.0) plus a genre-overlap bonus, with a genre-profile fallback when edges are sparse. Owned ids are excluded. Unknown candidate metadata is batch-fetched into igdb_raw (respecting the provider rate limiter). degraded is true when provider fetches failed and candidates were skipped.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /recommendations:score (the `ScoreRecommendations` operationId).
ScoreRecommendationsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ScoreRecommendationsResponse, error)
// ScoreRecommendationsWithResponse Score unowned games against a library summary (user-agnostic)
//
// The caller supplies the library summary; this service stores no user data. Candidates come from owned games' similar_games edges (owner weights: dropped 0.5, rating >= 8 doubles to 2.0, otherwise 1.0) plus a genre-overlap bonus, with a genre-profile fallback when edges are sparse. Owned ids are excluded. Unknown candidate metadata is batch-fetched into igdb_raw (respecting the provider rate limiter). degraded is true when provider fetches failed and candidates were skipped.
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /recommendations:score (the `ScoreRecommendations` operationId).
ScoreRecommendationsWithResponse(ctx context.Context, body ScoreRecommendationsJSONRequestBody, reqEditors ...RequestEditorFn) (*ScoreRecommendationsResponse, error)
// SearchCatalogWithResponse Discovery search (game metadata via IGDB, hardware via PriceCharting)
//
// Results come from a 24h per-query Valkey cache in front of the provider, never from the local catalog first (it is incomplete by construction). When the provider is down and the cache is cold, the local catalog answers a name match and the response is flagged degraded. type pc_listing searches ALL of PriceCharting (games, hardware, every category) and carries the provider's loose/cib/new prices per listing; it exists for picking exact variant listings as price sources.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /search (the `SearchCatalog` operationId).
SearchCatalogWithResponse(ctx context.Context, params *SearchCatalogParams, reqEditors ...RequestEditorFn) (*SearchCatalogResponse, error)
}
ClientWithResponsesInterface is the interface specification for the client with responses above.
type CommunityProductSpec ¶
type CommunityProductSpec = externalRef0.CommunityProductSpec
CommunityProductSpec The curated fields for approve_new; mirrors the enrichment mint request (single edition field, no variant).
type CommunityProductsPage ¶
type CommunityProductsPage = externalRef0.CommunityProductsPage
CommunityProductsPage defines model for CommunityProductsPage.
type CreateCommunityProductJSONRequestBody ¶
type CreateCommunityProductJSONRequestBody = CommunityProductSpec
CreateCommunityProductJSONRequestBody defines body for CreateCommunityProduct for application/json ContentType.
type CreateCommunityProductResponse ¶
type CreateCommunityProductResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON201 the response for an HTTP 201 `application/json` response
JSON201 *Product
// ApplicationproblemJSON400 the response for an HTTP 400 `application/problem+json` response
ApplicationproblemJSON400 *BadRequest
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON403 the response for an HTTP 403 `application/problem+json` response
ApplicationproblemJSON403 *Forbidden
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
// Headers201 the parsed response headers for an HTTP 201 response
Headers201 *CreateCommunityProductResponse201Headers
}
func ParseCreateCommunityProductResponse ¶
func ParseCreateCommunityProductResponse(rsp *http.Response) (*CreateCommunityProductResponse, error)
ParseCreateCommunityProductResponse parses an HTTP response from a CreateCommunityProductWithResponse call
func (CreateCommunityProductResponse) ContentType ¶
func (r CreateCommunityProductResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (CreateCommunityProductResponse) GetApplicationproblemJSON400 ¶
func (r CreateCommunityProductResponse) GetApplicationproblemJSON400() *BadRequest
GetApplicationproblemJSON400 returns the response for an HTTP 400 `application/problem+json` response
func (CreateCommunityProductResponse) GetApplicationproblemJSON401 ¶
func (r CreateCommunityProductResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (CreateCommunityProductResponse) GetApplicationproblemJSON403 ¶
func (r CreateCommunityProductResponse) GetApplicationproblemJSON403() *Forbidden
GetApplicationproblemJSON403 returns the response for an HTTP 403 `application/problem+json` response
func (CreateCommunityProductResponse) GetApplicationproblemJSONDefault ¶
func (r CreateCommunityProductResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (CreateCommunityProductResponse) GetBody ¶
func (r CreateCommunityProductResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (CreateCommunityProductResponse) GetJSON201 ¶
func (r CreateCommunityProductResponse) GetJSON201() *Product
GetJSON201 returns the response for an HTTP 201 `application/json` response
func (CreateCommunityProductResponse) Status ¶
func (r CreateCommunityProductResponse) Status() string
Status returns HTTPResponse.Status
func (CreateCommunityProductResponse) StatusCode ¶
func (r CreateCommunityProductResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type CreateCommunityProductResponse201Headers ¶
type CreateCommunityProductResponse201Headers struct {
Location *string
}
CreateCommunityProductResponse201Headers the declared response headers of an HTTP 201 response for CreateCommunityProduct
type DeleteProductResponse ¶
type DeleteProductResponse struct {
Body []byte
HTTPResponse *http.Response
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON403 the response for an HTTP 403 `application/problem+json` response
ApplicationproblemJSON403 *Forbidden
// ApplicationproblemJSON404 the response for an HTTP 404 `application/problem+json` response
ApplicationproblemJSON404 *NotFound
// ApplicationproblemJSON409 the response for an HTTP 409 `application/problem+json` response
ApplicationproblemJSON409 *Conflict
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseDeleteProductResponse ¶
func ParseDeleteProductResponse(rsp *http.Response) (*DeleteProductResponse, error)
ParseDeleteProductResponse parses an HTTP response from a DeleteProductWithResponse call
func (DeleteProductResponse) ContentType ¶
func (r DeleteProductResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (DeleteProductResponse) GetApplicationproblemJSON401 ¶
func (r DeleteProductResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (DeleteProductResponse) GetApplicationproblemJSON403 ¶
func (r DeleteProductResponse) GetApplicationproblemJSON403() *Forbidden
GetApplicationproblemJSON403 returns the response for an HTTP 403 `application/problem+json` response
func (DeleteProductResponse) GetApplicationproblemJSON404 ¶
func (r DeleteProductResponse) GetApplicationproblemJSON404() *NotFound
GetApplicationproblemJSON404 returns the response for an HTTP 404 `application/problem+json` response
func (DeleteProductResponse) GetApplicationproblemJSON409 ¶
func (r DeleteProductResponse) GetApplicationproblemJSON409() *Conflict
GetApplicationproblemJSON409 returns the response for an HTTP 409 `application/problem+json` response
func (DeleteProductResponse) GetApplicationproblemJSONDefault ¶
func (r DeleteProductResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (DeleteProductResponse) GetBody ¶
func (r DeleteProductResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (DeleteProductResponse) Status ¶
func (r DeleteProductResponse) Status() string
Status returns HTTPResponse.Status
func (DeleteProductResponse) StatusCode ¶
func (r DeleteProductResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type DismissCandidateRequest ¶
type DismissCandidateRequest = externalRef0.DismissCandidateRequest
DismissCandidateRequest defines model for DismissCandidateRequest.
type DismissPromoteCandidateJSONRequestBody ¶
type DismissPromoteCandidateJSONRequestBody = DismissCandidateRequest
DismissPromoteCandidateJSONRequestBody defines body for DismissPromoteCandidate for application/json ContentType.
type DismissPromoteCandidateResponse ¶
type DismissPromoteCandidateResponse struct {
Body []byte
HTTPResponse *http.Response
// ApplicationproblemJSON400 the response for an HTTP 400 `application/problem+json` response
ApplicationproblemJSON400 *BadRequest
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON403 the response for an HTTP 403 `application/problem+json` response
ApplicationproblemJSON403 *Forbidden
// ApplicationproblemJSON404 the response for an HTTP 404 `application/problem+json` response
ApplicationproblemJSON404 *NotFound
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseDismissPromoteCandidateResponse ¶
func ParseDismissPromoteCandidateResponse(rsp *http.Response) (*DismissPromoteCandidateResponse, error)
ParseDismissPromoteCandidateResponse parses an HTTP response from a DismissPromoteCandidateWithResponse call
func (DismissPromoteCandidateResponse) ContentType ¶
func (r DismissPromoteCandidateResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (DismissPromoteCandidateResponse) GetApplicationproblemJSON400 ¶
func (r DismissPromoteCandidateResponse) GetApplicationproblemJSON400() *BadRequest
GetApplicationproblemJSON400 returns the response for an HTTP 400 `application/problem+json` response
func (DismissPromoteCandidateResponse) GetApplicationproblemJSON401 ¶
func (r DismissPromoteCandidateResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (DismissPromoteCandidateResponse) GetApplicationproblemJSON403 ¶
func (r DismissPromoteCandidateResponse) GetApplicationproblemJSON403() *Forbidden
GetApplicationproblemJSON403 returns the response for an HTTP 403 `application/problem+json` response
func (DismissPromoteCandidateResponse) GetApplicationproblemJSON404 ¶
func (r DismissPromoteCandidateResponse) GetApplicationproblemJSON404() *NotFound
GetApplicationproblemJSON404 returns the response for an HTTP 404 `application/problem+json` response
func (DismissPromoteCandidateResponse) GetApplicationproblemJSONDefault ¶
func (r DismissPromoteCandidateResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (DismissPromoteCandidateResponse) GetBody ¶
func (r DismissPromoteCandidateResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (DismissPromoteCandidateResponse) Status ¶
func (r DismissPromoteCandidateResponse) Status() string
Status returns HTTPResponse.Status
func (DismissPromoteCandidateResponse) StatusCode ¶
func (r DismissPromoteCandidateResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetFxLatestResponse ¶
type GetFxLatestResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *FXRates
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON502 the response for an HTTP 502 `application/problem+json` response
ApplicationproblemJSON502 *UpstreamError
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseGetFxLatestResponse ¶
func ParseGetFxLatestResponse(rsp *http.Response) (*GetFxLatestResponse, error)
ParseGetFxLatestResponse parses an HTTP response from a GetFxLatestWithResponse call
func (GetFxLatestResponse) ContentType ¶
func (r GetFxLatestResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (GetFxLatestResponse) GetApplicationproblemJSON401 ¶
func (r GetFxLatestResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (GetFxLatestResponse) GetApplicationproblemJSON502 ¶
func (r GetFxLatestResponse) GetApplicationproblemJSON502() *UpstreamError
GetApplicationproblemJSON502 returns the response for an HTTP 502 `application/problem+json` response
func (GetFxLatestResponse) GetApplicationproblemJSONDefault ¶
func (r GetFxLatestResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (GetFxLatestResponse) GetBody ¶
func (r GetFxLatestResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (GetFxLatestResponse) GetJSON200 ¶
func (r GetFxLatestResponse) GetJSON200() *FXRates
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (GetFxLatestResponse) Status ¶
func (r GetFxLatestResponse) Status() string
Status returns HTTPResponse.Status
func (GetFxLatestResponse) StatusCode ¶
func (r GetFxLatestResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetProductResponse ¶
type GetProductResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *Product
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON404 the response for an HTTP 404 `application/problem+json` response
ApplicationproblemJSON404 *NotFound
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseGetProductResponse ¶
func ParseGetProductResponse(rsp *http.Response) (*GetProductResponse, error)
ParseGetProductResponse parses an HTTP response from a GetProductWithResponse call
func (GetProductResponse) ContentType ¶
func (r GetProductResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (GetProductResponse) GetApplicationproblemJSON401 ¶
func (r GetProductResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (GetProductResponse) GetApplicationproblemJSON404 ¶
func (r GetProductResponse) GetApplicationproblemJSON404() *NotFound
GetApplicationproblemJSON404 returns the response for an HTTP 404 `application/problem+json` response
func (GetProductResponse) GetApplicationproblemJSONDefault ¶
func (r GetProductResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (GetProductResponse) GetBody ¶
func (r GetProductResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (GetProductResponse) GetJSON200 ¶
func (r GetProductResponse) GetJSON200() *Product
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (GetProductResponse) Status ¶
func (r GetProductResponse) Status() string
Status returns HTTPResponse.Status
func (GetProductResponse) StatusCode ¶
func (r GetProductResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type HttpRequestDoer ¶
Doer performs HTTP requests.
The standard http.Client implements this interface.
type InternalError ¶
type InternalError = externalRef0.Problem
InternalError defines model for InternalError.
type InternalNormalizeCommunityRegionsResponse ¶
type InternalNormalizeCommunityRegionsResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *NormalizeResult
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON403 the response for an HTTP 403 `application/problem+json` response
ApplicationproblemJSON403 *Forbidden
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseInternalNormalizeCommunityRegionsResponse ¶
func ParseInternalNormalizeCommunityRegionsResponse(rsp *http.Response) (*InternalNormalizeCommunityRegionsResponse, error)
ParseInternalNormalizeCommunityRegionsResponse parses an HTTP response from a InternalNormalizeCommunityRegionsWithResponse call
func (InternalNormalizeCommunityRegionsResponse) ContentType ¶
func (r InternalNormalizeCommunityRegionsResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (InternalNormalizeCommunityRegionsResponse) GetApplicationproblemJSON401 ¶
func (r InternalNormalizeCommunityRegionsResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (InternalNormalizeCommunityRegionsResponse) GetApplicationproblemJSON403 ¶
func (r InternalNormalizeCommunityRegionsResponse) GetApplicationproblemJSON403() *Forbidden
GetApplicationproblemJSON403 returns the response for an HTTP 403 `application/problem+json` response
func (InternalNormalizeCommunityRegionsResponse) GetApplicationproblemJSONDefault ¶
func (r InternalNormalizeCommunityRegionsResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (InternalNormalizeCommunityRegionsResponse) GetBody ¶
func (r InternalNormalizeCommunityRegionsResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (InternalNormalizeCommunityRegionsResponse) GetJSON200 ¶
func (r InternalNormalizeCommunityRegionsResponse) GetJSON200() *NormalizeResult
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (InternalNormalizeCommunityRegionsResponse) Status ¶
func (r InternalNormalizeCommunityRegionsResponse) Status() string
Status returns HTTPResponse.Status
func (InternalNormalizeCommunityRegionsResponse) StatusCode ¶
func (r InternalNormalizeCommunityRegionsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type InternalRefreshResponse ¶
type InternalRefreshResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON202 the response for an HTTP 202 `application/json` response
JSON202 *RefreshAccepted
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON403 the response for an HTTP 403 `application/problem+json` response
ApplicationproblemJSON403 *Forbidden
// ApplicationproblemJSON409 the response for an HTTP 409 `application/problem+json` response
ApplicationproblemJSON409 *Conflict
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseInternalRefreshResponse ¶
func ParseInternalRefreshResponse(rsp *http.Response) (*InternalRefreshResponse, error)
ParseInternalRefreshResponse parses an HTTP response from a InternalRefreshWithResponse call
func (InternalRefreshResponse) ContentType ¶
func (r InternalRefreshResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (InternalRefreshResponse) GetApplicationproblemJSON401 ¶
func (r InternalRefreshResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (InternalRefreshResponse) GetApplicationproblemJSON403 ¶
func (r InternalRefreshResponse) GetApplicationproblemJSON403() *Forbidden
GetApplicationproblemJSON403 returns the response for an HTTP 403 `application/problem+json` response
func (InternalRefreshResponse) GetApplicationproblemJSON409 ¶
func (r InternalRefreshResponse) GetApplicationproblemJSON409() *Conflict
GetApplicationproblemJSON409 returns the response for an HTTP 409 `application/problem+json` response
func (InternalRefreshResponse) GetApplicationproblemJSONDefault ¶
func (r InternalRefreshResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (InternalRefreshResponse) GetBody ¶
func (r InternalRefreshResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (InternalRefreshResponse) GetJSON202 ¶
func (r InternalRefreshResponse) GetJSON202() *RefreshAccepted
GetJSON202 returns the response for an HTTP 202 `application/json` response
func (InternalRefreshResponse) Status ¶
func (r InternalRefreshResponse) Status() string
Status returns HTTPResponse.Status
func (InternalRefreshResponse) StatusCode ¶
func (r InternalRefreshResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type LibraryEntry ¶
type LibraryEntry = externalRef0.LibraryEntry
LibraryEntry defines model for LibraryEntry.
type ListCommunityProductsParams ¶
type ListCommunityProductsParams struct {
Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
Offset *externalRef0.Offset `form:"offset,omitempty" json:"offset,omitempty"`
}
ListCommunityProductsParams defines parameters for ListCommunityProducts.
type ListCommunityProductsResponse ¶
type ListCommunityProductsResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *CommunityProductsPage
// ApplicationproblemJSON400 the response for an HTTP 400 `application/problem+json` response
ApplicationproblemJSON400 *BadRequest
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON403 the response for an HTTP 403 `application/problem+json` response
ApplicationproblemJSON403 *Forbidden
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseListCommunityProductsResponse ¶
func ParseListCommunityProductsResponse(rsp *http.Response) (*ListCommunityProductsResponse, error)
ParseListCommunityProductsResponse parses an HTTP response from a ListCommunityProductsWithResponse call
func (ListCommunityProductsResponse) ContentType ¶
func (r ListCommunityProductsResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ListCommunityProductsResponse) GetApplicationproblemJSON400 ¶
func (r ListCommunityProductsResponse) GetApplicationproblemJSON400() *BadRequest
GetApplicationproblemJSON400 returns the response for an HTTP 400 `application/problem+json` response
func (ListCommunityProductsResponse) GetApplicationproblemJSON401 ¶
func (r ListCommunityProductsResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (ListCommunityProductsResponse) GetApplicationproblemJSON403 ¶
func (r ListCommunityProductsResponse) GetApplicationproblemJSON403() *Forbidden
GetApplicationproblemJSON403 returns the response for an HTTP 403 `application/problem+json` response
func (ListCommunityProductsResponse) GetApplicationproblemJSONDefault ¶
func (r ListCommunityProductsResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ListCommunityProductsResponse) GetBody ¶
func (r ListCommunityProductsResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ListCommunityProductsResponse) GetJSON200 ¶
func (r ListCommunityProductsResponse) GetJSON200() *CommunityProductsPage
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (ListCommunityProductsResponse) Status ¶
func (r ListCommunityProductsResponse) Status() string
Status returns HTTPResponse.Status
func (ListCommunityProductsResponse) StatusCode ¶
func (r ListCommunityProductsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ListPlatformsResponse ¶
type ListPlatformsResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *PlatformCatalog
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON502 the response for an HTTP 502 `application/problem+json` response
ApplicationproblemJSON502 *UpstreamError
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseListPlatformsResponse ¶
func ParseListPlatformsResponse(rsp *http.Response) (*ListPlatformsResponse, error)
ParseListPlatformsResponse parses an HTTP response from a ListPlatformsWithResponse call
func (ListPlatformsResponse) ContentType ¶
func (r ListPlatformsResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ListPlatformsResponse) GetApplicationproblemJSON401 ¶
func (r ListPlatformsResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (ListPlatformsResponse) GetApplicationproblemJSON502 ¶
func (r ListPlatformsResponse) GetApplicationproblemJSON502() *UpstreamError
GetApplicationproblemJSON502 returns the response for an HTTP 502 `application/problem+json` response
func (ListPlatformsResponse) GetApplicationproblemJSONDefault ¶
func (r ListPlatformsResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ListPlatformsResponse) GetBody ¶
func (r ListPlatformsResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ListPlatformsResponse) GetJSON200 ¶
func (r ListPlatformsResponse) GetJSON200() *PlatformCatalog
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (ListPlatformsResponse) Status ¶
func (r ListPlatformsResponse) Status() string
Status returns HTTPResponse.Status
func (ListPlatformsResponse) StatusCode ¶
func (r ListPlatformsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ListPromoteCandidatesParams ¶
type ListPromoteCandidatesParams struct {
Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
Offset *externalRef0.Offset `form:"offset,omitempty" json:"offset,omitempty"`
ProductId *openapi_types.UUID `form:"product_id,omitempty" json:"product_id,omitempty"`
}
ListPromoteCandidatesParams defines parameters for ListPromoteCandidates.
type ListPromoteCandidatesResponse ¶
type ListPromoteCandidatesResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *PromoteCandidatesPage
// ApplicationproblemJSON400 the response for an HTTP 400 `application/problem+json` response
ApplicationproblemJSON400 *BadRequest
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON403 the response for an HTTP 403 `application/problem+json` response
ApplicationproblemJSON403 *Forbidden
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseListPromoteCandidatesResponse ¶
func ParseListPromoteCandidatesResponse(rsp *http.Response) (*ListPromoteCandidatesResponse, error)
ParseListPromoteCandidatesResponse parses an HTTP response from a ListPromoteCandidatesWithResponse call
func (ListPromoteCandidatesResponse) ContentType ¶
func (r ListPromoteCandidatesResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ListPromoteCandidatesResponse) GetApplicationproblemJSON400 ¶
func (r ListPromoteCandidatesResponse) GetApplicationproblemJSON400() *BadRequest
GetApplicationproblemJSON400 returns the response for an HTTP 400 `application/problem+json` response
func (ListPromoteCandidatesResponse) GetApplicationproblemJSON401 ¶
func (r ListPromoteCandidatesResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (ListPromoteCandidatesResponse) GetApplicationproblemJSON403 ¶
func (r ListPromoteCandidatesResponse) GetApplicationproblemJSON403() *Forbidden
GetApplicationproblemJSON403 returns the response for an HTTP 403 `application/problem+json` response
func (ListPromoteCandidatesResponse) GetApplicationproblemJSONDefault ¶
func (r ListPromoteCandidatesResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ListPromoteCandidatesResponse) GetBody ¶
func (r ListPromoteCandidatesResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ListPromoteCandidatesResponse) GetJSON200 ¶
func (r ListPromoteCandidatesResponse) GetJSON200() *PromoteCandidatesPage
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (ListPromoteCandidatesResponse) Status ¶
func (r ListPromoteCandidatesResponse) Status() string
Status returns HTTPResponse.Status
func (ListPromoteCandidatesResponse) StatusCode ¶
func (r ListPromoteCandidatesResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ListUnmatchedProductsParams ¶
type ListUnmatchedProductsParams struct {
Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
Offset *externalRef0.Offset `form:"offset,omitempty" json:"offset,omitempty"`
}
ListUnmatchedProductsParams defines parameters for ListUnmatchedProducts.
type ListUnmatchedProductsResponse ¶
type ListUnmatchedProductsResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *UnmatchedProductsPage
// ApplicationproblemJSON400 the response for an HTTP 400 `application/problem+json` response
ApplicationproblemJSON400 *BadRequest
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON403 the response for an HTTP 403 `application/problem+json` response
ApplicationproblemJSON403 *Forbidden
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseListUnmatchedProductsResponse ¶
func ParseListUnmatchedProductsResponse(rsp *http.Response) (*ListUnmatchedProductsResponse, error)
ParseListUnmatchedProductsResponse parses an HTTP response from a ListUnmatchedProductsWithResponse call
func (ListUnmatchedProductsResponse) ContentType ¶
func (r ListUnmatchedProductsResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ListUnmatchedProductsResponse) GetApplicationproblemJSON400 ¶
func (r ListUnmatchedProductsResponse) GetApplicationproblemJSON400() *BadRequest
GetApplicationproblemJSON400 returns the response for an HTTP 400 `application/problem+json` response
func (ListUnmatchedProductsResponse) GetApplicationproblemJSON401 ¶
func (r ListUnmatchedProductsResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (ListUnmatchedProductsResponse) GetApplicationproblemJSON403 ¶
func (r ListUnmatchedProductsResponse) GetApplicationproblemJSON403() *Forbidden
GetApplicationproblemJSON403 returns the response for an HTTP 403 `application/problem+json` response
func (ListUnmatchedProductsResponse) GetApplicationproblemJSONDefault ¶
func (r ListUnmatchedProductsResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ListUnmatchedProductsResponse) GetBody ¶
func (r ListUnmatchedProductsResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ListUnmatchedProductsResponse) GetJSON200 ¶
func (r ListUnmatchedProductsResponse) GetJSON200() *UnmatchedProductsPage
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (ListUnmatchedProductsResponse) Status ¶
func (r ListUnmatchedProductsResponse) Status() string
Status returns HTTPResponse.Status
func (ListUnmatchedProductsResponse) StatusCode ¶
func (r ListUnmatchedProductsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type MappingRequest ¶
type MappingRequest = externalRef0.MappingRequest
MappingRequest defines model for MappingRequest.
type NormalizeResult ¶
type NormalizeResult = externalRef0.NormalizeResult
NormalizeResult defines model for NormalizeResult.
type PlatformCatalog ¶
type PlatformCatalog = externalRef0.PlatformCatalog
PlatformCatalog defines model for PlatformCatalog.
type PriceHistoryRequest ¶
type PriceHistoryRequest struct {
// Days Window size ending now.
Days *int `json:"days,omitempty"`
ProductIds []openapi_types.UUID `json:"product_ids"`
}
PriceHistoryRequest defines model for PriceHistoryRequest.
type PriceHistoryResponse ¶
type PriceHistoryResponse struct {
Series map[string][]PricePoint `json:"series"`
}
PriceHistoryResponse defines model for PriceHistoryResponse.
type PricePoint ¶
type PricePoint struct {
CapturedAt time.Time `json:"captured_at"`
CibCents *int64 `json:"cib_cents,omitempty"`
LooseCents *int64 `json:"loose_cents,omitempty"`
NewCents *int64 `json:"new_cents,omitempty"`
}
PricePoint defines model for PricePoint.
type PricesBatchRequest ¶
type PricesBatchRequest struct {
ProductIds []openapi_types.UUID `json:"product_ids"`
}
PricesBatchRequest defines model for PricesBatchRequest.
type PricesBatchResponse ¶
type PricesBatchResponse struct {
Prices map[string]ProductPrices `json:"prices"`
}
PricesBatchResponse defines model for PricesBatchResponse.
type ProductPrices ¶
type ProductPrices struct {
AsOf *time.Time `json:"as_of,omitempty"`
CibCents *int64 `json:"cib_cents,omitempty"`
LooseCents *int64 `json:"loose_cents,omitempty"`
NewCents *int64 `json:"new_cents,omitempty"`
Unmatched bool `json:"unmatched"`
}
ProductPrices defines model for ProductPrices.
type PromoteCandidatesPage ¶
type PromoteCandidatesPage = externalRef0.PromoteCandidatesPage
PromoteCandidatesPage defines model for PromoteCandidatesPage.
type PromoteProductJSONRequestBody ¶
type PromoteProductJSONRequestBody = PromoteRequest
PromoteProductJSONRequestBody defines body for PromoteProduct for application/json ContentType.
type PromoteProductResponse ¶
type PromoteProductResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *Product
// ApplicationproblemJSON400 the response for an HTTP 400 `application/problem+json` response
ApplicationproblemJSON400 *BadRequest
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON403 the response for an HTTP 403 `application/problem+json` response
ApplicationproblemJSON403 *Forbidden
// ApplicationproblemJSON404 the response for an HTTP 404 `application/problem+json` response
ApplicationproblemJSON404 *NotFound
// ApplicationproblemJSON409 the response for an HTTP 409 `application/problem+json` response
ApplicationproblemJSON409 *Conflict
// ApplicationproblemJSON502 the response for an HTTP 502 `application/problem+json` response
ApplicationproblemJSON502 *UpstreamError
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParsePromoteProductResponse ¶
func ParsePromoteProductResponse(rsp *http.Response) (*PromoteProductResponse, error)
ParsePromoteProductResponse parses an HTTP response from a PromoteProductWithResponse call
func (PromoteProductResponse) ContentType ¶
func (r PromoteProductResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (PromoteProductResponse) GetApplicationproblemJSON400 ¶
func (r PromoteProductResponse) GetApplicationproblemJSON400() *BadRequest
GetApplicationproblemJSON400 returns the response for an HTTP 400 `application/problem+json` response
func (PromoteProductResponse) GetApplicationproblemJSON401 ¶
func (r PromoteProductResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (PromoteProductResponse) GetApplicationproblemJSON403 ¶
func (r PromoteProductResponse) GetApplicationproblemJSON403() *Forbidden
GetApplicationproblemJSON403 returns the response for an HTTP 403 `application/problem+json` response
func (PromoteProductResponse) GetApplicationproblemJSON404 ¶
func (r PromoteProductResponse) GetApplicationproblemJSON404() *NotFound
GetApplicationproblemJSON404 returns the response for an HTTP 404 `application/problem+json` response
func (PromoteProductResponse) GetApplicationproblemJSON409 ¶
func (r PromoteProductResponse) GetApplicationproblemJSON409() *Conflict
GetApplicationproblemJSON409 returns the response for an HTTP 409 `application/problem+json` response
func (PromoteProductResponse) GetApplicationproblemJSON502 ¶
func (r PromoteProductResponse) GetApplicationproblemJSON502() *UpstreamError
GetApplicationproblemJSON502 returns the response for an HTTP 502 `application/problem+json` response
func (PromoteProductResponse) GetApplicationproblemJSONDefault ¶
func (r PromoteProductResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (PromoteProductResponse) GetBody ¶
func (r PromoteProductResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (PromoteProductResponse) GetJSON200 ¶
func (r PromoteProductResponse) GetJSON200() *Product
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (PromoteProductResponse) Status ¶
func (r PromoteProductResponse) Status() string
Status returns HTTPResponse.Status
func (PromoteProductResponse) StatusCode ¶
func (r PromoteProductResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type PromoteRequest ¶
type PromoteRequest = externalRef0.PromoteRequest
PromoteRequest Provider identity for an in-place promotion. type game products require igdb_game_id + platform_igdb_id and accept an optional pc_product_id (the listing can also arrive later via the mapping fix, once provider); console and accessory products require pc_product_id. The identity the product re-enters the index with completes with the doc's stored region/edition/variant.
type RefreshAccepted ¶
type RefreshAccepted = externalRef0.RefreshAccepted
RefreshAccepted defines model for RefreshAccepted.
type RequestEditorFn ¶
RequestEditorFn is the function signature for the RequestEditor callback function
type ResolveProductJSONRequestBody ¶
type ResolveProductJSONRequestBody = ResolveRequest
ResolveProductJSONRequestBody defines body for ResolveProduct for application/json ContentType.
type ResolveProductResponse ¶
type ResolveProductResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *Product
// ApplicationproblemJSON400 the response for an HTTP 400 `application/problem+json` response
ApplicationproblemJSON400 *BadRequest
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON404 the response for an HTTP 404 `application/problem+json` response
ApplicationproblemJSON404 *NotFound
// ApplicationproblemJSON502 the response for an HTTP 502 `application/problem+json` response
ApplicationproblemJSON502 *UpstreamError
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseResolveProductResponse ¶
func ParseResolveProductResponse(rsp *http.Response) (*ResolveProductResponse, error)
ParseResolveProductResponse parses an HTTP response from a ResolveProductWithResponse call
func (ResolveProductResponse) ContentType ¶
func (r ResolveProductResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ResolveProductResponse) GetApplicationproblemJSON400 ¶
func (r ResolveProductResponse) GetApplicationproblemJSON400() *BadRequest
GetApplicationproblemJSON400 returns the response for an HTTP 400 `application/problem+json` response
func (ResolveProductResponse) GetApplicationproblemJSON401 ¶
func (r ResolveProductResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (ResolveProductResponse) GetApplicationproblemJSON404 ¶
func (r ResolveProductResponse) GetApplicationproblemJSON404() *NotFound
GetApplicationproblemJSON404 returns the response for an HTTP 404 `application/problem+json` response
func (ResolveProductResponse) GetApplicationproblemJSON502 ¶
func (r ResolveProductResponse) GetApplicationproblemJSON502() *UpstreamError
GetApplicationproblemJSON502 returns the response for an HTTP 502 `application/problem+json` response
func (ResolveProductResponse) GetApplicationproblemJSONDefault ¶
func (r ResolveProductResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ResolveProductResponse) GetBody ¶
func (r ResolveProductResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ResolveProductResponse) GetJSON200 ¶
func (r ResolveProductResponse) GetJSON200() *Product
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (ResolveProductResponse) Status ¶
func (r ResolveProductResponse) Status() string
Status returns HTTPResponse.Status
func (ResolveProductResponse) StatusCode ¶
func (r ResolveProductResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ResolveRequest ¶
type ResolveRequest = externalRef0.ResolveRequest
ResolveRequest type game requires igdb_game_id + platform_igdb_id (the platform must be one the game released on). Game identity is listing-keyed - (game, platform, PriceCharting listing) - so edition/variant on a game resolve are ignored (entry-level facts, like pc_listing); region is a matching input only (see the region property) and never joins identity. Without pc_product_id the resolve auto-matches by the game name (region-steered) through the shared listing-search cache and lands on the winning listing's product; below the confidence threshold, or with the provider down, it lands on the game+platform's single unmatched product instead - never guessed. Optional match_hint (game only, ignored elsewhere) reweights the scoring toward variant text without changing the search query; a hint nothing matches makes the resolve conservative (unmatched). With pc_product_id (a manual match: the exact listing the user chose) auto-match is skipped and the resolve finds or mints the product carrying that listing (match_confidence 1.0, verified false); unknown id answers 404 unknown_pc_product, provider failure 502 upstream_unavailable. Resolves never touch an existing product's mapping; corrections stay on the admin mapping endpoint. console/accessory require pc_product_id; region/edition/variant distinguish physical variants and are part of hardware identity. type pc_listing requires pc_product_id and mints a price-anchor product for that exact listing; region/edition/variant are ignored (the listing IS the exact variant).
type ScoreRecommendationsJSONRequestBody ¶
type ScoreRecommendationsJSONRequestBody = ScoreRequest
ScoreRecommendationsJSONRequestBody defines body for ScoreRecommendations for application/json ContentType.
type ScoreRecommendationsResponse ¶
type ScoreRecommendationsResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *ScoreResponse
// ApplicationproblemJSON400 the response for an HTTP 400 `application/problem+json` response
ApplicationproblemJSON400 *BadRequest
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseScoreRecommendationsResponse ¶
func ParseScoreRecommendationsResponse(rsp *http.Response) (*ScoreRecommendationsResponse, error)
ParseScoreRecommendationsResponse parses an HTTP response from a ScoreRecommendationsWithResponse call
func (ScoreRecommendationsResponse) ContentType ¶
func (r ScoreRecommendationsResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ScoreRecommendationsResponse) GetApplicationproblemJSON400 ¶
func (r ScoreRecommendationsResponse) GetApplicationproblemJSON400() *BadRequest
GetApplicationproblemJSON400 returns the response for an HTTP 400 `application/problem+json` response
func (ScoreRecommendationsResponse) GetApplicationproblemJSON401 ¶
func (r ScoreRecommendationsResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (ScoreRecommendationsResponse) GetApplicationproblemJSONDefault ¶
func (r ScoreRecommendationsResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ScoreRecommendationsResponse) GetBody ¶
func (r ScoreRecommendationsResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ScoreRecommendationsResponse) GetJSON200 ¶
func (r ScoreRecommendationsResponse) GetJSON200() *ScoreResponse
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (ScoreRecommendationsResponse) Status ¶
func (r ScoreRecommendationsResponse) Status() string
Status returns HTTPResponse.Status
func (ScoreRecommendationsResponse) StatusCode ¶
func (r ScoreRecommendationsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ScoreRequest ¶
type ScoreRequest struct {
Library []LibraryEntry `json:"library"`
Limit *int `json:"limit,omitempty"`
}
ScoreRequest defines model for ScoreRequest.
type ScoreResponse ¶
type ScoreResponse = externalRef0.ScoreResponse
ScoreResponse defines model for ScoreResponse.
type SearchCatalogParams ¶
type SearchCatalogParams struct {
Type externalRef0.SearchResultType `form:"type" json:"type"`
Q externalRef0.CatalogQ `form:"q" json:"q"`
}
SearchCatalogParams defines parameters for SearchCatalog.
type SearchCatalogResponse ¶
type SearchCatalogResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *SearchResults
// ApplicationproblemJSON400 the response for an HTTP 400 `application/problem+json` response
ApplicationproblemJSON400 *BadRequest
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseSearchCatalogResponse ¶
func ParseSearchCatalogResponse(rsp *http.Response) (*SearchCatalogResponse, error)
ParseSearchCatalogResponse parses an HTTP response from a SearchCatalogWithResponse call
func (SearchCatalogResponse) ContentType ¶
func (r SearchCatalogResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (SearchCatalogResponse) GetApplicationproblemJSON400 ¶
func (r SearchCatalogResponse) GetApplicationproblemJSON400() *BadRequest
GetApplicationproblemJSON400 returns the response for an HTTP 400 `application/problem+json` response
func (SearchCatalogResponse) GetApplicationproblemJSON401 ¶
func (r SearchCatalogResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (SearchCatalogResponse) GetApplicationproblemJSONDefault ¶
func (r SearchCatalogResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (SearchCatalogResponse) GetBody ¶
func (r SearchCatalogResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (SearchCatalogResponse) GetJSON200 ¶
func (r SearchCatalogResponse) GetJSON200() *SearchResults
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (SearchCatalogResponse) Status ¶
func (r SearchCatalogResponse) Status() string
Status returns HTTPResponse.Status
func (SearchCatalogResponse) StatusCode ¶
func (r SearchCatalogResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type SearchResults ¶
type SearchResults = externalRef0.SearchResults
SearchResults defines model for SearchResults.
type SetProductMappingJSONRequestBody ¶
type SetProductMappingJSONRequestBody = MappingRequest
SetProductMappingJSONRequestBody defines body for SetProductMapping for application/json ContentType.
type SetProductMappingResponse ¶
type SetProductMappingResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *Product
// ApplicationproblemJSON400 the response for an HTTP 400 `application/problem+json` response
ApplicationproblemJSON400 *BadRequest
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON403 the response for an HTTP 403 `application/problem+json` response
ApplicationproblemJSON403 *Forbidden
// ApplicationproblemJSON404 the response for an HTTP 404 `application/problem+json` response
ApplicationproblemJSON404 *NotFound
// ApplicationproblemJSON409 the response for an HTTP 409 `application/problem+json` response
ApplicationproblemJSON409 *Conflict
// ApplicationproblemJSON502 the response for an HTTP 502 `application/problem+json` response
ApplicationproblemJSON502 *UpstreamError
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseSetProductMappingResponse ¶
func ParseSetProductMappingResponse(rsp *http.Response) (*SetProductMappingResponse, error)
ParseSetProductMappingResponse parses an HTTP response from a SetProductMappingWithResponse call
func (SetProductMappingResponse) ContentType ¶
func (r SetProductMappingResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (SetProductMappingResponse) GetApplicationproblemJSON400 ¶
func (r SetProductMappingResponse) GetApplicationproblemJSON400() *BadRequest
GetApplicationproblemJSON400 returns the response for an HTTP 400 `application/problem+json` response
func (SetProductMappingResponse) GetApplicationproblemJSON401 ¶
func (r SetProductMappingResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (SetProductMappingResponse) GetApplicationproblemJSON403 ¶
func (r SetProductMappingResponse) GetApplicationproblemJSON403() *Forbidden
GetApplicationproblemJSON403 returns the response for an HTTP 403 `application/problem+json` response
func (SetProductMappingResponse) GetApplicationproblemJSON404 ¶
func (r SetProductMappingResponse) GetApplicationproblemJSON404() *NotFound
GetApplicationproblemJSON404 returns the response for an HTTP 404 `application/problem+json` response
func (SetProductMappingResponse) GetApplicationproblemJSON409 ¶
func (r SetProductMappingResponse) GetApplicationproblemJSON409() *Conflict
GetApplicationproblemJSON409 returns the response for an HTTP 409 `application/problem+json` response
func (SetProductMappingResponse) GetApplicationproblemJSON502 ¶
func (r SetProductMappingResponse) GetApplicationproblemJSON502() *UpstreamError
GetApplicationproblemJSON502 returns the response for an HTTP 502 `application/problem+json` response
func (SetProductMappingResponse) GetApplicationproblemJSONDefault ¶
func (r SetProductMappingResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (SetProductMappingResponse) GetBody ¶
func (r SetProductMappingResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (SetProductMappingResponse) GetJSON200 ¶
func (r SetProductMappingResponse) GetJSON200() *Product
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (SetProductMappingResponse) Status ¶
func (r SetProductMappingResponse) Status() string
Status returns HTTPResponse.Status
func (SetProductMappingResponse) StatusCode ¶
func (r SetProductMappingResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type TriggerRefreshResponse ¶
type TriggerRefreshResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON202 the response for an HTTP 202 `application/json` response
JSON202 *RefreshAccepted
// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
ApplicationproblemJSON401 *Unauthorized
// ApplicationproblemJSON403 the response for an HTTP 403 `application/problem+json` response
ApplicationproblemJSON403 *Forbidden
// ApplicationproblemJSON409 the response for an HTTP 409 `application/problem+json` response
ApplicationproblemJSON409 *Conflict
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *InternalError
}
func ParseTriggerRefreshResponse ¶
func ParseTriggerRefreshResponse(rsp *http.Response) (*TriggerRefreshResponse, error)
ParseTriggerRefreshResponse parses an HTTP response from a TriggerRefreshWithResponse call
func (TriggerRefreshResponse) ContentType ¶
func (r TriggerRefreshResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (TriggerRefreshResponse) GetApplicationproblemJSON401 ¶
func (r TriggerRefreshResponse) GetApplicationproblemJSON401() *Unauthorized
GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response
func (TriggerRefreshResponse) GetApplicationproblemJSON403 ¶
func (r TriggerRefreshResponse) GetApplicationproblemJSON403() *Forbidden
GetApplicationproblemJSON403 returns the response for an HTTP 403 `application/problem+json` response
func (TriggerRefreshResponse) GetApplicationproblemJSON409 ¶
func (r TriggerRefreshResponse) GetApplicationproblemJSON409() *Conflict
GetApplicationproblemJSON409 returns the response for an HTTP 409 `application/problem+json` response
func (TriggerRefreshResponse) GetApplicationproblemJSONDefault ¶
func (r TriggerRefreshResponse) GetApplicationproblemJSONDefault() *InternalError
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (TriggerRefreshResponse) GetBody ¶
func (r TriggerRefreshResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (TriggerRefreshResponse) GetJSON202 ¶
func (r TriggerRefreshResponse) GetJSON202() *RefreshAccepted
GetJSON202 returns the response for an HTTP 202 `application/json` response
func (TriggerRefreshResponse) Status ¶
func (r TriggerRefreshResponse) Status() string
Status returns HTTPResponse.Status
func (TriggerRefreshResponse) StatusCode ¶
func (r TriggerRefreshResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type Unauthorized ¶
type Unauthorized = externalRef0.Problem
Unauthorized defines model for Unauthorized.
type UnmatchedProductsPage ¶
type UnmatchedProductsPage = externalRef0.UnmatchedProductsPage
UnmatchedProductsPage defines model for UnmatchedProductsPage.
type UpstreamError ¶
type UpstreamError = externalRef0.Problem
UpstreamError defines model for UpstreamError.