You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
384 lines
17 KiB
384 lines
17 KiB
// Code generated by go-swagger; DO NOT EDIT.
|
|
|
|
package restapi
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
"fmt"
|
|
"net/http"
|
|
|
|
"github.com/go-openapi/errors"
|
|
"github.com/go-openapi/loads"
|
|
"github.com/go-openapi/runtime"
|
|
"github.com/go-openapi/runtime/middleware"
|
|
"github.com/go-openapi/runtime/security"
|
|
|
|
"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/plan-manager/restapi/operations"
|
|
"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/plan-manager/restapi/operations/bundle_management"
|
|
"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/plan-manager/restapi/operations/cycle_management"
|
|
"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/plan-manager/restapi/operations/plan_management"
|
|
"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/plan-manager/restapi/operations/price_management"
|
|
"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/plan-manager/restapi/operations/sku_management"
|
|
"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/plan-manager/restapi/operations/status_management"
|
|
"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/plan-manager/restapi/operations/trigger_management"
|
|
)
|
|
|
|
type contextKey string
|
|
|
|
const AuthKey contextKey = "Auth"
|
|
|
|
//go:generate mockery -name BundleManagementAPI -inpkg
|
|
|
|
/* BundleManagementAPI */
|
|
type BundleManagementAPI interface {
|
|
/* CreateSkuBundle create SKU bundle */
|
|
CreateSkuBundle(ctx context.Context, params bundle_management.CreateSkuBundleParams) middleware.Responder
|
|
|
|
/* GetSkuBundle Get specific sku bundle */
|
|
GetSkuBundle(ctx context.Context, params bundle_management.GetSkuBundleParams) middleware.Responder
|
|
|
|
/* GetSkuBundleByName Get specific sku bundle */
|
|
GetSkuBundleByName(ctx context.Context, params bundle_management.GetSkuBundleByNameParams) middleware.Responder
|
|
|
|
/* ListSkuBundles list SKU Bundles */
|
|
ListSkuBundles(ctx context.Context, params bundle_management.ListSkuBundlesParams) middleware.Responder
|
|
|
|
/* UpdateSkuBundle Update specific sku bundle */
|
|
UpdateSkuBundle(ctx context.Context, params bundle_management.UpdateSkuBundleParams) middleware.Responder
|
|
}
|
|
|
|
//go:generate mockery -name CycleManagementAPI -inpkg
|
|
|
|
/* CycleManagementAPI */
|
|
type CycleManagementAPI interface {
|
|
/* CreateCycle Create a plan */
|
|
CreateCycle(ctx context.Context, params cycle_management.CreateCycleParams) middleware.Responder
|
|
|
|
/* GetCycle Get specific cycle */
|
|
GetCycle(ctx context.Context, params cycle_management.GetCycleParams) middleware.Responder
|
|
|
|
/* ListCycles List all cycles */
|
|
ListCycles(ctx context.Context, params cycle_management.ListCyclesParams) middleware.Responder
|
|
|
|
/* UpdateCycle Update specific cycle */
|
|
UpdateCycle(ctx context.Context, params cycle_management.UpdateCycleParams) middleware.Responder
|
|
}
|
|
|
|
//go:generate mockery -name PlanManagementAPI -inpkg
|
|
|
|
/* PlanManagementAPI */
|
|
type PlanManagementAPI interface {
|
|
/* CreatePlan Create a plan */
|
|
CreatePlan(ctx context.Context, params plan_management.CreatePlanParams) middleware.Responder
|
|
|
|
/* GetCompletePlan Get complete plan */
|
|
GetCompletePlan(ctx context.Context, params plan_management.GetCompletePlanParams) middleware.Responder
|
|
|
|
/* GetPlan Get specific plan */
|
|
GetPlan(ctx context.Context, params plan_management.GetPlanParams) middleware.Responder
|
|
|
|
/* ListCompletePlans Get full information relating to known plans */
|
|
ListCompletePlans(ctx context.Context, params plan_management.ListCompletePlansParams) middleware.Responder
|
|
|
|
/* ListPlans List all plans */
|
|
ListPlans(ctx context.Context, params plan_management.ListPlansParams) middleware.Responder
|
|
|
|
/* UpdatePlan Update specific plan */
|
|
UpdatePlan(ctx context.Context, params plan_management.UpdatePlanParams) middleware.Responder
|
|
}
|
|
|
|
//go:generate mockery -name PriceManagementAPI -inpkg
|
|
|
|
/* PriceManagementAPI */
|
|
type PriceManagementAPI interface {
|
|
/* CreateSkuPrice create SKU price */
|
|
CreateSkuPrice(ctx context.Context, params price_management.CreateSkuPriceParams) middleware.Responder
|
|
|
|
/* GetSkuPrice Get specific sku price */
|
|
GetSkuPrice(ctx context.Context, params price_management.GetSkuPriceParams) middleware.Responder
|
|
|
|
/* ListSkuPrices list SKU Prices */
|
|
ListSkuPrices(ctx context.Context, params price_management.ListSkuPricesParams) middleware.Responder
|
|
|
|
/* UpdateSkuPrice Update specific sku price */
|
|
UpdateSkuPrice(ctx context.Context, params price_management.UpdateSkuPriceParams) middleware.Responder
|
|
}
|
|
|
|
//go:generate mockery -name SkuManagementAPI -inpkg
|
|
|
|
/* SkuManagementAPI */
|
|
type SkuManagementAPI interface {
|
|
/* CreateSku create SKU */
|
|
CreateSku(ctx context.Context, params sku_management.CreateSkuParams) middleware.Responder
|
|
|
|
/* GetSku Get specific sku */
|
|
GetSku(ctx context.Context, params sku_management.GetSkuParams) middleware.Responder
|
|
|
|
/* ListSkus list SKUs */
|
|
ListSkus(ctx context.Context, params sku_management.ListSkusParams) middleware.Responder
|
|
|
|
/* UpdateSku Update specific sku */
|
|
UpdateSku(ctx context.Context, params sku_management.UpdateSkuParams) middleware.Responder
|
|
}
|
|
|
|
//go:generate mockery -name StatusManagementAPI -inpkg
|
|
|
|
/* StatusManagementAPI */
|
|
type StatusManagementAPI interface {
|
|
/* GetStatus Basic status of the system */
|
|
GetStatus(ctx context.Context, params status_management.GetStatusParams) middleware.Responder
|
|
|
|
/* ShowStatus Basic status of the system */
|
|
ShowStatus(ctx context.Context, params status_management.ShowStatusParams) middleware.Responder
|
|
}
|
|
|
|
//go:generate mockery -name TriggerManagementAPI -inpkg
|
|
|
|
/* TriggerManagementAPI */
|
|
type TriggerManagementAPI interface {
|
|
/* ExecSample Sample task trigger */
|
|
ExecSample(ctx context.Context, params trigger_management.ExecSampleParams) middleware.Responder
|
|
}
|
|
|
|
// Config is configuration for Handler
|
|
type Config struct {
|
|
BundleManagementAPI
|
|
CycleManagementAPI
|
|
PlanManagementAPI
|
|
PriceManagementAPI
|
|
SkuManagementAPI
|
|
StatusManagementAPI
|
|
TriggerManagementAPI
|
|
Logger func(string, ...interface{})
|
|
// InnerMiddleware is for the handler executors. These do not apply to the swagger.json document.
|
|
// The middleware executes after routing but before authentication, binding and validation
|
|
InnerMiddleware func(http.Handler) http.Handler
|
|
|
|
// Authorizer is used to authorize a request after the Auth function was called using the "Auth*" functions
|
|
// and the principal was stored in the context in the "AuthKey" context value.
|
|
Authorizer func(*http.Request) error
|
|
|
|
// AuthAPIKeyHeader Applies when the "X-API-KEY" header is set
|
|
AuthAPIKeyHeader func(token string) (interface{}, error)
|
|
|
|
// AuthAPIKeyParam Applies when the "api_key" query is set
|
|
AuthAPIKeyParam func(token string) (interface{}, error)
|
|
|
|
// AuthKeycloak For OAuth2 authentication
|
|
AuthKeycloak func(token string, scopes []string) (interface{}, error)
|
|
// Authenticator to use for all APIKey authentication
|
|
APIKeyAuthenticator func(string, string, security.TokenAuthentication) runtime.Authenticator
|
|
// Authenticator to use for all Bearer authentication
|
|
BasicAuthenticator func(security.UserPassAuthentication) runtime.Authenticator
|
|
// Authenticator to use for all Basic authentication
|
|
BearerAuthenticator func(string, security.ScopedTokenAuthentication) runtime.Authenticator
|
|
}
|
|
|
|
// Handler returns an http.Handler given the handler configuration
|
|
// It mounts all the business logic implementers in the right routing.
|
|
func Handler(c Config) (http.Handler, error) {
|
|
h, _, err := HandlerAPI(c)
|
|
return h, err
|
|
}
|
|
|
|
// HandlerAPI returns an http.Handler given the handler configuration
|
|
// and the corresponding *PlanManagerManagementAPI instance.
|
|
// It mounts all the business logic implementers in the right routing.
|
|
func HandlerAPI(c Config) (http.Handler, *operations.PlanManagerManagementAPIAPI, error) {
|
|
spec, err := loads.Analyzed(swaggerCopy(SwaggerJSON), "")
|
|
if err != nil {
|
|
return nil, nil, fmt.Errorf("analyze swagger: %v", err)
|
|
}
|
|
api := operations.NewPlanManagerManagementAPIAPI(spec)
|
|
api.ServeError = errors.ServeError
|
|
api.Logger = c.Logger
|
|
|
|
if c.APIKeyAuthenticator != nil {
|
|
api.APIKeyAuthenticator = c.APIKeyAuthenticator
|
|
}
|
|
if c.BasicAuthenticator != nil {
|
|
api.BasicAuthenticator = c.BasicAuthenticator
|
|
}
|
|
if c.BearerAuthenticator != nil {
|
|
api.BearerAuthenticator = c.BearerAuthenticator
|
|
}
|
|
|
|
api.JSONConsumer = runtime.JSONConsumer()
|
|
api.JSONProducer = runtime.JSONProducer()
|
|
api.APIKeyHeaderAuth = func(token string) (interface{}, error) {
|
|
if c.AuthAPIKeyHeader == nil {
|
|
return token, nil
|
|
}
|
|
return c.AuthAPIKeyHeader(token)
|
|
}
|
|
|
|
api.APIKeyParamAuth = func(token string) (interface{}, error) {
|
|
if c.AuthAPIKeyParam == nil {
|
|
return token, nil
|
|
}
|
|
return c.AuthAPIKeyParam(token)
|
|
}
|
|
|
|
api.KeycloakAuth = func(token string, scopes []string) (interface{}, error) {
|
|
if c.AuthKeycloak == nil {
|
|
return token, nil
|
|
}
|
|
return c.AuthKeycloak(token, scopes)
|
|
}
|
|
api.APIAuthorizer = authorizer(c.Authorizer)
|
|
api.CycleManagementCreateCycleHandler = cycle_management.CreateCycleHandlerFunc(func(params cycle_management.CreateCycleParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.CycleManagementAPI.CreateCycle(ctx, params)
|
|
})
|
|
api.PlanManagementCreatePlanHandler = plan_management.CreatePlanHandlerFunc(func(params plan_management.CreatePlanParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.PlanManagementAPI.CreatePlan(ctx, params)
|
|
})
|
|
api.SkuManagementCreateSkuHandler = sku_management.CreateSkuHandlerFunc(func(params sku_management.CreateSkuParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.SkuManagementAPI.CreateSku(ctx, params)
|
|
})
|
|
api.BundleManagementCreateSkuBundleHandler = bundle_management.CreateSkuBundleHandlerFunc(func(params bundle_management.CreateSkuBundleParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.BundleManagementAPI.CreateSkuBundle(ctx, params)
|
|
})
|
|
api.PriceManagementCreateSkuPriceHandler = price_management.CreateSkuPriceHandlerFunc(func(params price_management.CreateSkuPriceParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.PriceManagementAPI.CreateSkuPrice(ctx, params)
|
|
})
|
|
api.TriggerManagementExecSampleHandler = trigger_management.ExecSampleHandlerFunc(func(params trigger_management.ExecSampleParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.TriggerManagementAPI.ExecSample(ctx, params)
|
|
})
|
|
api.PlanManagementGetCompletePlanHandler = plan_management.GetCompletePlanHandlerFunc(func(params plan_management.GetCompletePlanParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.PlanManagementAPI.GetCompletePlan(ctx, params)
|
|
})
|
|
api.CycleManagementGetCycleHandler = cycle_management.GetCycleHandlerFunc(func(params cycle_management.GetCycleParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.CycleManagementAPI.GetCycle(ctx, params)
|
|
})
|
|
api.PlanManagementGetPlanHandler = plan_management.GetPlanHandlerFunc(func(params plan_management.GetPlanParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.PlanManagementAPI.GetPlan(ctx, params)
|
|
})
|
|
api.SkuManagementGetSkuHandler = sku_management.GetSkuHandlerFunc(func(params sku_management.GetSkuParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.SkuManagementAPI.GetSku(ctx, params)
|
|
})
|
|
api.BundleManagementGetSkuBundleHandler = bundle_management.GetSkuBundleHandlerFunc(func(params bundle_management.GetSkuBundleParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.BundleManagementAPI.GetSkuBundle(ctx, params)
|
|
})
|
|
api.BundleManagementGetSkuBundleByNameHandler = bundle_management.GetSkuBundleByNameHandlerFunc(func(params bundle_management.GetSkuBundleByNameParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.BundleManagementAPI.GetSkuBundleByName(ctx, params)
|
|
})
|
|
api.PriceManagementGetSkuPriceHandler = price_management.GetSkuPriceHandlerFunc(func(params price_management.GetSkuPriceParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.PriceManagementAPI.GetSkuPrice(ctx, params)
|
|
})
|
|
api.StatusManagementGetStatusHandler = status_management.GetStatusHandlerFunc(func(params status_management.GetStatusParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.StatusManagementAPI.GetStatus(ctx, params)
|
|
})
|
|
api.PlanManagementListCompletePlansHandler = plan_management.ListCompletePlansHandlerFunc(func(params plan_management.ListCompletePlansParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.PlanManagementAPI.ListCompletePlans(ctx, params)
|
|
})
|
|
api.CycleManagementListCyclesHandler = cycle_management.ListCyclesHandlerFunc(func(params cycle_management.ListCyclesParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.CycleManagementAPI.ListCycles(ctx, params)
|
|
})
|
|
api.PlanManagementListPlansHandler = plan_management.ListPlansHandlerFunc(func(params plan_management.ListPlansParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.PlanManagementAPI.ListPlans(ctx, params)
|
|
})
|
|
api.BundleManagementListSkuBundlesHandler = bundle_management.ListSkuBundlesHandlerFunc(func(params bundle_management.ListSkuBundlesParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.BundleManagementAPI.ListSkuBundles(ctx, params)
|
|
})
|
|
api.PriceManagementListSkuPricesHandler = price_management.ListSkuPricesHandlerFunc(func(params price_management.ListSkuPricesParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.PriceManagementAPI.ListSkuPrices(ctx, params)
|
|
})
|
|
api.SkuManagementListSkusHandler = sku_management.ListSkusHandlerFunc(func(params sku_management.ListSkusParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.SkuManagementAPI.ListSkus(ctx, params)
|
|
})
|
|
api.StatusManagementShowStatusHandler = status_management.ShowStatusHandlerFunc(func(params status_management.ShowStatusParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.StatusManagementAPI.ShowStatus(ctx, params)
|
|
})
|
|
api.CycleManagementUpdateCycleHandler = cycle_management.UpdateCycleHandlerFunc(func(params cycle_management.UpdateCycleParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.CycleManagementAPI.UpdateCycle(ctx, params)
|
|
})
|
|
api.PlanManagementUpdatePlanHandler = plan_management.UpdatePlanHandlerFunc(func(params plan_management.UpdatePlanParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.PlanManagementAPI.UpdatePlan(ctx, params)
|
|
})
|
|
api.SkuManagementUpdateSkuHandler = sku_management.UpdateSkuHandlerFunc(func(params sku_management.UpdateSkuParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.SkuManagementAPI.UpdateSku(ctx, params)
|
|
})
|
|
api.BundleManagementUpdateSkuBundleHandler = bundle_management.UpdateSkuBundleHandlerFunc(func(params bundle_management.UpdateSkuBundleParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.BundleManagementAPI.UpdateSkuBundle(ctx, params)
|
|
})
|
|
api.PriceManagementUpdateSkuPriceHandler = price_management.UpdateSkuPriceHandlerFunc(func(params price_management.UpdateSkuPriceParams, principal interface{}) middleware.Responder {
|
|
ctx := params.HTTPRequest.Context()
|
|
ctx = storeAuth(ctx, principal)
|
|
return c.PriceManagementAPI.UpdateSkuPrice(ctx, params)
|
|
})
|
|
api.ServerShutdown = func() {}
|
|
return api.Serve(c.InnerMiddleware), api, nil
|
|
}
|
|
|
|
// swaggerCopy copies the swagger json to prevent data races in runtime
|
|
func swaggerCopy(orig json.RawMessage) json.RawMessage {
|
|
c := make(json.RawMessage, len(orig))
|
|
copy(c, orig)
|
|
return c
|
|
}
|
|
|
|
// authorizer is a helper function to implement the runtime.Authorizer interface.
|
|
type authorizer func(*http.Request) error
|
|
|
|
func (a authorizer) Authorize(req *http.Request, principal interface{}) error {
|
|
if a == nil {
|
|
return nil
|
|
}
|
|
ctx := storeAuth(req.Context(), principal)
|
|
return a(req.WithContext(ctx))
|
|
}
|
|
|
|
func storeAuth(ctx context.Context, principal interface{}) context.Context {
|
|
return context.WithValue(ctx, AuthKey, principal)
|
|
}
|
|
|