nyanimedb/api/gen.go

1958 lines
60 KiB
Go

// Package api provides primitives to interact with the openapi HTTP API.
//
// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.0 DO NOT EDIT.
package api
import (
"context"
"encoding/json"
"fmt"
"net/http"
"github.com/gin-gonic/gin"
"github.com/oapi-codegen/runtime"
strictgin "github.com/oapi-codegen/runtime/strictmiddleware/gin"
)
// Review defines model for Review.
type Review map[string]interface{}
// Tag defines model for Tag.
type Tag map[string]interface{}
// Title defines model for Title.
type Title map[string]interface{}
// User defines model for User.
type User map[string]interface{}
// UserTitle defines model for UserTitle.
type UserTitle map[string]interface{}
// GetMediaParams defines parameters for GetMedia.
type GetMediaParams struct {
ImageId string `form:"image_id" json:"image_id"`
}
// GetTagsParams defines parameters for GetTags.
type GetTagsParams struct {
Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
Offset *int `form:"offset,omitempty" json:"offset,omitempty"`
Fields *string `form:"fields,omitempty" json:"fields,omitempty"`
}
// GetTitleParams defines parameters for GetTitle.
type GetTitleParams struct {
Query *string `form:"query,omitempty" json:"query,omitempty"`
Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
Offset *int `form:"offset,omitempty" json:"offset,omitempty"`
Fields *string `form:"fields,omitempty" json:"fields,omitempty"`
}
// GetTitleTitleIdParams defines parameters for GetTitleTitleId.
type GetTitleTitleIdParams struct {
Fields *string `form:"fields,omitempty" json:"fields,omitempty"`
}
// GetTitleTitleIdReviewsParams defines parameters for GetTitleTitleIdReviews.
type GetTitleTitleIdReviewsParams struct {
Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
Offset *int `form:"offset,omitempty" json:"offset,omitempty"`
}
// GetUsersParams defines parameters for GetUsers.
type GetUsersParams struct {
Query *string `form:"query,omitempty" json:"query,omitempty"`
Fields *string `form:"fields,omitempty" json:"fields,omitempty"`
}
// GetUsersUserIdParams defines parameters for GetUsersUserId.
type GetUsersUserIdParams struct {
Fields *string `form:"fields,omitempty" json:"fields,omitempty"`
}
// GetUsersUserIdReviewsParams defines parameters for GetUsersUserIdReviews.
type GetUsersUserIdReviewsParams struct {
Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
Offset *int `form:"offset,omitempty" json:"offset,omitempty"`
}
// DeleteUsersUserIdTitlesParams defines parameters for DeleteUsersUserIdTitles.
type DeleteUsersUserIdTitlesParams struct {
TitleId *string `form:"title_id,omitempty" json:"title_id,omitempty"`
}
// GetUsersUserIdTitlesParams defines parameters for GetUsersUserIdTitles.
type GetUsersUserIdTitlesParams struct {
Query *string `form:"query,omitempty" json:"query,omitempty"`
Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
Offset *int `form:"offset,omitempty" json:"offset,omitempty"`
Fields *string `form:"fields,omitempty" json:"fields,omitempty"`
}
// PostUsersUserIdTitlesJSONBody defines parameters for PostUsersUserIdTitles.
type PostUsersUserIdTitlesJSONBody struct {
Status *string `json:"status,omitempty"`
TitleId *string `json:"title_id,omitempty"`
}
// PostReviewsJSONRequestBody defines body for PostReviews for application/json ContentType.
type PostReviewsJSONRequestBody = Review
// PatchReviewsReviewIdJSONRequestBody defines body for PatchReviewsReviewId for application/json ContentType.
type PatchReviewsReviewIdJSONRequestBody = Review
// PatchTitleTitleIdJSONRequestBody defines body for PatchTitleTitleId for application/json ContentType.
type PatchTitleTitleIdJSONRequestBody = Title
// PostUsersJSONRequestBody defines body for PostUsers for application/json ContentType.
type PostUsersJSONRequestBody = User
// PatchUsersUserIdJSONRequestBody defines body for PatchUsersUserId for application/json ContentType.
type PatchUsersUserIdJSONRequestBody = User
// PatchUsersUserIdTitlesJSONRequestBody defines body for PatchUsersUserIdTitles for application/json ContentType.
type PatchUsersUserIdTitlesJSONRequestBody = UserTitle
// PostUsersUserIdTitlesJSONRequestBody defines body for PostUsersUserIdTitles for application/json ContentType.
type PostUsersUserIdTitlesJSONRequestBody PostUsersUserIdTitlesJSONBody
// ServerInterface represents all server handlers.
type ServerInterface interface {
// Get image path
// (GET /media)
GetMedia(c *gin.Context, params GetMediaParams)
// Upload image
// (POST /media)
PostMedia(c *gin.Context)
// Add review
// (POST /reviews)
PostReviews(c *gin.Context)
// Delete review
// (DELETE /reviews/{review_id})
DeleteReviewsReviewId(c *gin.Context, reviewId string)
// Update review
// (PATCH /reviews/{review_id})
PatchReviewsReviewId(c *gin.Context, reviewId string)
// Get tags
// (GET /tags)
GetTags(c *gin.Context, params GetTagsParams)
// Get titles
// (GET /title)
GetTitle(c *gin.Context, params GetTitleParams)
// Get title description
// (GET /title/{title_id})
GetTitleTitleId(c *gin.Context, titleId string, params GetTitleTitleIdParams)
// Update title info
// (PATCH /title/{title_id})
PatchTitleTitleId(c *gin.Context, titleId string)
// Get title reviews
// (GET /title/{title_id}/reviews)
GetTitleTitleIdReviews(c *gin.Context, titleId string, params GetTitleTitleIdReviewsParams)
// Search user
// (GET /users)
GetUsers(c *gin.Context, params GetUsersParams)
// Add new user
// (POST /users)
PostUsers(c *gin.Context)
// Delete user
// (DELETE /users/{user_id})
DeleteUsersUserId(c *gin.Context, userId string)
// Get user info
// (GET /users/{user_id})
GetUsersUserId(c *gin.Context, userId string, params GetUsersUserIdParams)
// Update user
// (PATCH /users/{user_id})
PatchUsersUserId(c *gin.Context, userId string)
// Get user reviews
// (GET /users/{user_id}/reviews)
GetUsersUserIdReviews(c *gin.Context, userId string, params GetUsersUserIdReviewsParams)
// Delete user title
// (DELETE /users/{user_id}/titles)
DeleteUsersUserIdTitles(c *gin.Context, userId string, params DeleteUsersUserIdTitlesParams)
// Get user titles
// (GET /users/{user_id}/titles)
GetUsersUserIdTitles(c *gin.Context, userId string, params GetUsersUserIdTitlesParams)
// Update user title
// (PATCH /users/{user_id}/titles)
PatchUsersUserIdTitles(c *gin.Context, userId string)
// Add user title
// (POST /users/{user_id}/titles)
PostUsersUserIdTitles(c *gin.Context, userId string)
}
// ServerInterfaceWrapper converts contexts to parameters.
type ServerInterfaceWrapper struct {
Handler ServerInterface
HandlerMiddlewares []MiddlewareFunc
ErrorHandler func(*gin.Context, error, int)
}
type MiddlewareFunc func(c *gin.Context)
// GetMedia operation middleware
func (siw *ServerInterfaceWrapper) GetMedia(c *gin.Context) {
var err error
// Parameter object where we will unmarshal all parameters from the context
var params GetMediaParams
// ------------- Required query parameter "image_id" -------------
if paramValue := c.Query("image_id"); paramValue != "" {
} else {
siw.ErrorHandler(c, fmt.Errorf("Query argument image_id is required, but not found"), http.StatusBadRequest)
return
}
err = runtime.BindQueryParameter("form", true, true, "image_id", c.Request.URL.Query(), &params.ImageId)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter image_id: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.GetMedia(c, params)
}
// PostMedia operation middleware
func (siw *ServerInterfaceWrapper) PostMedia(c *gin.Context) {
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.PostMedia(c)
}
// PostReviews operation middleware
func (siw *ServerInterfaceWrapper) PostReviews(c *gin.Context) {
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.PostReviews(c)
}
// DeleteReviewsReviewId operation middleware
func (siw *ServerInterfaceWrapper) DeleteReviewsReviewId(c *gin.Context) {
var err error
// ------------- Path parameter "review_id" -------------
var reviewId string
err = runtime.BindStyledParameterWithOptions("simple", "review_id", c.Param("review_id"), &reviewId, runtime.BindStyledParameterOptions{Explode: false, Required: true})
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter review_id: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.DeleteReviewsReviewId(c, reviewId)
}
// PatchReviewsReviewId operation middleware
func (siw *ServerInterfaceWrapper) PatchReviewsReviewId(c *gin.Context) {
var err error
// ------------- Path parameter "review_id" -------------
var reviewId string
err = runtime.BindStyledParameterWithOptions("simple", "review_id", c.Param("review_id"), &reviewId, runtime.BindStyledParameterOptions{Explode: false, Required: true})
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter review_id: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.PatchReviewsReviewId(c, reviewId)
}
// GetTags operation middleware
func (siw *ServerInterfaceWrapper) GetTags(c *gin.Context) {
var err error
// Parameter object where we will unmarshal all parameters from the context
var params GetTagsParams
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", c.Request.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter limit: %w", err), http.StatusBadRequest)
return
}
// ------------- Optional query parameter "offset" -------------
err = runtime.BindQueryParameter("form", true, false, "offset", c.Request.URL.Query(), &params.Offset)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter offset: %w", err), http.StatusBadRequest)
return
}
// ------------- Optional query parameter "fields" -------------
err = runtime.BindQueryParameter("form", true, false, "fields", c.Request.URL.Query(), &params.Fields)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter fields: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.GetTags(c, params)
}
// GetTitle operation middleware
func (siw *ServerInterfaceWrapper) GetTitle(c *gin.Context) {
var err error
// Parameter object where we will unmarshal all parameters from the context
var params GetTitleParams
// ------------- Optional query parameter "query" -------------
err = runtime.BindQueryParameter("form", true, false, "query", c.Request.URL.Query(), &params.Query)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter query: %w", err), http.StatusBadRequest)
return
}
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", c.Request.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter limit: %w", err), http.StatusBadRequest)
return
}
// ------------- Optional query parameter "offset" -------------
err = runtime.BindQueryParameter("form", true, false, "offset", c.Request.URL.Query(), &params.Offset)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter offset: %w", err), http.StatusBadRequest)
return
}
// ------------- Optional query parameter "fields" -------------
err = runtime.BindQueryParameter("form", true, false, "fields", c.Request.URL.Query(), &params.Fields)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter fields: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.GetTitle(c, params)
}
// GetTitleTitleId operation middleware
func (siw *ServerInterfaceWrapper) GetTitleTitleId(c *gin.Context) {
var err error
// ------------- Path parameter "title_id" -------------
var titleId string
err = runtime.BindStyledParameterWithOptions("simple", "title_id", c.Param("title_id"), &titleId, runtime.BindStyledParameterOptions{Explode: false, Required: true})
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter title_id: %w", err), http.StatusBadRequest)
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetTitleTitleIdParams
// ------------- Optional query parameter "fields" -------------
err = runtime.BindQueryParameter("form", true, false, "fields", c.Request.URL.Query(), &params.Fields)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter fields: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.GetTitleTitleId(c, titleId, params)
}
// PatchTitleTitleId operation middleware
func (siw *ServerInterfaceWrapper) PatchTitleTitleId(c *gin.Context) {
var err error
// ------------- Path parameter "title_id" -------------
var titleId string
err = runtime.BindStyledParameterWithOptions("simple", "title_id", c.Param("title_id"), &titleId, runtime.BindStyledParameterOptions{Explode: false, Required: true})
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter title_id: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.PatchTitleTitleId(c, titleId)
}
// GetTitleTitleIdReviews operation middleware
func (siw *ServerInterfaceWrapper) GetTitleTitleIdReviews(c *gin.Context) {
var err error
// ------------- Path parameter "title_id" -------------
var titleId string
err = runtime.BindStyledParameterWithOptions("simple", "title_id", c.Param("title_id"), &titleId, runtime.BindStyledParameterOptions{Explode: false, Required: true})
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter title_id: %w", err), http.StatusBadRequest)
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetTitleTitleIdReviewsParams
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", c.Request.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter limit: %w", err), http.StatusBadRequest)
return
}
// ------------- Optional query parameter "offset" -------------
err = runtime.BindQueryParameter("form", true, false, "offset", c.Request.URL.Query(), &params.Offset)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter offset: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.GetTitleTitleIdReviews(c, titleId, params)
}
// GetUsers operation middleware
func (siw *ServerInterfaceWrapper) GetUsers(c *gin.Context) {
var err error
// Parameter object where we will unmarshal all parameters from the context
var params GetUsersParams
// ------------- Optional query parameter "query" -------------
err = runtime.BindQueryParameter("form", true, false, "query", c.Request.URL.Query(), &params.Query)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter query: %w", err), http.StatusBadRequest)
return
}
// ------------- Optional query parameter "fields" -------------
err = runtime.BindQueryParameter("form", true, false, "fields", c.Request.URL.Query(), &params.Fields)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter fields: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.GetUsers(c, params)
}
// PostUsers operation middleware
func (siw *ServerInterfaceWrapper) PostUsers(c *gin.Context) {
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.PostUsers(c)
}
// DeleteUsersUserId operation middleware
func (siw *ServerInterfaceWrapper) DeleteUsersUserId(c *gin.Context) {
var err error
// ------------- Path parameter "user_id" -------------
var userId string
err = runtime.BindStyledParameterWithOptions("simple", "user_id", c.Param("user_id"), &userId, runtime.BindStyledParameterOptions{Explode: false, Required: true})
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter user_id: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.DeleteUsersUserId(c, userId)
}
// GetUsersUserId operation middleware
func (siw *ServerInterfaceWrapper) GetUsersUserId(c *gin.Context) {
var err error
// ------------- Path parameter "user_id" -------------
var userId string
err = runtime.BindStyledParameterWithOptions("simple", "user_id", c.Param("user_id"), &userId, runtime.BindStyledParameterOptions{Explode: false, Required: true})
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter user_id: %w", err), http.StatusBadRequest)
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetUsersUserIdParams
// ------------- Optional query parameter "fields" -------------
err = runtime.BindQueryParameter("form", true, false, "fields", c.Request.URL.Query(), &params.Fields)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter fields: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.GetUsersUserId(c, userId, params)
}
// PatchUsersUserId operation middleware
func (siw *ServerInterfaceWrapper) PatchUsersUserId(c *gin.Context) {
var err error
// ------------- Path parameter "user_id" -------------
var userId string
err = runtime.BindStyledParameterWithOptions("simple", "user_id", c.Param("user_id"), &userId, runtime.BindStyledParameterOptions{Explode: false, Required: true})
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter user_id: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.PatchUsersUserId(c, userId)
}
// GetUsersUserIdReviews operation middleware
func (siw *ServerInterfaceWrapper) GetUsersUserIdReviews(c *gin.Context) {
var err error
// ------------- Path parameter "user_id" -------------
var userId string
err = runtime.BindStyledParameterWithOptions("simple", "user_id", c.Param("user_id"), &userId, runtime.BindStyledParameterOptions{Explode: false, Required: true})
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter user_id: %w", err), http.StatusBadRequest)
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetUsersUserIdReviewsParams
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", c.Request.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter limit: %w", err), http.StatusBadRequest)
return
}
// ------------- Optional query parameter "offset" -------------
err = runtime.BindQueryParameter("form", true, false, "offset", c.Request.URL.Query(), &params.Offset)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter offset: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.GetUsersUserIdReviews(c, userId, params)
}
// DeleteUsersUserIdTitles operation middleware
func (siw *ServerInterfaceWrapper) DeleteUsersUserIdTitles(c *gin.Context) {
var err error
// ------------- Path parameter "user_id" -------------
var userId string
err = runtime.BindStyledParameterWithOptions("simple", "user_id", c.Param("user_id"), &userId, runtime.BindStyledParameterOptions{Explode: false, Required: true})
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter user_id: %w", err), http.StatusBadRequest)
return
}
// Parameter object where we will unmarshal all parameters from the context
var params DeleteUsersUserIdTitlesParams
// ------------- Optional query parameter "title_id" -------------
err = runtime.BindQueryParameter("form", true, false, "title_id", c.Request.URL.Query(), &params.TitleId)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter title_id: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.DeleteUsersUserIdTitles(c, userId, params)
}
// GetUsersUserIdTitles operation middleware
func (siw *ServerInterfaceWrapper) GetUsersUserIdTitles(c *gin.Context) {
var err error
// ------------- Path parameter "user_id" -------------
var userId string
err = runtime.BindStyledParameterWithOptions("simple", "user_id", c.Param("user_id"), &userId, runtime.BindStyledParameterOptions{Explode: false, Required: true})
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter user_id: %w", err), http.StatusBadRequest)
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetUsersUserIdTitlesParams
// ------------- Optional query parameter "query" -------------
err = runtime.BindQueryParameter("form", true, false, "query", c.Request.URL.Query(), &params.Query)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter query: %w", err), http.StatusBadRequest)
return
}
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameter("form", true, false, "limit", c.Request.URL.Query(), &params.Limit)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter limit: %w", err), http.StatusBadRequest)
return
}
// ------------- Optional query parameter "offset" -------------
err = runtime.BindQueryParameter("form", true, false, "offset", c.Request.URL.Query(), &params.Offset)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter offset: %w", err), http.StatusBadRequest)
return
}
// ------------- Optional query parameter "fields" -------------
err = runtime.BindQueryParameter("form", true, false, "fields", c.Request.URL.Query(), &params.Fields)
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter fields: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.GetUsersUserIdTitles(c, userId, params)
}
// PatchUsersUserIdTitles operation middleware
func (siw *ServerInterfaceWrapper) PatchUsersUserIdTitles(c *gin.Context) {
var err error
// ------------- Path parameter "user_id" -------------
var userId string
err = runtime.BindStyledParameterWithOptions("simple", "user_id", c.Param("user_id"), &userId, runtime.BindStyledParameterOptions{Explode: false, Required: true})
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter user_id: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.PatchUsersUserIdTitles(c, userId)
}
// PostUsersUserIdTitles operation middleware
func (siw *ServerInterfaceWrapper) PostUsersUserIdTitles(c *gin.Context) {
var err error
// ------------- Path parameter "user_id" -------------
var userId string
err = runtime.BindStyledParameterWithOptions("simple", "user_id", c.Param("user_id"), &userId, runtime.BindStyledParameterOptions{Explode: false, Required: true})
if err != nil {
siw.ErrorHandler(c, fmt.Errorf("Invalid format for parameter user_id: %w", err), http.StatusBadRequest)
return
}
for _, middleware := range siw.HandlerMiddlewares {
middleware(c)
if c.IsAborted() {
return
}
}
siw.Handler.PostUsersUserIdTitles(c, userId)
}
// GinServerOptions provides options for the Gin server.
type GinServerOptions struct {
BaseURL string
Middlewares []MiddlewareFunc
ErrorHandler func(*gin.Context, error, int)
}
// RegisterHandlers creates http.Handler with routing matching OpenAPI spec.
func RegisterHandlers(router gin.IRouter, si ServerInterface) {
RegisterHandlersWithOptions(router, si, GinServerOptions{})
}
// RegisterHandlersWithOptions creates http.Handler with additional options
func RegisterHandlersWithOptions(router gin.IRouter, si ServerInterface, options GinServerOptions) {
errorHandler := options.ErrorHandler
if errorHandler == nil {
errorHandler = func(c *gin.Context, err error, statusCode int) {
c.JSON(statusCode, gin.H{"msg": err.Error()})
}
}
wrapper := ServerInterfaceWrapper{
Handler: si,
HandlerMiddlewares: options.Middlewares,
ErrorHandler: errorHandler,
}
router.GET(options.BaseURL+"/media", wrapper.GetMedia)
router.POST(options.BaseURL+"/media", wrapper.PostMedia)
router.POST(options.BaseURL+"/reviews", wrapper.PostReviews)
router.DELETE(options.BaseURL+"/reviews/:review_id", wrapper.DeleteReviewsReviewId)
router.PATCH(options.BaseURL+"/reviews/:review_id", wrapper.PatchReviewsReviewId)
router.GET(options.BaseURL+"/tags", wrapper.GetTags)
router.GET(options.BaseURL+"/title", wrapper.GetTitle)
router.GET(options.BaseURL+"/title/:title_id", wrapper.GetTitleTitleId)
router.PATCH(options.BaseURL+"/title/:title_id", wrapper.PatchTitleTitleId)
router.GET(options.BaseURL+"/title/:title_id/reviews", wrapper.GetTitleTitleIdReviews)
router.GET(options.BaseURL+"/users", wrapper.GetUsers)
router.POST(options.BaseURL+"/users", wrapper.PostUsers)
router.DELETE(options.BaseURL+"/users/:user_id", wrapper.DeleteUsersUserId)
router.GET(options.BaseURL+"/users/:user_id", wrapper.GetUsersUserId)
router.PATCH(options.BaseURL+"/users/:user_id", wrapper.PatchUsersUserId)
router.GET(options.BaseURL+"/users/:user_id/reviews", wrapper.GetUsersUserIdReviews)
router.DELETE(options.BaseURL+"/users/:user_id/titles", wrapper.DeleteUsersUserIdTitles)
router.GET(options.BaseURL+"/users/:user_id/titles", wrapper.GetUsersUserIdTitles)
router.PATCH(options.BaseURL+"/users/:user_id/titles", wrapper.PatchUsersUserIdTitles)
router.POST(options.BaseURL+"/users/:user_id/titles", wrapper.PostUsersUserIdTitles)
}
type GetMediaRequestObject struct {
Params GetMediaParams
}
type GetMediaResponseObject interface {
VisitGetMediaResponse(w http.ResponseWriter) error
}
type GetMedia200JSONResponse struct {
Error *string `json:"error,omitempty"`
ImagePath *string `json:"image_path,omitempty"`
Success *bool `json:"success,omitempty"`
}
func (response GetMedia200JSONResponse) VisitGetMediaResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type PostMediaRequestObject struct {
}
type PostMediaResponseObject interface {
VisitPostMediaResponse(w http.ResponseWriter) error
}
type PostMedia200JSONResponse struct {
Error *string `json:"error,omitempty"`
ImageId *string `json:"image_id,omitempty"`
Success *bool `json:"success,omitempty"`
}
func (response PostMedia200JSONResponse) VisitPostMediaResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type PostReviewsRequestObject struct {
Body *PostReviewsJSONRequestBody
}
type PostReviewsResponseObject interface {
VisitPostReviewsResponse(w http.ResponseWriter) error
}
type PostReviews200JSONResponse struct {
Error *string `json:"error,omitempty"`
Success *bool `json:"success,omitempty"`
}
func (response PostReviews200JSONResponse) VisitPostReviewsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type DeleteReviewsReviewIdRequestObject struct {
ReviewId string `json:"review_id"`
}
type DeleteReviewsReviewIdResponseObject interface {
VisitDeleteReviewsReviewIdResponse(w http.ResponseWriter) error
}
type DeleteReviewsReviewId200JSONResponse struct {
Error *string `json:"error,omitempty"`
Success *bool `json:"success,omitempty"`
}
func (response DeleteReviewsReviewId200JSONResponse) VisitDeleteReviewsReviewIdResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type PatchReviewsReviewIdRequestObject struct {
ReviewId string `json:"review_id"`
Body *PatchReviewsReviewIdJSONRequestBody
}
type PatchReviewsReviewIdResponseObject interface {
VisitPatchReviewsReviewIdResponse(w http.ResponseWriter) error
}
type PatchReviewsReviewId200JSONResponse struct {
Error *string `json:"error,omitempty"`
Success *bool `json:"success,omitempty"`
}
func (response PatchReviewsReviewId200JSONResponse) VisitPatchReviewsReviewIdResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetTagsRequestObject struct {
Params GetTagsParams
}
type GetTagsResponseObject interface {
VisitGetTagsResponse(w http.ResponseWriter) error
}
type GetTags200JSONResponse []Tag
func (response GetTags200JSONResponse) VisitGetTagsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetTitleRequestObject struct {
Params GetTitleParams
}
type GetTitleResponseObject interface {
VisitGetTitleResponse(w http.ResponseWriter) error
}
type GetTitle200JSONResponse []Title
func (response GetTitle200JSONResponse) VisitGetTitleResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetTitle204Response struct {
}
func (response GetTitle204Response) VisitGetTitleResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type GetTitleTitleIdRequestObject struct {
TitleId string `json:"title_id"`
Params GetTitleTitleIdParams
}
type GetTitleTitleIdResponseObject interface {
VisitGetTitleTitleIdResponse(w http.ResponseWriter) error
}
type GetTitleTitleId200JSONResponse Title
func (response GetTitleTitleId200JSONResponse) VisitGetTitleTitleIdResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetTitleTitleId404Response struct {
}
func (response GetTitleTitleId404Response) VisitGetTitleTitleIdResponse(w http.ResponseWriter) error {
w.WriteHeader(404)
return nil
}
type PatchTitleTitleIdRequestObject struct {
TitleId string `json:"title_id"`
Body *PatchTitleTitleIdJSONRequestBody
}
type PatchTitleTitleIdResponseObject interface {
VisitPatchTitleTitleIdResponse(w http.ResponseWriter) error
}
type PatchTitleTitleId200JSONResponse struct {
Error *string `json:"error,omitempty"`
Success *bool `json:"success,omitempty"`
UserJson *User `json:"user_json,omitempty"`
}
func (response PatchTitleTitleId200JSONResponse) VisitPatchTitleTitleIdResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetTitleTitleIdReviewsRequestObject struct {
TitleId string `json:"title_id"`
Params GetTitleTitleIdReviewsParams
}
type GetTitleTitleIdReviewsResponseObject interface {
VisitGetTitleTitleIdReviewsResponse(w http.ResponseWriter) error
}
type GetTitleTitleIdReviews200JSONResponse []Review
func (response GetTitleTitleIdReviews200JSONResponse) VisitGetTitleTitleIdReviewsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetTitleTitleIdReviews204Response struct {
}
func (response GetTitleTitleIdReviews204Response) VisitGetTitleTitleIdReviewsResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type GetUsersRequestObject struct {
Params GetUsersParams
}
type GetUsersResponseObject interface {
VisitGetUsersResponse(w http.ResponseWriter) error
}
type GetUsers200JSONResponse []User
func (response GetUsers200JSONResponse) VisitGetUsersResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type PostUsersRequestObject struct {
Body *PostUsersJSONRequestBody
}
type PostUsersResponseObject interface {
VisitPostUsersResponse(w http.ResponseWriter) error
}
type PostUsers200JSONResponse struct {
Error *string `json:"error,omitempty"`
Success *bool `json:"success,omitempty"`
UserJson *User `json:"user_json,omitempty"`
}
func (response PostUsers200JSONResponse) VisitPostUsersResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type DeleteUsersUserIdRequestObject struct {
UserId string `json:"user_id"`
}
type DeleteUsersUserIdResponseObject interface {
VisitDeleteUsersUserIdResponse(w http.ResponseWriter) error
}
type DeleteUsersUserId200JSONResponse struct {
Error *string `json:"error,omitempty"`
Success *bool `json:"success,omitempty"`
}
func (response DeleteUsersUserId200JSONResponse) VisitDeleteUsersUserIdResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetUsersUserIdRequestObject struct {
UserId string `json:"user_id"`
Params GetUsersUserIdParams
}
type GetUsersUserIdResponseObject interface {
VisitGetUsersUserIdResponse(w http.ResponseWriter) error
}
type GetUsersUserId200JSONResponse User
func (response GetUsersUserId200JSONResponse) VisitGetUsersUserIdResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetUsersUserId404Response struct {
}
func (response GetUsersUserId404Response) VisitGetUsersUserIdResponse(w http.ResponseWriter) error {
w.WriteHeader(404)
return nil
}
type PatchUsersUserIdRequestObject struct {
UserId string `json:"user_id"`
Body *PatchUsersUserIdJSONRequestBody
}
type PatchUsersUserIdResponseObject interface {
VisitPatchUsersUserIdResponse(w http.ResponseWriter) error
}
type PatchUsersUserId200JSONResponse struct {
Error *string `json:"error,omitempty"`
Success *bool `json:"success,omitempty"`
}
func (response PatchUsersUserId200JSONResponse) VisitPatchUsersUserIdResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetUsersUserIdReviewsRequestObject struct {
UserId string `json:"user_id"`
Params GetUsersUserIdReviewsParams
}
type GetUsersUserIdReviewsResponseObject interface {
VisitGetUsersUserIdReviewsResponse(w http.ResponseWriter) error
}
type GetUsersUserIdReviews200JSONResponse []Review
func (response GetUsersUserIdReviews200JSONResponse) VisitGetUsersUserIdReviewsResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type DeleteUsersUserIdTitlesRequestObject struct {
UserId string `json:"user_id"`
Params DeleteUsersUserIdTitlesParams
}
type DeleteUsersUserIdTitlesResponseObject interface {
VisitDeleteUsersUserIdTitlesResponse(w http.ResponseWriter) error
}
type DeleteUsersUserIdTitles200JSONResponse struct {
Error *string `json:"error,omitempty"`
Success *bool `json:"success,omitempty"`
}
func (response DeleteUsersUserIdTitles200JSONResponse) VisitDeleteUsersUserIdTitlesResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetUsersUserIdTitlesRequestObject struct {
UserId string `json:"user_id"`
Params GetUsersUserIdTitlesParams
}
type GetUsersUserIdTitlesResponseObject interface {
VisitGetUsersUserIdTitlesResponse(w http.ResponseWriter) error
}
type GetUsersUserIdTitles200JSONResponse []UserTitle
func (response GetUsersUserIdTitles200JSONResponse) VisitGetUsersUserIdTitlesResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type GetUsersUserIdTitles204Response struct {
}
func (response GetUsersUserIdTitles204Response) VisitGetUsersUserIdTitlesResponse(w http.ResponseWriter) error {
w.WriteHeader(204)
return nil
}
type PatchUsersUserIdTitlesRequestObject struct {
UserId string `json:"user_id"`
Body *PatchUsersUserIdTitlesJSONRequestBody
}
type PatchUsersUserIdTitlesResponseObject interface {
VisitPatchUsersUserIdTitlesResponse(w http.ResponseWriter) error
}
type PatchUsersUserIdTitles200JSONResponse struct {
Error *string `json:"error,omitempty"`
Success *bool `json:"success,omitempty"`
}
func (response PatchUsersUserIdTitles200JSONResponse) VisitPatchUsersUserIdTitlesResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
type PostUsersUserIdTitlesRequestObject struct {
UserId string `json:"user_id"`
Body *PostUsersUserIdTitlesJSONRequestBody
}
type PostUsersUserIdTitlesResponseObject interface {
VisitPostUsersUserIdTitlesResponse(w http.ResponseWriter) error
}
type PostUsersUserIdTitles200JSONResponse struct {
Error *string `json:"error,omitempty"`
Success *bool `json:"success,omitempty"`
}
func (response PostUsersUserIdTitles200JSONResponse) VisitPostUsersUserIdTitlesResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
return json.NewEncoder(w).Encode(response)
}
// StrictServerInterface represents all server handlers.
type StrictServerInterface interface {
// Get image path
// (GET /media)
GetMedia(ctx context.Context, request GetMediaRequestObject) (GetMediaResponseObject, error)
// Upload image
// (POST /media)
PostMedia(ctx context.Context, request PostMediaRequestObject) (PostMediaResponseObject, error)
// Add review
// (POST /reviews)
PostReviews(ctx context.Context, request PostReviewsRequestObject) (PostReviewsResponseObject, error)
// Delete review
// (DELETE /reviews/{review_id})
DeleteReviewsReviewId(ctx context.Context, request DeleteReviewsReviewIdRequestObject) (DeleteReviewsReviewIdResponseObject, error)
// Update review
// (PATCH /reviews/{review_id})
PatchReviewsReviewId(ctx context.Context, request PatchReviewsReviewIdRequestObject) (PatchReviewsReviewIdResponseObject, error)
// Get tags
// (GET /tags)
GetTags(ctx context.Context, request GetTagsRequestObject) (GetTagsResponseObject, error)
// Get titles
// (GET /title)
GetTitle(ctx context.Context, request GetTitleRequestObject) (GetTitleResponseObject, error)
// Get title description
// (GET /title/{title_id})
GetTitleTitleId(ctx context.Context, request GetTitleTitleIdRequestObject) (GetTitleTitleIdResponseObject, error)
// Update title info
// (PATCH /title/{title_id})
PatchTitleTitleId(ctx context.Context, request PatchTitleTitleIdRequestObject) (PatchTitleTitleIdResponseObject, error)
// Get title reviews
// (GET /title/{title_id}/reviews)
GetTitleTitleIdReviews(ctx context.Context, request GetTitleTitleIdReviewsRequestObject) (GetTitleTitleIdReviewsResponseObject, error)
// Search user
// (GET /users)
GetUsers(ctx context.Context, request GetUsersRequestObject) (GetUsersResponseObject, error)
// Add new user
// (POST /users)
PostUsers(ctx context.Context, request PostUsersRequestObject) (PostUsersResponseObject, error)
// Delete user
// (DELETE /users/{user_id})
DeleteUsersUserId(ctx context.Context, request DeleteUsersUserIdRequestObject) (DeleteUsersUserIdResponseObject, error)
// Get user info
// (GET /users/{user_id})
GetUsersUserId(ctx context.Context, request GetUsersUserIdRequestObject) (GetUsersUserIdResponseObject, error)
// Update user
// (PATCH /users/{user_id})
PatchUsersUserId(ctx context.Context, request PatchUsersUserIdRequestObject) (PatchUsersUserIdResponseObject, error)
// Get user reviews
// (GET /users/{user_id}/reviews)
GetUsersUserIdReviews(ctx context.Context, request GetUsersUserIdReviewsRequestObject) (GetUsersUserIdReviewsResponseObject, error)
// Delete user title
// (DELETE /users/{user_id}/titles)
DeleteUsersUserIdTitles(ctx context.Context, request DeleteUsersUserIdTitlesRequestObject) (DeleteUsersUserIdTitlesResponseObject, error)
// Get user titles
// (GET /users/{user_id}/titles)
GetUsersUserIdTitles(ctx context.Context, request GetUsersUserIdTitlesRequestObject) (GetUsersUserIdTitlesResponseObject, error)
// Update user title
// (PATCH /users/{user_id}/titles)
PatchUsersUserIdTitles(ctx context.Context, request PatchUsersUserIdTitlesRequestObject) (PatchUsersUserIdTitlesResponseObject, error)
// Add user title
// (POST /users/{user_id}/titles)
PostUsersUserIdTitles(ctx context.Context, request PostUsersUserIdTitlesRequestObject) (PostUsersUserIdTitlesResponseObject, error)
}
type StrictHandlerFunc = strictgin.StrictGinHandlerFunc
type StrictMiddlewareFunc = strictgin.StrictGinMiddlewareFunc
func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface {
return &strictHandler{ssi: ssi, middlewares: middlewares}
}
type strictHandler struct {
ssi StrictServerInterface
middlewares []StrictMiddlewareFunc
}
// GetMedia operation middleware
func (sh *strictHandler) GetMedia(ctx *gin.Context, params GetMediaParams) {
var request GetMediaRequestObject
request.Params = params
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.GetMedia(ctx, request.(GetMediaRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetMedia")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(GetMediaResponseObject); ok {
if err := validResponse.VisitGetMediaResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// PostMedia operation middleware
func (sh *strictHandler) PostMedia(ctx *gin.Context) {
var request PostMediaRequestObject
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.PostMedia(ctx, request.(PostMediaRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "PostMedia")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(PostMediaResponseObject); ok {
if err := validResponse.VisitPostMediaResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// PostReviews operation middleware
func (sh *strictHandler) PostReviews(ctx *gin.Context) {
var request PostReviewsRequestObject
var body PostReviewsJSONRequestBody
if err := ctx.ShouldBindJSON(&body); err != nil {
ctx.Status(http.StatusBadRequest)
ctx.Error(err)
return
}
request.Body = &body
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.PostReviews(ctx, request.(PostReviewsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "PostReviews")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(PostReviewsResponseObject); ok {
if err := validResponse.VisitPostReviewsResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// DeleteReviewsReviewId operation middleware
func (sh *strictHandler) DeleteReviewsReviewId(ctx *gin.Context, reviewId string) {
var request DeleteReviewsReviewIdRequestObject
request.ReviewId = reviewId
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.DeleteReviewsReviewId(ctx, request.(DeleteReviewsReviewIdRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "DeleteReviewsReviewId")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(DeleteReviewsReviewIdResponseObject); ok {
if err := validResponse.VisitDeleteReviewsReviewIdResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// PatchReviewsReviewId operation middleware
func (sh *strictHandler) PatchReviewsReviewId(ctx *gin.Context, reviewId string) {
var request PatchReviewsReviewIdRequestObject
request.ReviewId = reviewId
var body PatchReviewsReviewIdJSONRequestBody
if err := ctx.ShouldBindJSON(&body); err != nil {
ctx.Status(http.StatusBadRequest)
ctx.Error(err)
return
}
request.Body = &body
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.PatchReviewsReviewId(ctx, request.(PatchReviewsReviewIdRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "PatchReviewsReviewId")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(PatchReviewsReviewIdResponseObject); ok {
if err := validResponse.VisitPatchReviewsReviewIdResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// GetTags operation middleware
func (sh *strictHandler) GetTags(ctx *gin.Context, params GetTagsParams) {
var request GetTagsRequestObject
request.Params = params
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.GetTags(ctx, request.(GetTagsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetTags")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(GetTagsResponseObject); ok {
if err := validResponse.VisitGetTagsResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// GetTitle operation middleware
func (sh *strictHandler) GetTitle(ctx *gin.Context, params GetTitleParams) {
var request GetTitleRequestObject
request.Params = params
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.GetTitle(ctx, request.(GetTitleRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetTitle")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(GetTitleResponseObject); ok {
if err := validResponse.VisitGetTitleResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// GetTitleTitleId operation middleware
func (sh *strictHandler) GetTitleTitleId(ctx *gin.Context, titleId string, params GetTitleTitleIdParams) {
var request GetTitleTitleIdRequestObject
request.TitleId = titleId
request.Params = params
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.GetTitleTitleId(ctx, request.(GetTitleTitleIdRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetTitleTitleId")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(GetTitleTitleIdResponseObject); ok {
if err := validResponse.VisitGetTitleTitleIdResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// PatchTitleTitleId operation middleware
func (sh *strictHandler) PatchTitleTitleId(ctx *gin.Context, titleId string) {
var request PatchTitleTitleIdRequestObject
request.TitleId = titleId
var body PatchTitleTitleIdJSONRequestBody
if err := ctx.ShouldBindJSON(&body); err != nil {
ctx.Status(http.StatusBadRequest)
ctx.Error(err)
return
}
request.Body = &body
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.PatchTitleTitleId(ctx, request.(PatchTitleTitleIdRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "PatchTitleTitleId")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(PatchTitleTitleIdResponseObject); ok {
if err := validResponse.VisitPatchTitleTitleIdResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// GetTitleTitleIdReviews operation middleware
func (sh *strictHandler) GetTitleTitleIdReviews(ctx *gin.Context, titleId string, params GetTitleTitleIdReviewsParams) {
var request GetTitleTitleIdReviewsRequestObject
request.TitleId = titleId
request.Params = params
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.GetTitleTitleIdReviews(ctx, request.(GetTitleTitleIdReviewsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetTitleTitleIdReviews")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(GetTitleTitleIdReviewsResponseObject); ok {
if err := validResponse.VisitGetTitleTitleIdReviewsResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// GetUsers operation middleware
func (sh *strictHandler) GetUsers(ctx *gin.Context, params GetUsersParams) {
var request GetUsersRequestObject
request.Params = params
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.GetUsers(ctx, request.(GetUsersRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetUsers")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(GetUsersResponseObject); ok {
if err := validResponse.VisitGetUsersResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// PostUsers operation middleware
func (sh *strictHandler) PostUsers(ctx *gin.Context) {
var request PostUsersRequestObject
var body PostUsersJSONRequestBody
if err := ctx.ShouldBindJSON(&body); err != nil {
ctx.Status(http.StatusBadRequest)
ctx.Error(err)
return
}
request.Body = &body
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.PostUsers(ctx, request.(PostUsersRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "PostUsers")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(PostUsersResponseObject); ok {
if err := validResponse.VisitPostUsersResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// DeleteUsersUserId operation middleware
func (sh *strictHandler) DeleteUsersUserId(ctx *gin.Context, userId string) {
var request DeleteUsersUserIdRequestObject
request.UserId = userId
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.DeleteUsersUserId(ctx, request.(DeleteUsersUserIdRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "DeleteUsersUserId")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(DeleteUsersUserIdResponseObject); ok {
if err := validResponse.VisitDeleteUsersUserIdResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// GetUsersUserId operation middleware
func (sh *strictHandler) GetUsersUserId(ctx *gin.Context, userId string, params GetUsersUserIdParams) {
var request GetUsersUserIdRequestObject
request.UserId = userId
request.Params = params
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.GetUsersUserId(ctx, request.(GetUsersUserIdRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetUsersUserId")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(GetUsersUserIdResponseObject); ok {
if err := validResponse.VisitGetUsersUserIdResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// PatchUsersUserId operation middleware
func (sh *strictHandler) PatchUsersUserId(ctx *gin.Context, userId string) {
var request PatchUsersUserIdRequestObject
request.UserId = userId
var body PatchUsersUserIdJSONRequestBody
if err := ctx.ShouldBindJSON(&body); err != nil {
ctx.Status(http.StatusBadRequest)
ctx.Error(err)
return
}
request.Body = &body
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.PatchUsersUserId(ctx, request.(PatchUsersUserIdRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "PatchUsersUserId")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(PatchUsersUserIdResponseObject); ok {
if err := validResponse.VisitPatchUsersUserIdResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// GetUsersUserIdReviews operation middleware
func (sh *strictHandler) GetUsersUserIdReviews(ctx *gin.Context, userId string, params GetUsersUserIdReviewsParams) {
var request GetUsersUserIdReviewsRequestObject
request.UserId = userId
request.Params = params
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.GetUsersUserIdReviews(ctx, request.(GetUsersUserIdReviewsRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetUsersUserIdReviews")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(GetUsersUserIdReviewsResponseObject); ok {
if err := validResponse.VisitGetUsersUserIdReviewsResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// DeleteUsersUserIdTitles operation middleware
func (sh *strictHandler) DeleteUsersUserIdTitles(ctx *gin.Context, userId string, params DeleteUsersUserIdTitlesParams) {
var request DeleteUsersUserIdTitlesRequestObject
request.UserId = userId
request.Params = params
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.DeleteUsersUserIdTitles(ctx, request.(DeleteUsersUserIdTitlesRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "DeleteUsersUserIdTitles")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(DeleteUsersUserIdTitlesResponseObject); ok {
if err := validResponse.VisitDeleteUsersUserIdTitlesResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// GetUsersUserIdTitles operation middleware
func (sh *strictHandler) GetUsersUserIdTitles(ctx *gin.Context, userId string, params GetUsersUserIdTitlesParams) {
var request GetUsersUserIdTitlesRequestObject
request.UserId = userId
request.Params = params
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.GetUsersUserIdTitles(ctx, request.(GetUsersUserIdTitlesRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "GetUsersUserIdTitles")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(GetUsersUserIdTitlesResponseObject); ok {
if err := validResponse.VisitGetUsersUserIdTitlesResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// PatchUsersUserIdTitles operation middleware
func (sh *strictHandler) PatchUsersUserIdTitles(ctx *gin.Context, userId string) {
var request PatchUsersUserIdTitlesRequestObject
request.UserId = userId
var body PatchUsersUserIdTitlesJSONRequestBody
if err := ctx.ShouldBindJSON(&body); err != nil {
ctx.Status(http.StatusBadRequest)
ctx.Error(err)
return
}
request.Body = &body
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.PatchUsersUserIdTitles(ctx, request.(PatchUsersUserIdTitlesRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "PatchUsersUserIdTitles")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(PatchUsersUserIdTitlesResponseObject); ok {
if err := validResponse.VisitPatchUsersUserIdTitlesResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}
// PostUsersUserIdTitles operation middleware
func (sh *strictHandler) PostUsersUserIdTitles(ctx *gin.Context, userId string) {
var request PostUsersUserIdTitlesRequestObject
request.UserId = userId
var body PostUsersUserIdTitlesJSONRequestBody
if err := ctx.ShouldBindJSON(&body); err != nil {
ctx.Status(http.StatusBadRequest)
ctx.Error(err)
return
}
request.Body = &body
handler := func(ctx *gin.Context, request interface{}) (interface{}, error) {
return sh.ssi.PostUsersUserIdTitles(ctx, request.(PostUsersUserIdTitlesRequestObject))
}
for _, middleware := range sh.middlewares {
handler = middleware(handler, "PostUsersUserIdTitles")
}
response, err := handler(ctx, request)
if err != nil {
ctx.Error(err)
ctx.Status(http.StatusInternalServerError)
} else if validResponse, ok := response.(PostUsersUserIdTitlesResponseObject); ok {
if err := validResponse.VisitPostUsersUserIdTitlesResponse(ctx.Writer); err != nil {
ctx.Error(err)
}
} else if response != nil {
ctx.Error(fmt.Errorf("unexpected response type: %T", response))
}
}