2449 lines
95 KiB
Go
2449 lines
95 KiB
Go
// Package server provides primitives to interact with the openapi HTTP API.
|
|
//
|
|
// Code generated by github.com/deepmap/oapi-codegen/v2 version v2.2.0 DO NOT EDIT.
|
|
package server
|
|
|
|
import (
|
|
"bytes"
|
|
"compress/gzip"
|
|
"context"
|
|
"encoding/base64"
|
|
"fmt"
|
|
"net/url"
|
|
"path"
|
|
"strings"
|
|
|
|
"github.com/getkin/kin-openapi/openapi3"
|
|
"github.com/gofiber/fiber/v2"
|
|
"github.com/oapi-codegen/runtime"
|
|
openapi_types "github.com/oapi-codegen/runtime/types"
|
|
"gitlab.mareshq.com/hq/yggdrasil/internal/money"
|
|
"gitlab.mareshq.com/hq/yggdrasil/pkg/training"
|
|
)
|
|
|
|
// Defines values for TrainingPriceType.
|
|
const (
|
|
CORPORATE TrainingPriceType = "CORPORATE"
|
|
OPEN TrainingPriceType = "OPEN"
|
|
)
|
|
|
|
// CreateTrainingDateAttendeeRequest defines model for CreateTrainingDateAttendeeRequest.
|
|
type CreateTrainingDateAttendeeRequest = NewTrainingDateAttendee
|
|
|
|
// CreateTrainingDateAttendeeResponse defines model for CreateTrainingDateAttendeeResponse.
|
|
type CreateTrainingDateAttendeeResponse = TrainingDateAttendee
|
|
|
|
// CreateTrainingDateRequest defines model for CreateTrainingDateRequest.
|
|
type CreateTrainingDateRequest = NewTrainingDate
|
|
|
|
// CreateTrainingDateResponse defines model for CreateTrainingDateResponse.
|
|
type CreateTrainingDateResponse = TrainingDate
|
|
|
|
// CreateTrainingRequest defines model for CreateTrainingRequest.
|
|
type CreateTrainingRequest = NewTraining
|
|
|
|
// CreateTrainingResponse defines model for CreateTrainingResponse.
|
|
type CreateTrainingResponse = Training
|
|
|
|
// GetTrainingDateAttendeeCountResponse defines model for GetTrainingDateAttendeeCountResponse.
|
|
type GetTrainingDateAttendeeCountResponse struct {
|
|
Count int8 `json:"count"`
|
|
}
|
|
|
|
// GetTrainingDateAttendeeResponse defines model for GetTrainingDateAttendeeResponse.
|
|
type GetTrainingDateAttendeeResponse = TrainingDateAttendee
|
|
|
|
// GetTrainingDateResponse defines model for GetTrainingDateResponse.
|
|
type GetTrainingDateResponse = TrainingDate
|
|
|
|
// GetTrainingResponse defines model for GetTrainingResponse.
|
|
type GetTrainingResponse = Training
|
|
|
|
// ListAllUpcomingTrainingDatesResponse defines model for ListAllUpcomingTrainingDatesResponse.
|
|
type ListAllUpcomingTrainingDatesResponse = []struct {
|
|
Dates []TrainingDate `json:"dates"`
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
}
|
|
|
|
// ListTrainingDateAttendeesResponse defines model for ListTrainingDateAttendeesResponse.
|
|
type ListTrainingDateAttendeesResponse = []TrainingDateAttendee
|
|
|
|
// ListTrainingDatesResponse defines model for ListTrainingDatesResponse.
|
|
type ListTrainingDatesResponse = []TrainingDate
|
|
|
|
// ListTrainingUpcomingDatesResponse defines model for ListTrainingUpcomingDatesResponse.
|
|
type ListTrainingUpcomingDatesResponse = []TrainingDate
|
|
|
|
// ListTrainingsResponse defines model for ListTrainingsResponse.
|
|
type ListTrainingsResponse = []Training
|
|
|
|
// NewTraining defines model for NewTraining.
|
|
type NewTraining struct {
|
|
Days int8 `json:"days"`
|
|
Description string `json:"description"`
|
|
Name string `json:"name"`
|
|
Pricing []TrainingPrice `json:"pricing"`
|
|
}
|
|
|
|
// NewTrainingDate defines model for NewTrainingDate.
|
|
type NewTrainingDate struct {
|
|
Address string `json:"address"`
|
|
Capacity int8 `json:"capacity"`
|
|
Date openapi_types.Date `json:"date"`
|
|
Days int8 `json:"days"`
|
|
IsOnline bool `json:"isOnline"`
|
|
Location string `json:"location"`
|
|
Price Price `json:"price"`
|
|
StartTime string `json:"startTime"`
|
|
}
|
|
|
|
// NewTrainingDateAttendee defines model for NewTrainingDateAttendee.
|
|
type NewTrainingDateAttendee struct {
|
|
Company string `json:"company"`
|
|
Email openapi_types.Email `json:"email"`
|
|
IsStudent *bool `json:"isStudent,omitempty"`
|
|
Name string `json:"name"`
|
|
Phone string `json:"phone"`
|
|
Position string `json:"position"`
|
|
}
|
|
|
|
// Price defines model for Price.
|
|
type Price struct {
|
|
Amount string `json:"amount"`
|
|
Currency money.Currency `json:"currency"`
|
|
}
|
|
|
|
// ProblemDetails Schema that carries the details of an error in an HTTP response. See https://datatracker.ietf.org/doc/html/rfc7807 for more information.
|
|
type ProblemDetails struct {
|
|
// Detail A human-readable explanation specific to this occurrence of the problem.
|
|
Detail string `json:"detail"`
|
|
|
|
// Instance A URI reference that identifies the specific occurrence of the problem.
|
|
Instance string `json:"instance"`
|
|
|
|
// Status The HTTP status code generated by the origin server for this occurrence of the problem.
|
|
Status int `json:"status"`
|
|
|
|
// Title A human-readable summary of the problem type.
|
|
Title string `json:"title"`
|
|
|
|
// Type A URI reference that identifies the problem type.
|
|
Type string `json:"type"`
|
|
}
|
|
|
|
// Training defines model for Training.
|
|
type Training struct {
|
|
Days int8 `json:"days"`
|
|
Description string `json:"description"`
|
|
Id TrainingID `json:"id"`
|
|
Name string `json:"name"`
|
|
Pricing []TrainingPrice `json:"pricing"`
|
|
}
|
|
|
|
// TrainingDate defines model for TrainingDate.
|
|
type TrainingDate struct {
|
|
Address string `json:"address"`
|
|
Capacity int8 `json:"capacity"`
|
|
Date openapi_types.Date `json:"date"`
|
|
Days int8 `json:"days"`
|
|
Id TrainingDateID `json:"id"`
|
|
IsOnline bool `json:"isOnline"`
|
|
Location string `json:"location"`
|
|
Price Price `json:"price"`
|
|
StartTime string `json:"startTime"`
|
|
}
|
|
|
|
// TrainingDateAttendee defines model for TrainingDateAttendee.
|
|
type TrainingDateAttendee struct {
|
|
Bill Price `json:"bill"`
|
|
Company string `json:"company"`
|
|
Email openapi_types.Email `json:"email"`
|
|
HasAttended bool `json:"hasAttended"`
|
|
HasPaid bool `json:"hasPaid"`
|
|
Id TrainingDateAttendeeID `json:"id"`
|
|
IsStudent *bool `json:"isStudent,omitempty"`
|
|
Name string `json:"name"`
|
|
Phone string `json:"phone"`
|
|
Position string `json:"position"`
|
|
}
|
|
|
|
// TrainingDateAttendeeAttendanceUpdateRequest defines model for TrainingDateAttendeeAttendanceUpdateRequest.
|
|
type TrainingDateAttendeeAttendanceUpdateRequest struct {
|
|
Attended bool `json:"attended"`
|
|
}
|
|
|
|
// TrainingDateAttendeeID defines model for TrainingDateAttendeeID.
|
|
type TrainingDateAttendeeID = training.TrainingDateAttendeeID
|
|
|
|
// TrainingDateAttendeePaymentUpdateRequest defines model for TrainingDateAttendeePaymentUpdateRequest.
|
|
type TrainingDateAttendeePaymentUpdateRequest struct {
|
|
Paid bool `json:"paid"`
|
|
}
|
|
|
|
// TrainingDateID defines model for TrainingDateID.
|
|
type TrainingDateID = training.TrainingDateID
|
|
|
|
// TrainingID defines model for TrainingID.
|
|
type TrainingID = training.TrainingID
|
|
|
|
// TrainingPrice defines model for TrainingPrice.
|
|
type TrainingPrice struct {
|
|
Amount string `json:"amount"`
|
|
Currency money.Currency `json:"currency"`
|
|
Type TrainingPriceType `json:"type"`
|
|
}
|
|
|
|
// TrainingPriceType defines model for TrainingPrice.Type.
|
|
type TrainingPriceType string
|
|
|
|
// UpdateTrainingDateAttendeeRequest defines model for UpdateTrainingDateAttendeeRequest.
|
|
type UpdateTrainingDateAttendeeRequest = NewTrainingDateAttendee
|
|
|
|
// UpdateTrainingDateAttendeeResponse defines model for UpdateTrainingDateAttendeeResponse.
|
|
type UpdateTrainingDateAttendeeResponse = TrainingDateAttendee
|
|
|
|
// UpdateTrainingDateRequest defines model for UpdateTrainingDateRequest.
|
|
type UpdateTrainingDateRequest = NewTrainingDate
|
|
|
|
// UpdateTrainingDateResponse defines model for UpdateTrainingDateResponse.
|
|
type UpdateTrainingDateResponse = TrainingDate
|
|
|
|
// UpdateTrainingRequest defines model for UpdateTrainingRequest.
|
|
type UpdateTrainingRequest = NewTraining
|
|
|
|
// UpdateTrainingResponse defines model for UpdateTrainingResponse.
|
|
type UpdateTrainingResponse = Training
|
|
|
|
// InternalError Schema that carries the details of an error in an HTTP response. See https://datatracker.ietf.org/doc/html/rfc7807 for more information.
|
|
type InternalError = ProblemDetails
|
|
|
|
// InvalidInputError Schema that carries the details of an error in an HTTP response. See https://datatracker.ietf.org/doc/html/rfc7807 for more information.
|
|
type InvalidInputError = ProblemDetails
|
|
|
|
// NotFoundError Schema that carries the details of an error in an HTTP response. See https://datatracker.ietf.org/doc/html/rfc7807 for more information.
|
|
type NotFoundError = ProblemDetails
|
|
|
|
// CreateTrainingJSONRequestBody defines body for CreateTraining for application/json ContentType.
|
|
type CreateTrainingJSONRequestBody = CreateTrainingRequest
|
|
|
|
// UpdateTrainingJSONRequestBody defines body for UpdateTraining for application/json ContentType.
|
|
type UpdateTrainingJSONRequestBody = UpdateTrainingRequest
|
|
|
|
// CreateTrainingDateJSONRequestBody defines body for CreateTrainingDate for application/json ContentType.
|
|
type CreateTrainingDateJSONRequestBody = CreateTrainingDateRequest
|
|
|
|
// UpdateTrainingDateJSONRequestBody defines body for UpdateTrainingDate for application/json ContentType.
|
|
type UpdateTrainingDateJSONRequestBody = UpdateTrainingDateRequest
|
|
|
|
// CreateTrainingDateAttendeeJSONRequestBody defines body for CreateTrainingDateAttendee for application/json ContentType.
|
|
type CreateTrainingDateAttendeeJSONRequestBody = CreateTrainingDateAttendeeRequest
|
|
|
|
// UpdateTrainingDateAttendeeJSONRequestBody defines body for UpdateTrainingDateAttendee for application/json ContentType.
|
|
type UpdateTrainingDateAttendeeJSONRequestBody = UpdateTrainingDateAttendeeRequest
|
|
|
|
// UpdateTrainingDateAttendeeAttendanceJSONRequestBody defines body for UpdateTrainingDateAttendeeAttendance for application/json ContentType.
|
|
type UpdateTrainingDateAttendeeAttendanceJSONRequestBody = TrainingDateAttendeeAttendanceUpdateRequest
|
|
|
|
// UpdateTrainingDateAttendeePaymentJSONRequestBody defines body for UpdateTrainingDateAttendeePayment for application/json ContentType.
|
|
type UpdateTrainingDateAttendeePaymentJSONRequestBody = TrainingDateAttendeePaymentUpdateRequest
|
|
|
|
// ServerInterface represents all server handlers.
|
|
type ServerInterface interface {
|
|
// List all trainings
|
|
// (GET /v1/trainings)
|
|
ListTrainings(c *fiber.Ctx) error
|
|
// Create a new training
|
|
// (POST /v1/trainings)
|
|
CreateTraining(c *fiber.Ctx) error
|
|
// List all upcoming dates of all trainings
|
|
// (GET /v1/trainings/upcoming-dates)
|
|
ListAllUpcomingTrainingDates(c *fiber.Ctx) error
|
|
// Delete a training by ID
|
|
// (DELETE /v1/trainings/{trainingID})
|
|
DeleteTraining(c *fiber.Ctx, trainingID TrainingID) error
|
|
// Get a training by ID
|
|
// (GET /v1/trainings/{trainingID})
|
|
GetTraining(c *fiber.Ctx, trainingID TrainingID) error
|
|
// Update a training by ID
|
|
// (PUT /v1/trainings/{trainingID})
|
|
UpdateTraining(c *fiber.Ctx, trainingID TrainingID) error
|
|
// List all dates of a training
|
|
// (GET /v1/trainings/{trainingID}/dates)
|
|
ListTrainingDates(c *fiber.Ctx, trainingID TrainingID) error
|
|
// Create a new training date
|
|
// (POST /v1/trainings/{trainingID}/dates)
|
|
CreateTrainingDate(c *fiber.Ctx, trainingID TrainingID) error
|
|
// Delete a training date by ID
|
|
// (DELETE /v1/trainings/{trainingID}/dates/{trainingDateID})
|
|
DeleteTrainingDate(c *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID) error
|
|
// Get a training date by ID
|
|
// (GET /v1/trainings/{trainingID}/dates/{trainingDateID})
|
|
GetTrainingDate(c *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID) error
|
|
// Update a training date by ID
|
|
// (PUT /v1/trainings/{trainingID}/dates/{trainingDateID})
|
|
UpdateTrainingDate(c *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID) error
|
|
// List all attendees of a training date
|
|
// (GET /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees)
|
|
ListTrainingDateAttendees(c *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID) error
|
|
// Create a new training date attendee
|
|
// (POST /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees)
|
|
CreateTrainingDateAttendee(c *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID) error
|
|
// Get a training date attendee count
|
|
// (GET /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees/count)
|
|
GetTrainingDateAttendeeCount(c *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID) error
|
|
// Delete a training date attendee by ID
|
|
// (DELETE /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees/{trainingDateAttendeeID})
|
|
DeleteTrainingDateAttendee(c *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID, trainingDateAttendeeID TrainingDateAttendeeID) error
|
|
// Get a training date attendee by ID
|
|
// (GET /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees/{trainingDateAttendeeID})
|
|
GetTrainingDateAttendee(c *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID, trainingDateAttendeeID TrainingDateAttendeeID) error
|
|
// Update a training date attendee by ID
|
|
// (PUT /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees/{trainingDateAttendeeID})
|
|
UpdateTrainingDateAttendee(c *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID, trainingDateAttendeeID TrainingDateAttendeeID) error
|
|
// Update status of a training date attendee attendance
|
|
// (PUT /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees/{trainingDateAttendeeID}/attended)
|
|
UpdateTrainingDateAttendeeAttendance(c *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID, trainingDateAttendeeID TrainingDateAttendeeID) error
|
|
// Update status of a training date attendee payment
|
|
// (PUT /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees/{trainingDateAttendeeID}/paid)
|
|
UpdateTrainingDateAttendeePayment(c *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID, trainingDateAttendeeID TrainingDateAttendeeID) error
|
|
// List upcoming dates of a training
|
|
// (GET /v1/trainings/{trainingID}/upcoming-dates)
|
|
ListTrainingUpcomingDates(c *fiber.Ctx, trainingID TrainingID) error
|
|
}
|
|
|
|
// ServerInterfaceWrapper converts contexts to parameters.
|
|
type ServerInterfaceWrapper struct {
|
|
Handler ServerInterface
|
|
}
|
|
|
|
type MiddlewareFunc fiber.Handler
|
|
|
|
// ListTrainings operation middleware
|
|
func (siw *ServerInterfaceWrapper) ListTrainings(c *fiber.Ctx) error {
|
|
|
|
return siw.Handler.ListTrainings(c)
|
|
}
|
|
|
|
// CreateTraining operation middleware
|
|
func (siw *ServerInterfaceWrapper) CreateTraining(c *fiber.Ctx) error {
|
|
|
|
return siw.Handler.CreateTraining(c)
|
|
}
|
|
|
|
// ListAllUpcomingTrainingDates operation middleware
|
|
func (siw *ServerInterfaceWrapper) ListAllUpcomingTrainingDates(c *fiber.Ctx) error {
|
|
|
|
return siw.Handler.ListAllUpcomingTrainingDates(c)
|
|
}
|
|
|
|
// DeleteTraining operation middleware
|
|
func (siw *ServerInterfaceWrapper) DeleteTraining(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.DeleteTraining(c, trainingID)
|
|
}
|
|
|
|
// GetTraining operation middleware
|
|
func (siw *ServerInterfaceWrapper) GetTraining(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.GetTraining(c, trainingID)
|
|
}
|
|
|
|
// UpdateTraining operation middleware
|
|
func (siw *ServerInterfaceWrapper) UpdateTraining(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.UpdateTraining(c, trainingID)
|
|
}
|
|
|
|
// ListTrainingDates operation middleware
|
|
func (siw *ServerInterfaceWrapper) ListTrainingDates(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.ListTrainingDates(c, trainingID)
|
|
}
|
|
|
|
// CreateTrainingDate operation middleware
|
|
func (siw *ServerInterfaceWrapper) CreateTrainingDate(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.CreateTrainingDate(c, trainingID)
|
|
}
|
|
|
|
// DeleteTrainingDate operation middleware
|
|
func (siw *ServerInterfaceWrapper) DeleteTrainingDate(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateID" -------------
|
|
var trainingDateID TrainingDateID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateID", c.Params("trainingDateID"), &trainingDateID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.DeleteTrainingDate(c, trainingID, trainingDateID)
|
|
}
|
|
|
|
// GetTrainingDate operation middleware
|
|
func (siw *ServerInterfaceWrapper) GetTrainingDate(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateID" -------------
|
|
var trainingDateID TrainingDateID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateID", c.Params("trainingDateID"), &trainingDateID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.GetTrainingDate(c, trainingID, trainingDateID)
|
|
}
|
|
|
|
// UpdateTrainingDate operation middleware
|
|
func (siw *ServerInterfaceWrapper) UpdateTrainingDate(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateID" -------------
|
|
var trainingDateID TrainingDateID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateID", c.Params("trainingDateID"), &trainingDateID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.UpdateTrainingDate(c, trainingID, trainingDateID)
|
|
}
|
|
|
|
// ListTrainingDateAttendees operation middleware
|
|
func (siw *ServerInterfaceWrapper) ListTrainingDateAttendees(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateID" -------------
|
|
var trainingDateID TrainingDateID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateID", c.Params("trainingDateID"), &trainingDateID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.ListTrainingDateAttendees(c, trainingID, trainingDateID)
|
|
}
|
|
|
|
// CreateTrainingDateAttendee operation middleware
|
|
func (siw *ServerInterfaceWrapper) CreateTrainingDateAttendee(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateID" -------------
|
|
var trainingDateID TrainingDateID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateID", c.Params("trainingDateID"), &trainingDateID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.CreateTrainingDateAttendee(c, trainingID, trainingDateID)
|
|
}
|
|
|
|
// GetTrainingDateAttendeeCount operation middleware
|
|
func (siw *ServerInterfaceWrapper) GetTrainingDateAttendeeCount(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateID" -------------
|
|
var trainingDateID TrainingDateID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateID", c.Params("trainingDateID"), &trainingDateID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.GetTrainingDateAttendeeCount(c, trainingID, trainingDateID)
|
|
}
|
|
|
|
// DeleteTrainingDateAttendee operation middleware
|
|
func (siw *ServerInterfaceWrapper) DeleteTrainingDateAttendee(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateID" -------------
|
|
var trainingDateID TrainingDateID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateID", c.Params("trainingDateID"), &trainingDateID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateAttendeeID" -------------
|
|
var trainingDateAttendeeID TrainingDateAttendeeID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateAttendeeID", c.Params("trainingDateAttendeeID"), &trainingDateAttendeeID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateAttendeeID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.DeleteTrainingDateAttendee(c, trainingID, trainingDateID, trainingDateAttendeeID)
|
|
}
|
|
|
|
// GetTrainingDateAttendee operation middleware
|
|
func (siw *ServerInterfaceWrapper) GetTrainingDateAttendee(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateID" -------------
|
|
var trainingDateID TrainingDateID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateID", c.Params("trainingDateID"), &trainingDateID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateAttendeeID" -------------
|
|
var trainingDateAttendeeID TrainingDateAttendeeID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateAttendeeID", c.Params("trainingDateAttendeeID"), &trainingDateAttendeeID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateAttendeeID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.GetTrainingDateAttendee(c, trainingID, trainingDateID, trainingDateAttendeeID)
|
|
}
|
|
|
|
// UpdateTrainingDateAttendee operation middleware
|
|
func (siw *ServerInterfaceWrapper) UpdateTrainingDateAttendee(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateID" -------------
|
|
var trainingDateID TrainingDateID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateID", c.Params("trainingDateID"), &trainingDateID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateAttendeeID" -------------
|
|
var trainingDateAttendeeID TrainingDateAttendeeID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateAttendeeID", c.Params("trainingDateAttendeeID"), &trainingDateAttendeeID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateAttendeeID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.UpdateTrainingDateAttendee(c, trainingID, trainingDateID, trainingDateAttendeeID)
|
|
}
|
|
|
|
// UpdateTrainingDateAttendeeAttendance operation middleware
|
|
func (siw *ServerInterfaceWrapper) UpdateTrainingDateAttendeeAttendance(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateID" -------------
|
|
var trainingDateID TrainingDateID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateID", c.Params("trainingDateID"), &trainingDateID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateAttendeeID" -------------
|
|
var trainingDateAttendeeID TrainingDateAttendeeID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateAttendeeID", c.Params("trainingDateAttendeeID"), &trainingDateAttendeeID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateAttendeeID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.UpdateTrainingDateAttendeeAttendance(c, trainingID, trainingDateID, trainingDateAttendeeID)
|
|
}
|
|
|
|
// UpdateTrainingDateAttendeePayment operation middleware
|
|
func (siw *ServerInterfaceWrapper) UpdateTrainingDateAttendeePayment(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateID" -------------
|
|
var trainingDateID TrainingDateID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateID", c.Params("trainingDateID"), &trainingDateID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateID: %w", err).Error())
|
|
}
|
|
|
|
// ------------- Path parameter "trainingDateAttendeeID" -------------
|
|
var trainingDateAttendeeID TrainingDateAttendeeID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingDateAttendeeID", c.Params("trainingDateAttendeeID"), &trainingDateAttendeeID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingDateAttendeeID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.UpdateTrainingDateAttendeePayment(c, trainingID, trainingDateID, trainingDateAttendeeID)
|
|
}
|
|
|
|
// ListTrainingUpcomingDates operation middleware
|
|
func (siw *ServerInterfaceWrapper) ListTrainingUpcomingDates(c *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
// ------------- Path parameter "trainingID" -------------
|
|
var trainingID TrainingID
|
|
|
|
err = runtime.BindStyledParameterWithOptions("simple", "trainingID", c.Params("trainingID"), &trainingID, runtime.BindStyledParameterOptions{Explode: false, Required: true})
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, fmt.Errorf("Invalid format for parameter trainingID: %w", err).Error())
|
|
}
|
|
|
|
return siw.Handler.ListTrainingUpcomingDates(c, trainingID)
|
|
}
|
|
|
|
// FiberServerOptions provides options for the Fiber server.
|
|
type FiberServerOptions struct {
|
|
BaseURL string
|
|
Middlewares []MiddlewareFunc
|
|
}
|
|
|
|
// RegisterHandlers creates http.Handler with routing matching OpenAPI spec.
|
|
func RegisterHandlers(router fiber.Router, si ServerInterface) {
|
|
RegisterHandlersWithOptions(router, si, FiberServerOptions{})
|
|
}
|
|
|
|
// RegisterHandlersWithOptions creates http.Handler with additional options
|
|
func RegisterHandlersWithOptions(router fiber.Router, si ServerInterface, options FiberServerOptions) {
|
|
wrapper := ServerInterfaceWrapper{
|
|
Handler: si,
|
|
}
|
|
|
|
for _, m := range options.Middlewares {
|
|
router.Use(fiber.Handler(m))
|
|
}
|
|
|
|
router.Get(options.BaseURL+"/v1/trainings", wrapper.ListTrainings)
|
|
|
|
router.Post(options.BaseURL+"/v1/trainings", wrapper.CreateTraining)
|
|
|
|
router.Get(options.BaseURL+"/v1/trainings/upcoming-dates", wrapper.ListAllUpcomingTrainingDates)
|
|
|
|
router.Delete(options.BaseURL+"/v1/trainings/:trainingID", wrapper.DeleteTraining)
|
|
|
|
router.Get(options.BaseURL+"/v1/trainings/:trainingID", wrapper.GetTraining)
|
|
|
|
router.Put(options.BaseURL+"/v1/trainings/:trainingID", wrapper.UpdateTraining)
|
|
|
|
router.Get(options.BaseURL+"/v1/trainings/:trainingID/dates", wrapper.ListTrainingDates)
|
|
|
|
router.Post(options.BaseURL+"/v1/trainings/:trainingID/dates", wrapper.CreateTrainingDate)
|
|
|
|
router.Delete(options.BaseURL+"/v1/trainings/:trainingID/dates/:trainingDateID", wrapper.DeleteTrainingDate)
|
|
|
|
router.Get(options.BaseURL+"/v1/trainings/:trainingID/dates/:trainingDateID", wrapper.GetTrainingDate)
|
|
|
|
router.Put(options.BaseURL+"/v1/trainings/:trainingID/dates/:trainingDateID", wrapper.UpdateTrainingDate)
|
|
|
|
router.Get(options.BaseURL+"/v1/trainings/:trainingID/dates/:trainingDateID/attendees", wrapper.ListTrainingDateAttendees)
|
|
|
|
router.Post(options.BaseURL+"/v1/trainings/:trainingID/dates/:trainingDateID/attendees", wrapper.CreateTrainingDateAttendee)
|
|
|
|
router.Get(options.BaseURL+"/v1/trainings/:trainingID/dates/:trainingDateID/attendees/count", wrapper.GetTrainingDateAttendeeCount)
|
|
|
|
router.Delete(options.BaseURL+"/v1/trainings/:trainingID/dates/:trainingDateID/attendees/:trainingDateAttendeeID", wrapper.DeleteTrainingDateAttendee)
|
|
|
|
router.Get(options.BaseURL+"/v1/trainings/:trainingID/dates/:trainingDateID/attendees/:trainingDateAttendeeID", wrapper.GetTrainingDateAttendee)
|
|
|
|
router.Put(options.BaseURL+"/v1/trainings/:trainingID/dates/:trainingDateID/attendees/:trainingDateAttendeeID", wrapper.UpdateTrainingDateAttendee)
|
|
|
|
router.Put(options.BaseURL+"/v1/trainings/:trainingID/dates/:trainingDateID/attendees/:trainingDateAttendeeID/attended", wrapper.UpdateTrainingDateAttendeeAttendance)
|
|
|
|
router.Put(options.BaseURL+"/v1/trainings/:trainingID/dates/:trainingDateID/attendees/:trainingDateAttendeeID/paid", wrapper.UpdateTrainingDateAttendeePayment)
|
|
|
|
router.Get(options.BaseURL+"/v1/trainings/:trainingID/upcoming-dates", wrapper.ListTrainingUpcomingDates)
|
|
|
|
}
|
|
|
|
type InternalErrorApplicationProblemPlusJSONResponse ProblemDetails
|
|
|
|
type InvalidInputErrorApplicationProblemPlusJSONResponse ProblemDetails
|
|
|
|
type NotFoundErrorApplicationProblemPlusJSONResponse ProblemDetails
|
|
|
|
type ListTrainingsRequestObject struct {
|
|
}
|
|
|
|
type ListTrainingsResponseObject interface {
|
|
VisitListTrainingsResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type ListTrainings200JSONResponse ListTrainingsResponse
|
|
|
|
func (response ListTrainings200JSONResponse) VisitListTrainingsResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(200)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type ListTrainings500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response ListTrainings500ApplicationProblemPlusJSONResponse) VisitListTrainingsResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type CreateTrainingRequestObject struct {
|
|
Body *CreateTrainingJSONRequestBody
|
|
}
|
|
|
|
type CreateTrainingResponseObject interface {
|
|
VisitCreateTrainingResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type CreateTraining201JSONResponse CreateTrainingResponse
|
|
|
|
func (response CreateTraining201JSONResponse) VisitCreateTrainingResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(201)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type CreateTraining400ApplicationProblemPlusJSONResponse struct {
|
|
InvalidInputErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response CreateTraining400ApplicationProblemPlusJSONResponse) VisitCreateTrainingResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(400)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type CreateTraining500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response CreateTraining500ApplicationProblemPlusJSONResponse) VisitCreateTrainingResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type ListAllUpcomingTrainingDatesRequestObject struct {
|
|
}
|
|
|
|
type ListAllUpcomingTrainingDatesResponseObject interface {
|
|
VisitListAllUpcomingTrainingDatesResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type ListAllUpcomingTrainingDates200JSONResponse ListAllUpcomingTrainingDatesResponse
|
|
|
|
func (response ListAllUpcomingTrainingDates200JSONResponse) VisitListAllUpcomingTrainingDatesResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(200)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type ListAllUpcomingTrainingDates404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response ListAllUpcomingTrainingDates404ApplicationProblemPlusJSONResponse) VisitListAllUpcomingTrainingDatesResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type ListAllUpcomingTrainingDates500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response ListAllUpcomingTrainingDates500ApplicationProblemPlusJSONResponse) VisitListAllUpcomingTrainingDatesResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type DeleteTrainingRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
}
|
|
|
|
type DeleteTrainingResponseObject interface {
|
|
VisitDeleteTrainingResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type DeleteTraining204Response struct {
|
|
}
|
|
|
|
func (response DeleteTraining204Response) VisitDeleteTrainingResponse(ctx *fiber.Ctx) error {
|
|
ctx.Status(204)
|
|
return nil
|
|
}
|
|
|
|
type DeleteTraining404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response DeleteTraining404ApplicationProblemPlusJSONResponse) VisitDeleteTrainingResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type DeleteTraining500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response DeleteTraining500ApplicationProblemPlusJSONResponse) VisitDeleteTrainingResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type GetTrainingRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
}
|
|
|
|
type GetTrainingResponseObject interface {
|
|
VisitGetTrainingResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type GetTraining200JSONResponse GetTrainingResponse
|
|
|
|
func (response GetTraining200JSONResponse) VisitGetTrainingResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(200)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type GetTraining404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response GetTraining404ApplicationProblemPlusJSONResponse) VisitGetTrainingResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type GetTraining500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response GetTraining500ApplicationProblemPlusJSONResponse) VisitGetTrainingResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
Body *UpdateTrainingJSONRequestBody
|
|
}
|
|
|
|
type UpdateTrainingResponseObject interface {
|
|
VisitUpdateTrainingResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type UpdateTraining200JSONResponse UpdateTrainingResponse
|
|
|
|
func (response UpdateTraining200JSONResponse) VisitUpdateTrainingResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(200)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTraining400ApplicationProblemPlusJSONResponse struct {
|
|
InvalidInputErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTraining400ApplicationProblemPlusJSONResponse) VisitUpdateTrainingResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(400)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTraining404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTraining404ApplicationProblemPlusJSONResponse) VisitUpdateTrainingResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTraining500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTraining500ApplicationProblemPlusJSONResponse) VisitUpdateTrainingResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type ListTrainingDatesRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
}
|
|
|
|
type ListTrainingDatesResponseObject interface {
|
|
VisitListTrainingDatesResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type ListTrainingDates200JSONResponse ListTrainingDatesResponse
|
|
|
|
func (response ListTrainingDates200JSONResponse) VisitListTrainingDatesResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(200)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type ListTrainingDates404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response ListTrainingDates404ApplicationProblemPlusJSONResponse) VisitListTrainingDatesResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type ListTrainingDates500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response ListTrainingDates500ApplicationProblemPlusJSONResponse) VisitListTrainingDatesResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type CreateTrainingDateRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
Body *CreateTrainingDateJSONRequestBody
|
|
}
|
|
|
|
type CreateTrainingDateResponseObject interface {
|
|
VisitCreateTrainingDateResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type CreateTrainingDate201JSONResponse CreateTrainingDateResponse
|
|
|
|
func (response CreateTrainingDate201JSONResponse) VisitCreateTrainingDateResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(201)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type CreateTrainingDate400ApplicationProblemPlusJSONResponse struct {
|
|
InvalidInputErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response CreateTrainingDate400ApplicationProblemPlusJSONResponse) VisitCreateTrainingDateResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(400)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type CreateTrainingDate500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response CreateTrainingDate500ApplicationProblemPlusJSONResponse) VisitCreateTrainingDateResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type DeleteTrainingDateRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
TrainingDateID TrainingDateID `json:"trainingDateID"`
|
|
}
|
|
|
|
type DeleteTrainingDateResponseObject interface {
|
|
VisitDeleteTrainingDateResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type DeleteTrainingDate204Response struct {
|
|
}
|
|
|
|
func (response DeleteTrainingDate204Response) VisitDeleteTrainingDateResponse(ctx *fiber.Ctx) error {
|
|
ctx.Status(204)
|
|
return nil
|
|
}
|
|
|
|
type DeleteTrainingDate404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response DeleteTrainingDate404ApplicationProblemPlusJSONResponse) VisitDeleteTrainingDateResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type DeleteTrainingDate500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response DeleteTrainingDate500ApplicationProblemPlusJSONResponse) VisitDeleteTrainingDateResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type GetTrainingDateRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
TrainingDateID TrainingDateID `json:"trainingDateID"`
|
|
}
|
|
|
|
type GetTrainingDateResponseObject interface {
|
|
VisitGetTrainingDateResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type GetTrainingDate200JSONResponse GetTrainingDateResponse
|
|
|
|
func (response GetTrainingDate200JSONResponse) VisitGetTrainingDateResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(200)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type GetTrainingDate404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response GetTrainingDate404ApplicationProblemPlusJSONResponse) VisitGetTrainingDateResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type GetTrainingDate500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response GetTrainingDate500ApplicationProblemPlusJSONResponse) VisitGetTrainingDateResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDateRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
TrainingDateID TrainingDateID `json:"trainingDateID"`
|
|
Body *UpdateTrainingDateJSONRequestBody
|
|
}
|
|
|
|
type UpdateTrainingDateResponseObject interface {
|
|
VisitUpdateTrainingDateResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type UpdateTrainingDate200JSONResponse UpdateTrainingDateResponse
|
|
|
|
func (response UpdateTrainingDate200JSONResponse) VisitUpdateTrainingDateResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(200)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDate400ApplicationProblemPlusJSONResponse struct {
|
|
InvalidInputErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTrainingDate400ApplicationProblemPlusJSONResponse) VisitUpdateTrainingDateResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(400)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDate404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTrainingDate404ApplicationProblemPlusJSONResponse) VisitUpdateTrainingDateResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDate500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTrainingDate500ApplicationProblemPlusJSONResponse) VisitUpdateTrainingDateResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type ListTrainingDateAttendeesRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
TrainingDateID TrainingDateID `json:"trainingDateID"`
|
|
}
|
|
|
|
type ListTrainingDateAttendeesResponseObject interface {
|
|
VisitListTrainingDateAttendeesResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type ListTrainingDateAttendees200JSONResponse ListTrainingDateAttendeesResponse
|
|
|
|
func (response ListTrainingDateAttendees200JSONResponse) VisitListTrainingDateAttendeesResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(200)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type ListTrainingDateAttendees404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response ListTrainingDateAttendees404ApplicationProblemPlusJSONResponse) VisitListTrainingDateAttendeesResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type ListTrainingDateAttendees500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response ListTrainingDateAttendees500ApplicationProblemPlusJSONResponse) VisitListTrainingDateAttendeesResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type CreateTrainingDateAttendeeRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
TrainingDateID TrainingDateID `json:"trainingDateID"`
|
|
Body *CreateTrainingDateAttendeeJSONRequestBody
|
|
}
|
|
|
|
type CreateTrainingDateAttendeeResponseObject interface {
|
|
VisitCreateTrainingDateAttendeeResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type CreateTrainingDateAttendee201JSONResponse CreateTrainingDateAttendeeResponse
|
|
|
|
func (response CreateTrainingDateAttendee201JSONResponse) VisitCreateTrainingDateAttendeeResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(201)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type CreateTrainingDateAttendee400ApplicationProblemPlusJSONResponse struct {
|
|
InvalidInputErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response CreateTrainingDateAttendee400ApplicationProblemPlusJSONResponse) VisitCreateTrainingDateAttendeeResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(400)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type CreateTrainingDateAttendee404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response CreateTrainingDateAttendee404ApplicationProblemPlusJSONResponse) VisitCreateTrainingDateAttendeeResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type CreateTrainingDateAttendee500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response CreateTrainingDateAttendee500ApplicationProblemPlusJSONResponse) VisitCreateTrainingDateAttendeeResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type GetTrainingDateAttendeeCountRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
TrainingDateID TrainingDateID `json:"trainingDateID"`
|
|
}
|
|
|
|
type GetTrainingDateAttendeeCountResponseObject interface {
|
|
VisitGetTrainingDateAttendeeCountResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type GetTrainingDateAttendeeCount200JSONResponse GetTrainingDateAttendeeCountResponse
|
|
|
|
func (response GetTrainingDateAttendeeCount200JSONResponse) VisitGetTrainingDateAttendeeCountResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(200)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type GetTrainingDateAttendeeCount404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response GetTrainingDateAttendeeCount404ApplicationProblemPlusJSONResponse) VisitGetTrainingDateAttendeeCountResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type GetTrainingDateAttendeeCount500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response GetTrainingDateAttendeeCount500ApplicationProblemPlusJSONResponse) VisitGetTrainingDateAttendeeCountResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type DeleteTrainingDateAttendeeRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
TrainingDateID TrainingDateID `json:"trainingDateID"`
|
|
TrainingDateAttendeeID TrainingDateAttendeeID `json:"trainingDateAttendeeID"`
|
|
}
|
|
|
|
type DeleteTrainingDateAttendeeResponseObject interface {
|
|
VisitDeleteTrainingDateAttendeeResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type DeleteTrainingDateAttendee204Response struct {
|
|
}
|
|
|
|
func (response DeleteTrainingDateAttendee204Response) VisitDeleteTrainingDateAttendeeResponse(ctx *fiber.Ctx) error {
|
|
ctx.Status(204)
|
|
return nil
|
|
}
|
|
|
|
type DeleteTrainingDateAttendee404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response DeleteTrainingDateAttendee404ApplicationProblemPlusJSONResponse) VisitDeleteTrainingDateAttendeeResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type DeleteTrainingDateAttendee500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response DeleteTrainingDateAttendee500ApplicationProblemPlusJSONResponse) VisitDeleteTrainingDateAttendeeResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type GetTrainingDateAttendeeRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
TrainingDateID TrainingDateID `json:"trainingDateID"`
|
|
TrainingDateAttendeeID TrainingDateAttendeeID `json:"trainingDateAttendeeID"`
|
|
}
|
|
|
|
type GetTrainingDateAttendeeResponseObject interface {
|
|
VisitGetTrainingDateAttendeeResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type GetTrainingDateAttendee200JSONResponse GetTrainingDateAttendeeResponse
|
|
|
|
func (response GetTrainingDateAttendee200JSONResponse) VisitGetTrainingDateAttendeeResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(200)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type GetTrainingDateAttendee404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response GetTrainingDateAttendee404ApplicationProblemPlusJSONResponse) VisitGetTrainingDateAttendeeResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type GetTrainingDateAttendee500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response GetTrainingDateAttendee500ApplicationProblemPlusJSONResponse) VisitGetTrainingDateAttendeeResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDateAttendeeRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
TrainingDateID TrainingDateID `json:"trainingDateID"`
|
|
TrainingDateAttendeeID TrainingDateAttendeeID `json:"trainingDateAttendeeID"`
|
|
Body *UpdateTrainingDateAttendeeJSONRequestBody
|
|
}
|
|
|
|
type UpdateTrainingDateAttendeeResponseObject interface {
|
|
VisitUpdateTrainingDateAttendeeResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type UpdateTrainingDateAttendee200JSONResponse UpdateTrainingDateAttendeeResponse
|
|
|
|
func (response UpdateTrainingDateAttendee200JSONResponse) VisitUpdateTrainingDateAttendeeResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(200)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDateAttendee400ApplicationProblemPlusJSONResponse struct {
|
|
InvalidInputErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTrainingDateAttendee400ApplicationProblemPlusJSONResponse) VisitUpdateTrainingDateAttendeeResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(400)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDateAttendee404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTrainingDateAttendee404ApplicationProblemPlusJSONResponse) VisitUpdateTrainingDateAttendeeResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDateAttendee500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTrainingDateAttendee500ApplicationProblemPlusJSONResponse) VisitUpdateTrainingDateAttendeeResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDateAttendeeAttendanceRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
TrainingDateID TrainingDateID `json:"trainingDateID"`
|
|
TrainingDateAttendeeID TrainingDateAttendeeID `json:"trainingDateAttendeeID"`
|
|
Body *UpdateTrainingDateAttendeeAttendanceJSONRequestBody
|
|
}
|
|
|
|
type UpdateTrainingDateAttendeeAttendanceResponseObject interface {
|
|
VisitUpdateTrainingDateAttendeeAttendanceResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type UpdateTrainingDateAttendeeAttendance200JSONResponse UpdateTrainingDateAttendeeResponse
|
|
|
|
func (response UpdateTrainingDateAttendeeAttendance200JSONResponse) VisitUpdateTrainingDateAttendeeAttendanceResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(200)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDateAttendeeAttendance400ApplicationProblemPlusJSONResponse struct {
|
|
InvalidInputErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTrainingDateAttendeeAttendance400ApplicationProblemPlusJSONResponse) VisitUpdateTrainingDateAttendeeAttendanceResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(400)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDateAttendeeAttendance404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTrainingDateAttendeeAttendance404ApplicationProblemPlusJSONResponse) VisitUpdateTrainingDateAttendeeAttendanceResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDateAttendeeAttendance500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTrainingDateAttendeeAttendance500ApplicationProblemPlusJSONResponse) VisitUpdateTrainingDateAttendeeAttendanceResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDateAttendeePaymentRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
TrainingDateID TrainingDateID `json:"trainingDateID"`
|
|
TrainingDateAttendeeID TrainingDateAttendeeID `json:"trainingDateAttendeeID"`
|
|
Body *UpdateTrainingDateAttendeePaymentJSONRequestBody
|
|
}
|
|
|
|
type UpdateTrainingDateAttendeePaymentResponseObject interface {
|
|
VisitUpdateTrainingDateAttendeePaymentResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type UpdateTrainingDateAttendeePayment200JSONResponse UpdateTrainingDateAttendeeResponse
|
|
|
|
func (response UpdateTrainingDateAttendeePayment200JSONResponse) VisitUpdateTrainingDateAttendeePaymentResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(200)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDateAttendeePayment400ApplicationProblemPlusJSONResponse struct {
|
|
InvalidInputErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTrainingDateAttendeePayment400ApplicationProblemPlusJSONResponse) VisitUpdateTrainingDateAttendeePaymentResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(400)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDateAttendeePayment404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTrainingDateAttendeePayment404ApplicationProblemPlusJSONResponse) VisitUpdateTrainingDateAttendeePaymentResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type UpdateTrainingDateAttendeePayment500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response UpdateTrainingDateAttendeePayment500ApplicationProblemPlusJSONResponse) VisitUpdateTrainingDateAttendeePaymentResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type ListTrainingUpcomingDatesRequestObject struct {
|
|
TrainingID TrainingID `json:"trainingID"`
|
|
}
|
|
|
|
type ListTrainingUpcomingDatesResponseObject interface {
|
|
VisitListTrainingUpcomingDatesResponse(ctx *fiber.Ctx) error
|
|
}
|
|
|
|
type ListTrainingUpcomingDates200JSONResponse ListTrainingUpcomingDatesResponse
|
|
|
|
func (response ListTrainingUpcomingDates200JSONResponse) VisitListTrainingUpcomingDatesResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/json")
|
|
ctx.Status(200)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type ListTrainingUpcomingDates404ApplicationProblemPlusJSONResponse struct {
|
|
NotFoundErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response ListTrainingUpcomingDates404ApplicationProblemPlusJSONResponse) VisitListTrainingUpcomingDatesResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(404)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
type ListTrainingUpcomingDates500ApplicationProblemPlusJSONResponse struct {
|
|
InternalErrorApplicationProblemPlusJSONResponse
|
|
}
|
|
|
|
func (response ListTrainingUpcomingDates500ApplicationProblemPlusJSONResponse) VisitListTrainingUpcomingDatesResponse(ctx *fiber.Ctx) error {
|
|
ctx.Response().Header.Set("Content-Type", "application/problem+json")
|
|
ctx.Status(500)
|
|
|
|
return ctx.JSON(&response)
|
|
}
|
|
|
|
// StrictServerInterface represents all server handlers.
|
|
type StrictServerInterface interface {
|
|
// List all trainings
|
|
// (GET /v1/trainings)
|
|
ListTrainings(ctx context.Context, request ListTrainingsRequestObject) (ListTrainingsResponseObject, error)
|
|
// Create a new training
|
|
// (POST /v1/trainings)
|
|
CreateTraining(ctx context.Context, request CreateTrainingRequestObject) (CreateTrainingResponseObject, error)
|
|
// List all upcoming dates of all trainings
|
|
// (GET /v1/trainings/upcoming-dates)
|
|
ListAllUpcomingTrainingDates(ctx context.Context, request ListAllUpcomingTrainingDatesRequestObject) (ListAllUpcomingTrainingDatesResponseObject, error)
|
|
// Delete a training by ID
|
|
// (DELETE /v1/trainings/{trainingID})
|
|
DeleteTraining(ctx context.Context, request DeleteTrainingRequestObject) (DeleteTrainingResponseObject, error)
|
|
// Get a training by ID
|
|
// (GET /v1/trainings/{trainingID})
|
|
GetTraining(ctx context.Context, request GetTrainingRequestObject) (GetTrainingResponseObject, error)
|
|
// Update a training by ID
|
|
// (PUT /v1/trainings/{trainingID})
|
|
UpdateTraining(ctx context.Context, request UpdateTrainingRequestObject) (UpdateTrainingResponseObject, error)
|
|
// List all dates of a training
|
|
// (GET /v1/trainings/{trainingID}/dates)
|
|
ListTrainingDates(ctx context.Context, request ListTrainingDatesRequestObject) (ListTrainingDatesResponseObject, error)
|
|
// Create a new training date
|
|
// (POST /v1/trainings/{trainingID}/dates)
|
|
CreateTrainingDate(ctx context.Context, request CreateTrainingDateRequestObject) (CreateTrainingDateResponseObject, error)
|
|
// Delete a training date by ID
|
|
// (DELETE /v1/trainings/{trainingID}/dates/{trainingDateID})
|
|
DeleteTrainingDate(ctx context.Context, request DeleteTrainingDateRequestObject) (DeleteTrainingDateResponseObject, error)
|
|
// Get a training date by ID
|
|
// (GET /v1/trainings/{trainingID}/dates/{trainingDateID})
|
|
GetTrainingDate(ctx context.Context, request GetTrainingDateRequestObject) (GetTrainingDateResponseObject, error)
|
|
// Update a training date by ID
|
|
// (PUT /v1/trainings/{trainingID}/dates/{trainingDateID})
|
|
UpdateTrainingDate(ctx context.Context, request UpdateTrainingDateRequestObject) (UpdateTrainingDateResponseObject, error)
|
|
// List all attendees of a training date
|
|
// (GET /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees)
|
|
ListTrainingDateAttendees(ctx context.Context, request ListTrainingDateAttendeesRequestObject) (ListTrainingDateAttendeesResponseObject, error)
|
|
// Create a new training date attendee
|
|
// (POST /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees)
|
|
CreateTrainingDateAttendee(ctx context.Context, request CreateTrainingDateAttendeeRequestObject) (CreateTrainingDateAttendeeResponseObject, error)
|
|
// Get a training date attendee count
|
|
// (GET /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees/count)
|
|
GetTrainingDateAttendeeCount(ctx context.Context, request GetTrainingDateAttendeeCountRequestObject) (GetTrainingDateAttendeeCountResponseObject, error)
|
|
// Delete a training date attendee by ID
|
|
// (DELETE /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees/{trainingDateAttendeeID})
|
|
DeleteTrainingDateAttendee(ctx context.Context, request DeleteTrainingDateAttendeeRequestObject) (DeleteTrainingDateAttendeeResponseObject, error)
|
|
// Get a training date attendee by ID
|
|
// (GET /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees/{trainingDateAttendeeID})
|
|
GetTrainingDateAttendee(ctx context.Context, request GetTrainingDateAttendeeRequestObject) (GetTrainingDateAttendeeResponseObject, error)
|
|
// Update a training date attendee by ID
|
|
// (PUT /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees/{trainingDateAttendeeID})
|
|
UpdateTrainingDateAttendee(ctx context.Context, request UpdateTrainingDateAttendeeRequestObject) (UpdateTrainingDateAttendeeResponseObject, error)
|
|
// Update status of a training date attendee attendance
|
|
// (PUT /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees/{trainingDateAttendeeID}/attended)
|
|
UpdateTrainingDateAttendeeAttendance(ctx context.Context, request UpdateTrainingDateAttendeeAttendanceRequestObject) (UpdateTrainingDateAttendeeAttendanceResponseObject, error)
|
|
// Update status of a training date attendee payment
|
|
// (PUT /v1/trainings/{trainingID}/dates/{trainingDateID}/attendees/{trainingDateAttendeeID}/paid)
|
|
UpdateTrainingDateAttendeePayment(ctx context.Context, request UpdateTrainingDateAttendeePaymentRequestObject) (UpdateTrainingDateAttendeePaymentResponseObject, error)
|
|
// List upcoming dates of a training
|
|
// (GET /v1/trainings/{trainingID}/upcoming-dates)
|
|
ListTrainingUpcomingDates(ctx context.Context, request ListTrainingUpcomingDatesRequestObject) (ListTrainingUpcomingDatesResponseObject, error)
|
|
}
|
|
|
|
type StrictHandlerFunc func(ctx *fiber.Ctx, args interface{}) (interface{}, error)
|
|
|
|
type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc
|
|
|
|
func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface {
|
|
return &strictHandler{ssi: ssi, middlewares: middlewares}
|
|
}
|
|
|
|
type strictHandler struct {
|
|
ssi StrictServerInterface
|
|
middlewares []StrictMiddlewareFunc
|
|
}
|
|
|
|
// ListTrainings operation middleware
|
|
func (sh *strictHandler) ListTrainings(ctx *fiber.Ctx) error {
|
|
var request ListTrainingsRequestObject
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.ListTrainings(ctx.UserContext(), request.(ListTrainingsRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "ListTrainings")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(ListTrainingsResponseObject); ok {
|
|
if err := validResponse.VisitListTrainingsResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// CreateTraining operation middleware
|
|
func (sh *strictHandler) CreateTraining(ctx *fiber.Ctx) error {
|
|
var request CreateTrainingRequestObject
|
|
|
|
var body CreateTrainingJSONRequestBody
|
|
if err := ctx.BodyParser(&body); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
request.Body = &body
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.CreateTraining(ctx.UserContext(), request.(CreateTrainingRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "CreateTraining")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(CreateTrainingResponseObject); ok {
|
|
if err := validResponse.VisitCreateTrainingResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// ListAllUpcomingTrainingDates operation middleware
|
|
func (sh *strictHandler) ListAllUpcomingTrainingDates(ctx *fiber.Ctx) error {
|
|
var request ListAllUpcomingTrainingDatesRequestObject
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.ListAllUpcomingTrainingDates(ctx.UserContext(), request.(ListAllUpcomingTrainingDatesRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "ListAllUpcomingTrainingDates")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(ListAllUpcomingTrainingDatesResponseObject); ok {
|
|
if err := validResponse.VisitListAllUpcomingTrainingDatesResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeleteTraining operation middleware
|
|
func (sh *strictHandler) DeleteTraining(ctx *fiber.Ctx, trainingID TrainingID) error {
|
|
var request DeleteTrainingRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.DeleteTraining(ctx.UserContext(), request.(DeleteTrainingRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "DeleteTraining")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(DeleteTrainingResponseObject); ok {
|
|
if err := validResponse.VisitDeleteTrainingResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// GetTraining operation middleware
|
|
func (sh *strictHandler) GetTraining(ctx *fiber.Ctx, trainingID TrainingID) error {
|
|
var request GetTrainingRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.GetTraining(ctx.UserContext(), request.(GetTrainingRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "GetTraining")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(GetTrainingResponseObject); ok {
|
|
if err := validResponse.VisitGetTrainingResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// UpdateTraining operation middleware
|
|
func (sh *strictHandler) UpdateTraining(ctx *fiber.Ctx, trainingID TrainingID) error {
|
|
var request UpdateTrainingRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
|
|
var body UpdateTrainingJSONRequestBody
|
|
if err := ctx.BodyParser(&body); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
request.Body = &body
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.UpdateTraining(ctx.UserContext(), request.(UpdateTrainingRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "UpdateTraining")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(UpdateTrainingResponseObject); ok {
|
|
if err := validResponse.VisitUpdateTrainingResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// ListTrainingDates operation middleware
|
|
func (sh *strictHandler) ListTrainingDates(ctx *fiber.Ctx, trainingID TrainingID) error {
|
|
var request ListTrainingDatesRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.ListTrainingDates(ctx.UserContext(), request.(ListTrainingDatesRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "ListTrainingDates")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(ListTrainingDatesResponseObject); ok {
|
|
if err := validResponse.VisitListTrainingDatesResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// CreateTrainingDate operation middleware
|
|
func (sh *strictHandler) CreateTrainingDate(ctx *fiber.Ctx, trainingID TrainingID) error {
|
|
var request CreateTrainingDateRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
|
|
var body CreateTrainingDateJSONRequestBody
|
|
if err := ctx.BodyParser(&body); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
request.Body = &body
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.CreateTrainingDate(ctx.UserContext(), request.(CreateTrainingDateRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "CreateTrainingDate")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(CreateTrainingDateResponseObject); ok {
|
|
if err := validResponse.VisitCreateTrainingDateResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeleteTrainingDate operation middleware
|
|
func (sh *strictHandler) DeleteTrainingDate(ctx *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID) error {
|
|
var request DeleteTrainingDateRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
request.TrainingDateID = trainingDateID
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.DeleteTrainingDate(ctx.UserContext(), request.(DeleteTrainingDateRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "DeleteTrainingDate")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(DeleteTrainingDateResponseObject); ok {
|
|
if err := validResponse.VisitDeleteTrainingDateResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// GetTrainingDate operation middleware
|
|
func (sh *strictHandler) GetTrainingDate(ctx *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID) error {
|
|
var request GetTrainingDateRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
request.TrainingDateID = trainingDateID
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.GetTrainingDate(ctx.UserContext(), request.(GetTrainingDateRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "GetTrainingDate")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(GetTrainingDateResponseObject); ok {
|
|
if err := validResponse.VisitGetTrainingDateResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// UpdateTrainingDate operation middleware
|
|
func (sh *strictHandler) UpdateTrainingDate(ctx *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID) error {
|
|
var request UpdateTrainingDateRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
request.TrainingDateID = trainingDateID
|
|
|
|
var body UpdateTrainingDateJSONRequestBody
|
|
if err := ctx.BodyParser(&body); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
request.Body = &body
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.UpdateTrainingDate(ctx.UserContext(), request.(UpdateTrainingDateRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "UpdateTrainingDate")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(UpdateTrainingDateResponseObject); ok {
|
|
if err := validResponse.VisitUpdateTrainingDateResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// ListTrainingDateAttendees operation middleware
|
|
func (sh *strictHandler) ListTrainingDateAttendees(ctx *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID) error {
|
|
var request ListTrainingDateAttendeesRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
request.TrainingDateID = trainingDateID
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.ListTrainingDateAttendees(ctx.UserContext(), request.(ListTrainingDateAttendeesRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "ListTrainingDateAttendees")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(ListTrainingDateAttendeesResponseObject); ok {
|
|
if err := validResponse.VisitListTrainingDateAttendeesResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// CreateTrainingDateAttendee operation middleware
|
|
func (sh *strictHandler) CreateTrainingDateAttendee(ctx *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID) error {
|
|
var request CreateTrainingDateAttendeeRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
request.TrainingDateID = trainingDateID
|
|
|
|
var body CreateTrainingDateAttendeeJSONRequestBody
|
|
if err := ctx.BodyParser(&body); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
request.Body = &body
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.CreateTrainingDateAttendee(ctx.UserContext(), request.(CreateTrainingDateAttendeeRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "CreateTrainingDateAttendee")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(CreateTrainingDateAttendeeResponseObject); ok {
|
|
if err := validResponse.VisitCreateTrainingDateAttendeeResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// GetTrainingDateAttendeeCount operation middleware
|
|
func (sh *strictHandler) GetTrainingDateAttendeeCount(ctx *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID) error {
|
|
var request GetTrainingDateAttendeeCountRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
request.TrainingDateID = trainingDateID
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.GetTrainingDateAttendeeCount(ctx.UserContext(), request.(GetTrainingDateAttendeeCountRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "GetTrainingDateAttendeeCount")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(GetTrainingDateAttendeeCountResponseObject); ok {
|
|
if err := validResponse.VisitGetTrainingDateAttendeeCountResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeleteTrainingDateAttendee operation middleware
|
|
func (sh *strictHandler) DeleteTrainingDateAttendee(ctx *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID, trainingDateAttendeeID TrainingDateAttendeeID) error {
|
|
var request DeleteTrainingDateAttendeeRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
request.TrainingDateID = trainingDateID
|
|
request.TrainingDateAttendeeID = trainingDateAttendeeID
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.DeleteTrainingDateAttendee(ctx.UserContext(), request.(DeleteTrainingDateAttendeeRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "DeleteTrainingDateAttendee")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(DeleteTrainingDateAttendeeResponseObject); ok {
|
|
if err := validResponse.VisitDeleteTrainingDateAttendeeResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// GetTrainingDateAttendee operation middleware
|
|
func (sh *strictHandler) GetTrainingDateAttendee(ctx *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID, trainingDateAttendeeID TrainingDateAttendeeID) error {
|
|
var request GetTrainingDateAttendeeRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
request.TrainingDateID = trainingDateID
|
|
request.TrainingDateAttendeeID = trainingDateAttendeeID
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.GetTrainingDateAttendee(ctx.UserContext(), request.(GetTrainingDateAttendeeRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "GetTrainingDateAttendee")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(GetTrainingDateAttendeeResponseObject); ok {
|
|
if err := validResponse.VisitGetTrainingDateAttendeeResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// UpdateTrainingDateAttendee operation middleware
|
|
func (sh *strictHandler) UpdateTrainingDateAttendee(ctx *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID, trainingDateAttendeeID TrainingDateAttendeeID) error {
|
|
var request UpdateTrainingDateAttendeeRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
request.TrainingDateID = trainingDateID
|
|
request.TrainingDateAttendeeID = trainingDateAttendeeID
|
|
|
|
var body UpdateTrainingDateAttendeeJSONRequestBody
|
|
if err := ctx.BodyParser(&body); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
request.Body = &body
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.UpdateTrainingDateAttendee(ctx.UserContext(), request.(UpdateTrainingDateAttendeeRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "UpdateTrainingDateAttendee")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(UpdateTrainingDateAttendeeResponseObject); ok {
|
|
if err := validResponse.VisitUpdateTrainingDateAttendeeResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// UpdateTrainingDateAttendeeAttendance operation middleware
|
|
func (sh *strictHandler) UpdateTrainingDateAttendeeAttendance(ctx *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID, trainingDateAttendeeID TrainingDateAttendeeID) error {
|
|
var request UpdateTrainingDateAttendeeAttendanceRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
request.TrainingDateID = trainingDateID
|
|
request.TrainingDateAttendeeID = trainingDateAttendeeID
|
|
|
|
var body UpdateTrainingDateAttendeeAttendanceJSONRequestBody
|
|
if err := ctx.BodyParser(&body); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
request.Body = &body
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.UpdateTrainingDateAttendeeAttendance(ctx.UserContext(), request.(UpdateTrainingDateAttendeeAttendanceRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "UpdateTrainingDateAttendeeAttendance")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(UpdateTrainingDateAttendeeAttendanceResponseObject); ok {
|
|
if err := validResponse.VisitUpdateTrainingDateAttendeeAttendanceResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// UpdateTrainingDateAttendeePayment operation middleware
|
|
func (sh *strictHandler) UpdateTrainingDateAttendeePayment(ctx *fiber.Ctx, trainingID TrainingID, trainingDateID TrainingDateID, trainingDateAttendeeID TrainingDateAttendeeID) error {
|
|
var request UpdateTrainingDateAttendeePaymentRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
request.TrainingDateID = trainingDateID
|
|
request.TrainingDateAttendeeID = trainingDateAttendeeID
|
|
|
|
var body UpdateTrainingDateAttendeePaymentJSONRequestBody
|
|
if err := ctx.BodyParser(&body); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
request.Body = &body
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.UpdateTrainingDateAttendeePayment(ctx.UserContext(), request.(UpdateTrainingDateAttendeePaymentRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "UpdateTrainingDateAttendeePayment")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(UpdateTrainingDateAttendeePaymentResponseObject); ok {
|
|
if err := validResponse.VisitUpdateTrainingDateAttendeePaymentResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// ListTrainingUpcomingDates operation middleware
|
|
func (sh *strictHandler) ListTrainingUpcomingDates(ctx *fiber.Ctx, trainingID TrainingID) error {
|
|
var request ListTrainingUpcomingDatesRequestObject
|
|
|
|
request.TrainingID = trainingID
|
|
|
|
handler := func(ctx *fiber.Ctx, request interface{}) (interface{}, error) {
|
|
return sh.ssi.ListTrainingUpcomingDates(ctx.UserContext(), request.(ListTrainingUpcomingDatesRequestObject))
|
|
}
|
|
for _, middleware := range sh.middlewares {
|
|
handler = middleware(handler, "ListTrainingUpcomingDates")
|
|
}
|
|
|
|
response, err := handler(ctx, request)
|
|
|
|
if err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
} else if validResponse, ok := response.(ListTrainingUpcomingDatesResponseObject); ok {
|
|
if err := validResponse.VisitListTrainingUpcomingDatesResponse(ctx); err != nil {
|
|
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
|
}
|
|
} else if response != nil {
|
|
return fmt.Errorf("unexpected response type: %T", response)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Base64 encoded, gzipped, json marshaled Swagger object
|
|
var swaggerSpec = []string{
|
|
|
|
"H4sIAAAAAAAC/+xczXLjuBF+FRSSW2hRk92t3dIpjj3ZdWUzdjx2Dpn4AJMtETMkwAFAe1QuPUlOeZfk",
|
|
"vVIASIqkQJG0JEv26jQaCWx8/d9oNP2EA56knAFTEk+ecEoESUCBMP+7EYQyymbnRMGpUsBCgItz/UsI",
|
|
"MhA0VZQzPCnXIb0QFSvRxTn2MNULUqIi7GFGEsATrNxkPSzga0YFhHiiRAYelkEECdH7/V7AFE/w7/wl",
|
|
"XN/+Kv0WlIuFV2OgG3gfvFvC2cC3FlsXrC1AMnAWmopMOZNgtH/BFAhG4vdCcKG/CDhTwJT+SNI0pgHR",
|
|
"UP1U8PsYkj98lhr3U8+tr+xT56AIjaXdvi6AYn8EBsDCwxfsgcQ0vGBppvaHymBAVINYQvvA1V94xsJ9",
|
|
"wfrAFZpqAAWkRWEDRpdnAogCl6dcw9cMpMGZCp6CUNSqX8MgbK4/qnmqDU4qQdlMcwsJobH+ZcpFQhSe",
|
|
"5N94q0up/KiyMJdECFOSxQpPpiSWUK6+5zwGwvRya9uOLdOIs5ZfuKRWCis/LqqO8ckS90qslqRXcloh",
|
|
"dVdi4/efIVB6n3UytG5jlB3Hl1M8+bReoR/g0UUIL7ymGu5pHHebBw30szgiMicV9hN3ROQVoT0X23XP",
|
|
"DMVVPdAQe5axJYI6+FX53zk10Gq9JAwFSOk0mICkJKBqXjNgytRP2MMJZTTJEjx5VyKgTMEMjJeHREHt",
|
|
"KfOFw+pDMpdO8uSbJf9D11ZUXrKY1ky+ooqY23jidghjDn1tRioi1A1N6owpmjgYa+gx535JIWe8gr4C",
|
|
"1SuVUlFBgbafw23saA4HG2bVbmvuY66tprq5rdRSgcMg2oOqoIH+qMWgIJF9JVEaT06RCEHmbeE2N4kq",
|
|
"yOXO3XrfSOcb6XuIrn8G5Qp+ZzxjqspBM8dmNjG2hqHxqr4bkCwNlxxbMB2z1ctkq4b4X1fsqoB/HQ74",
|
|
"K5XqNI5v04AnlM2qfMsqB2WcawZhlaMbEgdztTTCoFc9mj2f1dr5zuJzeXlzby0Il2W7pTDUP/rsuNlO",
|
|
"XTsUGt79Ts+n7qJcdYpjDdBVAzRj37HAf4MFfltdcexFdPUirgoLaDhFUhSUqz6RCQEsMDIEpq3yEz77",
|
|
"51+xh9/fXmMP3348r+yUP+fhbyczfpJ/mXAG89FZQajy40lKgi9kZhERFeEJnlEVk/tRQgTI6Oso4Ikf",
|
|
"ffXns1koiKSxT/Punm+oFu3HSlm73Cbnyi2HWmNspYn60TgDUhFRKCBCUJBIRYBC+wDiU0SYbZkhyvTn",
|
|
"X25urlDRBx2hjwAoUiqVE98PiSJKkOALiBEFNR1xMfNDHviRSmJfTIMffxr/iKZcoIQLQJRZi6Scjf5l",
|
|
"410t5BsIq5BPUZQlhJ0IICG5jwHBtzQmzNBBMoWATmmAFEcqohLxIBcUaF40a3mHceR0ACYVYdZymrve",
|
|
"Xl8gAVOwxIzEqPYVOi2EVm4+bFOpiMocurmJwErbLkABDwHNgIEgCkJ0PzeUuaAzypAE8QDCCLc335Vg",
|
|
"q6iKoYesZZYkRMwbNJEm6OTNfvEcYXaQbtaC+teCjVKkXmFEFc26vKRadxxuBd/M94d/SGpLXsdT9e5O",
|
|
"1S7y9l9t/rdpuLYrXBFMk7cGPtIOw1tzMbqm5qsn0+J0N7ppuw1dZleapFyoAck1/TLzVem/LYCvyDwB",
|
|
"pjpEluam0SEus6xLVNsQ0c5Esym4nQEra71+YaUIBE1FFqmqKP4ur95/wB4+u7y+urw+vXm/Wv05k5Db",
|
|
"K60RHe8XN6np18nw2LF9idyyqoHj/eIbbj+41P2aevR1/Mf7xb69xabcDv96Y2HO7lNeDBaRwOg5T5OY",
|
|
"kuRPD/yzgiAy5YUuLpZzYv/gn9V//x1E6G9EwP/+gz2cCf1U0dZ4fHwcrTytYwANIJdLTulK8FRQUETM",
|
|
"K4dqrOnKX/6OTq8usIcfQEh7DB6P3o3GeiFPgZGU4gn+bjQejbV6iIqMtPyHd2XVY76YgWFNS9S49UWI",
|
|
"J/WuPG7Mqf1xPF4zcDVs0Mrd/nfMW52imEpl+gQlroWHf7BYXFuUmP36YJ2Z1LJth5xTROK4QtbDimjZ",
|
|
"fMJLEdzZusQhqvrleT4ZCFL9mYfzrYnJPdnQ6OEpkcFiRVfvdgaiXVnlKGVgHgm1pr7vp6nmwOE2dGyB",
|
|
"I4IYPJZ6blHzwqu7iJ/l118n5Y1lq8e0XYfu2oE6r2EdKvo196aq6aOCV2R5NVr7vlv29VnMrXplHVET",
|
|
"sOyrxKfl3e7C1sYx2MqvrsVz833Fmavz2S1ZarmklmjuVpT+/ZqZYwso3KPILeuILK3hfm5Hod3R0OkF",
|
|
"lSmGLQtvex7jmrRwJhxVuVzek1J+BtVfI2nm0Ei99tpcKdvPbe6qulduG+8MRI/clplHNsxte7Iry25f",
|
|
"01obTv3uvNhMhocZF9qnatakz1J+B5Mxl4myq9TpV9Ge257AwYWN9tn0vZbFta7GuvBhHPCA62NUtMKe",
|
|
"FxCWX9kuy4Cya2OL83qvLjpAA4s1La1DrNgMsM3KtoMQ/k6KvS7PPLiQ3ij+eii3RwW4L/3uum4cnADG",
|
|
"OwXSNwG8rSKy00Sfkzh8UgxU9y4yyxHsNxTJusfM+8Y0tBToAdSrJZh6zbqu/OhfuJb3sG8i4nW/VLz3",
|
|
"0nflBr0zAhb6304tvCdrbq+gS/52EhH98oW2PnVd7SW5t1vkud8FdBiiWXCY4dFV+y09JdffDuzpyf23",
|
|
"Qgae3vYUdoc9UZ1necb5r9TGwR4ES4SbnwjfgEJ3Hm6Gp7xDjS9bOWS+TpN5iWPqs4q28YsAGly0vcHz",
|
|
"ay832FGa9asD8wMdbTmU/1t3uSGvLLxm5yMlT8UrXW/AHXNOVpsBLr5f2DuLdzMGemb+4sfRLXu+E/Oa",
|
|
"fTK1DP22HDItDXy4Nw6Yr3P+RYpXMU/g/hsar2auwDGF1zlHqamYd4itUhps8oDEKIQHiHlq/cWsrc1K",
|
|
"T3w/1usiLtXku/F4bPSVb9akeFlYi0TknmeqNiOYj1Mv8S3uFv8PAAD//+Nifh+KVQAA",
|
|
}
|
|
|
|
// GetSwagger returns the content of the embedded swagger specification file
|
|
// or error if failed to decode
|
|
func decodeSpec() ([]byte, error) {
|
|
zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, ""))
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error base64 decoding spec: %w", err)
|
|
}
|
|
zr, err := gzip.NewReader(bytes.NewReader(zipped))
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error decompressing spec: %w", err)
|
|
}
|
|
var buf bytes.Buffer
|
|
_, err = buf.ReadFrom(zr)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error decompressing spec: %w", err)
|
|
}
|
|
|
|
return buf.Bytes(), nil
|
|
}
|
|
|
|
var rawSpec = decodeSpecCached()
|
|
|
|
// a naive cached of a decoded swagger spec
|
|
func decodeSpecCached() func() ([]byte, error) {
|
|
data, err := decodeSpec()
|
|
return func() ([]byte, error) {
|
|
return data, err
|
|
}
|
|
}
|
|
|
|
// Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
|
|
func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) {
|
|
res := make(map[string]func() ([]byte, error))
|
|
if len(pathToFile) > 0 {
|
|
res[pathToFile] = rawSpec
|
|
}
|
|
|
|
return res
|
|
}
|
|
|
|
// GetSwagger returns the Swagger specification corresponding to the generated code
|
|
// in this file. The external references of Swagger specification are resolved.
|
|
// The logic of resolving external references is tightly connected to "import-mapping" feature.
|
|
// Externally referenced files must be embedded in the corresponding golang packages.
|
|
// Urls can be supported but this task was out of the scope.
|
|
func GetSwagger() (swagger *openapi3.T, err error) {
|
|
resolvePath := PathToRawSpec("")
|
|
|
|
loader := openapi3.NewLoader()
|
|
loader.IsExternalRefsAllowed = true
|
|
loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
|
|
pathToFile := url.String()
|
|
pathToFile = path.Clean(pathToFile)
|
|
getSpec, ok := resolvePath[pathToFile]
|
|
if !ok {
|
|
err1 := fmt.Errorf("path not found: %s", pathToFile)
|
|
return nil, err1
|
|
}
|
|
return getSpec()
|
|
}
|
|
var specData []byte
|
|
specData, err = rawSpec()
|
|
if err != nil {
|
|
return
|
|
}
|
|
swagger, err = loader.LoadFromData(specData)
|
|
if err != nil {
|
|
return
|
|
}
|
|
return
|
|
}
|