Add models
[ric-plt/xapp-frame.git] / pkg / restapi / operations / xapp_framework_api.go
diff --git a/pkg/restapi/operations/xapp_framework_api.go b/pkg/restapi/operations/xapp_framework_api.go
new file mode 100644 (file)
index 0000000..28f71f2
--- /dev/null
@@ -0,0 +1,321 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+package operations
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+       "fmt"
+       "net/http"
+       "strings"
+
+       errors "github.com/go-openapi/errors"
+       loads "github.com/go-openapi/loads"
+       runtime "github.com/go-openapi/runtime"
+       middleware "github.com/go-openapi/runtime/middleware"
+       security "github.com/go-openapi/runtime/security"
+       spec "github.com/go-openapi/spec"
+       strfmt "github.com/go-openapi/strfmt"
+       "github.com/go-openapi/swag"
+
+       "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/restapi/operations/common"
+       "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/restapi/operations/control"
+       "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/restapi/operations/policy"
+       "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/restapi/operations/report"
+)
+
+// NewXappFrameworkAPI creates a new XappFramework instance
+func NewXappFrameworkAPI(spec *loads.Document) *XappFrameworkAPI {
+       return &XappFrameworkAPI{
+               handlers:            make(map[string]map[string]http.Handler),
+               formats:             strfmt.Default,
+               defaultConsumes:     "application/json",
+               defaultProduces:     "application/json",
+               customConsumers:     make(map[string]runtime.Consumer),
+               customProducers:     make(map[string]runtime.Producer),
+               ServerShutdown:      func() {},
+               spec:                spec,
+               ServeError:          errors.ServeError,
+               BasicAuthenticator:  security.BasicAuth,
+               APIKeyAuthenticator: security.APIKeyAuth,
+               BearerAuthenticator: security.BearerAuth,
+               JSONConsumer:        runtime.JSONConsumer(),
+               JSONProducer:        runtime.JSONProducer(),
+               CommonUnsubscribeHandler: common.UnsubscribeHandlerFunc(func(params common.UnsubscribeParams) middleware.Responder {
+                       return middleware.NotImplemented("operation CommonUnsubscribe has not yet been implemented")
+               }),
+               ControlSubscribeControlHandler: control.SubscribeControlHandlerFunc(func(params control.SubscribeControlParams) middleware.Responder {
+                       return middleware.NotImplemented("operation ControlSubscribeControl has not yet been implemented")
+               }),
+               PolicySubscribePolicyHandler: policy.SubscribePolicyHandlerFunc(func(params policy.SubscribePolicyParams) middleware.Responder {
+                       return middleware.NotImplemented("operation PolicySubscribePolicy has not yet been implemented")
+               }),
+               ReportSubscribeReportHandler: report.SubscribeReportHandlerFunc(func(params report.SubscribeReportParams) middleware.Responder {
+                       return middleware.NotImplemented("operation ReportSubscribeReport has not yet been implemented")
+               }),
+       }
+}
+
+/*XappFrameworkAPI This is the initial REST API for RIC subscription */
+type XappFrameworkAPI struct {
+       spec            *loads.Document
+       context         *middleware.Context
+       handlers        map[string]map[string]http.Handler
+       formats         strfmt.Registry
+       customConsumers map[string]runtime.Consumer
+       customProducers map[string]runtime.Producer
+       defaultConsumes string
+       defaultProduces string
+       Middleware      func(middleware.Builder) http.Handler
+
+       // BasicAuthenticator generates a runtime.Authenticator from the supplied basic auth function.
+       // It has a default implementation in the security package, however you can replace it for your particular usage.
+       BasicAuthenticator func(security.UserPassAuthentication) runtime.Authenticator
+       // APIKeyAuthenticator generates a runtime.Authenticator from the supplied token auth function.
+       // It has a default implementation in the security package, however you can replace it for your particular usage.
+       APIKeyAuthenticator func(string, string, security.TokenAuthentication) runtime.Authenticator
+       // BearerAuthenticator generates a runtime.Authenticator from the supplied bearer token auth function.
+       // It has a default implementation in the security package, however you can replace it for your particular usage.
+       BearerAuthenticator func(string, security.ScopedTokenAuthentication) runtime.Authenticator
+
+       // JSONConsumer registers a consumer for a "application/json" mime type
+       JSONConsumer runtime.Consumer
+
+       // JSONProducer registers a producer for a "application/json" mime type
+       JSONProducer runtime.Producer
+
+       // CommonUnsubscribeHandler sets the operation handler for the unsubscribe operation
+       CommonUnsubscribeHandler common.UnsubscribeHandler
+       // ControlSubscribeControlHandler sets the operation handler for the subscribe control operation
+       ControlSubscribeControlHandler control.SubscribeControlHandler
+       // PolicySubscribePolicyHandler sets the operation handler for the subscribe policy operation
+       PolicySubscribePolicyHandler policy.SubscribePolicyHandler
+       // ReportSubscribeReportHandler sets the operation handler for the subscribe report operation
+       ReportSubscribeReportHandler report.SubscribeReportHandler
+
+       // ServeError is called when an error is received, there is a default handler
+       // but you can set your own with this
+       ServeError func(http.ResponseWriter, *http.Request, error)
+
+       // ServerShutdown is called when the HTTP(S) server is shut down and done
+       // handling all active connections and does not accept connections any more
+       ServerShutdown func()
+
+       // Custom command line argument groups with their descriptions
+       CommandLineOptionsGroups []swag.CommandLineOptionsGroup
+
+       // User defined logger function.
+       Logger func(string, ...interface{})
+}
+
+// SetDefaultProduces sets the default produces media type
+func (o *XappFrameworkAPI) SetDefaultProduces(mediaType string) {
+       o.defaultProduces = mediaType
+}
+
+// SetDefaultConsumes returns the default consumes media type
+func (o *XappFrameworkAPI) SetDefaultConsumes(mediaType string) {
+       o.defaultConsumes = mediaType
+}
+
+// SetSpec sets a spec that will be served for the clients.
+func (o *XappFrameworkAPI) SetSpec(spec *loads.Document) {
+       o.spec = spec
+}
+
+// DefaultProduces returns the default produces media type
+func (o *XappFrameworkAPI) DefaultProduces() string {
+       return o.defaultProduces
+}
+
+// DefaultConsumes returns the default consumes media type
+func (o *XappFrameworkAPI) DefaultConsumes() string {
+       return o.defaultConsumes
+}
+
+// Formats returns the registered string formats
+func (o *XappFrameworkAPI) Formats() strfmt.Registry {
+       return o.formats
+}
+
+// RegisterFormat registers a custom format validator
+func (o *XappFrameworkAPI) RegisterFormat(name string, format strfmt.Format, validator strfmt.Validator) {
+       o.formats.Add(name, format, validator)
+}
+
+// Validate validates the registrations in the XappFrameworkAPI
+func (o *XappFrameworkAPI) Validate() error {
+       var unregistered []string
+
+       if o.JSONConsumer == nil {
+               unregistered = append(unregistered, "JSONConsumer")
+       }
+
+       if o.JSONProducer == nil {
+               unregistered = append(unregistered, "JSONProducer")
+       }
+
+       if o.CommonUnsubscribeHandler == nil {
+               unregistered = append(unregistered, "common.UnsubscribeHandler")
+       }
+
+       if o.ControlSubscribeControlHandler == nil {
+               unregistered = append(unregistered, "control.SubscribeControlHandler")
+       }
+
+       if o.PolicySubscribePolicyHandler == nil {
+               unregistered = append(unregistered, "policy.SubscribePolicyHandler")
+       }
+
+       if o.ReportSubscribeReportHandler == nil {
+               unregistered = append(unregistered, "report.SubscribeReportHandler")
+       }
+
+       if len(unregistered) > 0 {
+               return fmt.Errorf("missing registration: %s", strings.Join(unregistered, ", "))
+       }
+
+       return nil
+}
+
+// ServeErrorFor gets a error handler for a given operation id
+func (o *XappFrameworkAPI) ServeErrorFor(operationID string) func(http.ResponseWriter, *http.Request, error) {
+       return o.ServeError
+}
+
+// AuthenticatorsFor gets the authenticators for the specified security schemes
+func (o *XappFrameworkAPI) AuthenticatorsFor(schemes map[string]spec.SecurityScheme) map[string]runtime.Authenticator {
+
+       return nil
+
+}
+
+// Authorizer returns the registered authorizer
+func (o *XappFrameworkAPI) Authorizer() runtime.Authorizer {
+
+       return nil
+
+}
+
+// ConsumersFor gets the consumers for the specified media types
+func (o *XappFrameworkAPI) ConsumersFor(mediaTypes []string) map[string]runtime.Consumer {
+
+       result := make(map[string]runtime.Consumer)
+       for _, mt := range mediaTypes {
+               switch mt {
+
+               case "application/json":
+                       result["application/json"] = o.JSONConsumer
+
+               }
+
+               if c, ok := o.customConsumers[mt]; ok {
+                       result[mt] = c
+               }
+       }
+       return result
+
+}
+
+// ProducersFor gets the producers for the specified media types
+func (o *XappFrameworkAPI) ProducersFor(mediaTypes []string) map[string]runtime.Producer {
+
+       result := make(map[string]runtime.Producer)
+       for _, mt := range mediaTypes {
+               switch mt {
+
+               case "application/json":
+                       result["application/json"] = o.JSONProducer
+
+               }
+
+               if p, ok := o.customProducers[mt]; ok {
+                       result[mt] = p
+               }
+       }
+       return result
+
+}
+
+// HandlerFor gets a http.Handler for the provided operation method and path
+func (o *XappFrameworkAPI) HandlerFor(method, path string) (http.Handler, bool) {
+       if o.handlers == nil {
+               return nil, false
+       }
+       um := strings.ToUpper(method)
+       if _, ok := o.handlers[um]; !ok {
+               return nil, false
+       }
+       if path == "/" {
+               path = ""
+       }
+       h, ok := o.handlers[um][path]
+       return h, ok
+}
+
+// Context returns the middleware context for the xapp framework API
+func (o *XappFrameworkAPI) Context() *middleware.Context {
+       if o.context == nil {
+               o.context = middleware.NewRoutableContext(o.spec, o, nil)
+       }
+
+       return o.context
+}
+
+func (o *XappFrameworkAPI) initHandlerCache() {
+       o.Context() // don't care about the result, just that the initialization happened
+
+       if o.handlers == nil {
+               o.handlers = make(map[string]map[string]http.Handler)
+       }
+
+       if o.handlers["DELETE"] == nil {
+               o.handlers["DELETE"] = make(map[string]http.Handler)
+       }
+       o.handlers["DELETE"]["/subscriptions/{subscriptionId}"] = common.NewUnsubscribe(o.context, o.CommonUnsubscribeHandler)
+
+       if o.handlers["POST"] == nil {
+               o.handlers["POST"] = make(map[string]http.Handler)
+       }
+       o.handlers["POST"]["/subscriptions/control"] = control.NewSubscribeControl(o.context, o.ControlSubscribeControlHandler)
+
+       if o.handlers["POST"] == nil {
+               o.handlers["POST"] = make(map[string]http.Handler)
+       }
+       o.handlers["POST"]["/subscriptions/policy"] = policy.NewSubscribePolicy(o.context, o.PolicySubscribePolicyHandler)
+
+       if o.handlers["POST"] == nil {
+               o.handlers["POST"] = make(map[string]http.Handler)
+       }
+       o.handlers["POST"]["/subscriptions/report"] = report.NewSubscribeReport(o.context, o.ReportSubscribeReportHandler)
+
+}
+
+// Serve creates a http handler to serve the API over HTTP
+// can be used directly in http.ListenAndServe(":8000", api.Serve(nil))
+func (o *XappFrameworkAPI) Serve(builder middleware.Builder) http.Handler {
+       o.Init()
+
+       if o.Middleware != nil {
+               return o.Middleware(builder)
+       }
+       return o.context.APIHandler(builder)
+}
+
+// Init allows you to just initialize the handler cache, you can then recompose the middleware as you see fit
+func (o *XappFrameworkAPI) Init() {
+       if len(o.handlers) == 0 {
+               o.initHandlerCache()
+       }
+}
+
+// RegisterConsumer allows you to add (or override) a consumer for a media type.
+func (o *XappFrameworkAPI) RegisterConsumer(mediaType string, consumer runtime.Consumer) {
+       o.customConsumers[mediaType] = consumer
+}
+
+// RegisterProducer allows you to add (or override) a producer for a media type.
+func (o *XappFrameworkAPI) RegisterProducer(mediaType string, producer runtime.Producer) {
+       o.customProducers[mediaType] = producer
+}