Cyclops 4 HPC is the purpose built stack to support large HPC centers with resource accounting and billing of cluster as well as cloud resources.
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.
cyclops-4-hpc/services/customerdb/restapi/configure_customer_database...

266 lines
12 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/Cyclops-Labs/cyclops-4-hpc.git/services/customerdb/restapi/operations"
"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/customerdb/restapi/operations/customer_management"
"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/customerdb/restapi/operations/product_management"
"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/customerdb/restapi/operations/reseller_management"
"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/customerdb/restapi/operations/status_management"
"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/customerdb/restapi/operations/trigger_management"
)
type contextKey string
const AuthKey contextKey = "Auth"
//go:generate mockery -name CustomerManagementAPI -inpkg
/* CustomerManagementAPI */
type CustomerManagementAPI interface {
/* AddCustomer Insert a new customer in the system. */
AddCustomer(ctx context.Context, params customer_management.AddCustomerParams) middleware.Responder
/* GetCustomer Return the information about the customer with the given id */
GetCustomer(ctx context.Context, params customer_management.GetCustomerParams) middleware.Responder
/* ListCustomers List all the customers in the system */
ListCustomers(ctx context.Context, params customer_management.ListCustomersParams) middleware.Responder
/* UpdateCustomer Updates the information of the customer with the given id */
UpdateCustomer(ctx context.Context, params customer_management.UpdateCustomerParams) middleware.Responder
}
//go:generate mockery -name ProductManagementAPI -inpkg
/* ProductManagementAPI */
type ProductManagementAPI interface {
/* AddProduct Insert a new product in the system. */
AddProduct(ctx context.Context, params product_management.AddProductParams) middleware.Responder
/* GetProduct Return the information about the product with the given id */
GetProduct(ctx context.Context, params product_management.GetProductParams) middleware.Responder
/* ListProducts List all the products in the system */
ListProducts(ctx context.Context, params product_management.ListProductsParams) middleware.Responder
/* UpdateProduct Updates the information of the product with the given id */
UpdateProduct(ctx context.Context, params product_management.UpdateProductParams) middleware.Responder
}
//go:generate mockery -name ResellerManagementAPI -inpkg
/* ResellerManagementAPI */
type ResellerManagementAPI interface {
/* AddReseller Insert a new reseller in the system. */
AddReseller(ctx context.Context, params reseller_management.AddResellerParams) middleware.Responder
/* GetReseller Return the information about the reseller with the given id */
GetReseller(ctx context.Context, params reseller_management.GetResellerParams) middleware.Responder
/* ListResellers List all the resellers in the system */
ListResellers(ctx context.Context, params reseller_management.ListResellersParams) middleware.Responder
/* UpdateReseller Updates the information of the reseller with the given id */
UpdateReseller(ctx context.Context, params reseller_management.UpdateResellerParams) 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 {
CustomerManagementAPI
ProductManagementAPI
ResellerManagementAPI
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)
}
// 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 *CustomerDatabaseManagement instance.
// It mounts all the business logic implementers in the right routing.
func HandlerAPI(c Config) (http.Handler, *operations.CustomerDatabaseManagementAPI, error) {
spec, err := loads.Analyzed(swaggerCopy(SwaggerJSON), "")
if err != nil {
return nil, nil, fmt.Errorf("analyze swagger: %v", err)
}
api := operations.NewCustomerDatabaseManagementAPI(spec)
api.ServeError = errors.ServeError
api.Logger = c.Logger
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.CustomerManagementAddCustomerHandler = customer_management.AddCustomerHandlerFunc(func(params customer_management.AddCustomerParams, principal interface{}) middleware.Responder {
ctx := params.HTTPRequest.Context()
ctx = storeAuth(ctx, principal)
return c.CustomerManagementAPI.AddCustomer(ctx, params)
})
api.ProductManagementAddProductHandler = product_management.AddProductHandlerFunc(func(params product_management.AddProductParams, principal interface{}) middleware.Responder {
ctx := params.HTTPRequest.Context()
ctx = storeAuth(ctx, principal)
return c.ProductManagementAPI.AddProduct(ctx, params)
})
api.ResellerManagementAddResellerHandler = reseller_management.AddResellerHandlerFunc(func(params reseller_management.AddResellerParams, principal interface{}) middleware.Responder {
ctx := params.HTTPRequest.Context()
ctx = storeAuth(ctx, principal)
return c.ResellerManagementAPI.AddReseller(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.CustomerManagementGetCustomerHandler = customer_management.GetCustomerHandlerFunc(func(params customer_management.GetCustomerParams, principal interface{}) middleware.Responder {
ctx := params.HTTPRequest.Context()
ctx = storeAuth(ctx, principal)
return c.CustomerManagementAPI.GetCustomer(ctx, params)
})
api.ProductManagementGetProductHandler = product_management.GetProductHandlerFunc(func(params product_management.GetProductParams, principal interface{}) middleware.Responder {
ctx := params.HTTPRequest.Context()
ctx = storeAuth(ctx, principal)
return c.ProductManagementAPI.GetProduct(ctx, params)
})
api.ResellerManagementGetResellerHandler = reseller_management.GetResellerHandlerFunc(func(params reseller_management.GetResellerParams, principal interface{}) middleware.Responder {
ctx := params.HTTPRequest.Context()
ctx = storeAuth(ctx, principal)
return c.ResellerManagementAPI.GetReseller(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.CustomerManagementListCustomersHandler = customer_management.ListCustomersHandlerFunc(func(params customer_management.ListCustomersParams, principal interface{}) middleware.Responder {
ctx := params.HTTPRequest.Context()
ctx = storeAuth(ctx, principal)
return c.CustomerManagementAPI.ListCustomers(ctx, params)
})
api.ProductManagementListProductsHandler = product_management.ListProductsHandlerFunc(func(params product_management.ListProductsParams, principal interface{}) middleware.Responder {
ctx := params.HTTPRequest.Context()
ctx = storeAuth(ctx, principal)
return c.ProductManagementAPI.ListProducts(ctx, params)
})
api.ResellerManagementListResellersHandler = reseller_management.ListResellersHandlerFunc(func(params reseller_management.ListResellersParams, principal interface{}) middleware.Responder {
ctx := params.HTTPRequest.Context()
ctx = storeAuth(ctx, principal)
return c.ResellerManagementAPI.ListResellers(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.CustomerManagementUpdateCustomerHandler = customer_management.UpdateCustomerHandlerFunc(func(params customer_management.UpdateCustomerParams, principal interface{}) middleware.Responder {
ctx := params.HTTPRequest.Context()
ctx = storeAuth(ctx, principal)
return c.CustomerManagementAPI.UpdateCustomer(ctx, params)
})
api.ProductManagementUpdateProductHandler = product_management.UpdateProductHandlerFunc(func(params product_management.UpdateProductParams, principal interface{}) middleware.Responder {
ctx := params.HTTPRequest.Context()
ctx = storeAuth(ctx, principal)
return c.ProductManagementAPI.UpdateProduct(ctx, params)
})
api.ResellerManagementUpdateResellerHandler = reseller_management.UpdateResellerHandlerFunc(func(params reseller_management.UpdateResellerParams, principal interface{}) middleware.Responder {
ctx := params.HTTPRequest.Context()
ctx = storeAuth(ctx, principal)
return c.ResellerManagementAPI.UpdateReseller(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)
}