e7681dc90ee11d5db4bbd6a91386bf39fc3e93db
[nonrtric/plt/sme.git] / internal / invokermanagementapi / invokermanagementapi-server.gen.go
1 // Package invokermanagementapi provides primitives to interact with the openapi HTTP API.
2 //
3 // Code generated by github.com/deepmap/oapi-codegen version v1.10.1 DO NOT EDIT.
4 package invokermanagementapi
5
6 import (
7         "bytes"
8         "compress/gzip"
9         "encoding/base64"
10         "fmt"
11         "net/http"
12         "net/url"
13         "path"
14         "strings"
15
16         "github.com/deepmap/oapi-codegen/pkg/runtime"
17         "github.com/getkin/kin-openapi/openapi3"
18         "github.com/labstack/echo/v4"
19         externalRef0 "oransc.org/nonrtric/sme/internal/common29122"
20         externalRef1 "oransc.org/nonrtric/sme/internal/common29571"
21         externalRef2 "oransc.org/nonrtric/sme/internal/publishserviceapi"
22 )
23
24 // ServerInterface represents all server handlers.
25 type ServerInterface interface {
26
27         // (POST /onboardedInvokers)
28         PostOnboardedInvokers(ctx echo.Context) error
29
30         // (DELETE /onboardedInvokers/{onboardingId})
31         DeleteOnboardedInvokersOnboardingId(ctx echo.Context, onboardingId string) error
32
33         // (PATCH /onboardedInvokers/{onboardingId})
34         ModifyIndApiInvokeEnrolment(ctx echo.Context, onboardingId string) error
35
36         // (PUT /onboardedInvokers/{onboardingId})
37         PutOnboardedInvokersOnboardingId(ctx echo.Context, onboardingId string) error
38 }
39
40 // ServerInterfaceWrapper converts echo contexts to parameters.
41 type ServerInterfaceWrapper struct {
42         Handler ServerInterface
43 }
44
45 // PostOnboardedInvokers converts echo context to params.
46 func (w *ServerInterfaceWrapper) PostOnboardedInvokers(ctx echo.Context) error {
47         var err error
48
49         // Invoke the callback with all the unmarshalled arguments
50         err = w.Handler.PostOnboardedInvokers(ctx)
51         return err
52 }
53
54 // DeleteOnboardedInvokersOnboardingId converts echo context to params.
55 func (w *ServerInterfaceWrapper) DeleteOnboardedInvokersOnboardingId(ctx echo.Context) error {
56         var err error
57         // ------------- Path parameter "onboardingId" -------------
58         var onboardingId string
59
60         err = runtime.BindStyledParameterWithLocation("simple", false, "onboardingId", runtime.ParamLocationPath, ctx.Param("onboardingId"), &onboardingId)
61         if err != nil {
62                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter onboardingId: %s", err))
63         }
64
65         // Invoke the callback with all the unmarshalled arguments
66         err = w.Handler.DeleteOnboardedInvokersOnboardingId(ctx, onboardingId)
67         return err
68 }
69
70 // ModifyIndApiInvokeEnrolment converts echo context to params.
71 func (w *ServerInterfaceWrapper) ModifyIndApiInvokeEnrolment(ctx echo.Context) error {
72         var err error
73         // ------------- Path parameter "onboardingId" -------------
74         var onboardingId string
75
76         err = runtime.BindStyledParameterWithLocation("simple", false, "onboardingId", runtime.ParamLocationPath, ctx.Param("onboardingId"), &onboardingId)
77         if err != nil {
78                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter onboardingId: %s", err))
79         }
80
81         // Invoke the callback with all the unmarshalled arguments
82         err = w.Handler.ModifyIndApiInvokeEnrolment(ctx, onboardingId)
83         return err
84 }
85
86 // PutOnboardedInvokersOnboardingId converts echo context to params.
87 func (w *ServerInterfaceWrapper) PutOnboardedInvokersOnboardingId(ctx echo.Context) error {
88         var err error
89         // ------------- Path parameter "onboardingId" -------------
90         var onboardingId string
91
92         err = runtime.BindStyledParameterWithLocation("simple", false, "onboardingId", runtime.ParamLocationPath, ctx.Param("onboardingId"), &onboardingId)
93         if err != nil {
94                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter onboardingId: %s", err))
95         }
96
97         // Invoke the callback with all the unmarshalled arguments
98         err = w.Handler.PutOnboardedInvokersOnboardingId(ctx, onboardingId)
99         return err
100 }
101
102 // This is a simple interface which specifies echo.Route addition functions which
103 // are present on both echo.Echo and echo.Group, since we want to allow using
104 // either of them for path registration
105 type EchoRouter interface {
106         CONNECT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
107         DELETE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
108         GET(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
109         HEAD(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
110         OPTIONS(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
111         PATCH(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
112         POST(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
113         PUT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
114         TRACE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
115 }
116
117 // RegisterHandlers adds each server route to the EchoRouter.
118 func RegisterHandlers(router EchoRouter, si ServerInterface) {
119         RegisterHandlersWithBaseURL(router, si, "")
120 }
121
122 // Registers handlers, and prepends BaseURL to the paths, so that the paths
123 // can be served under a prefix.
124 func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL string) {
125
126         wrapper := ServerInterfaceWrapper{
127                 Handler: si,
128         }
129
130         router.POST(baseURL+"/onboardedInvokers", wrapper.PostOnboardedInvokers)
131         router.DELETE(baseURL+"/onboardedInvokers/:onboardingId", wrapper.DeleteOnboardedInvokersOnboardingId)
132         router.PATCH(baseURL+"/onboardedInvokers/:onboardingId", wrapper.ModifyIndApiInvokeEnrolment)
133         router.PUT(baseURL+"/onboardedInvokers/:onboardingId", wrapper.PutOnboardedInvokersOnboardingId)
134
135 }
136
137 // Base64 encoded, gzipped, json marshaled Swagger object
138 var swaggerSpec = []string{
139
140         "H4sIAAAAAAAC/+xa3ZLbthV+FQzSi2RKkxJ3t87qTtmNU06TrMaS24usZwciD0VkSYAFQCnqjmb6Gn2E",
141         "vkYfpU/SwQ8lSqRkVXJcTyqPx5Yo4ODg/HznwyFecMyLkjNgSuLBC5ZxBgUxH4ejKGJz/gziWyZ4XgBT",
142         "96AIzc2vCchY0FJRzvAARyzloiD6GyJTXimkMkDDUYScCKQyopCAv1YgFSRIccTZlBORYA+XgpcgFAUj",
143         "mZTUTYqS9kpaJnUyo3tEpKQzBgmaLs2Sd8NR9AbFXABKKxYbhRRfa1PPXGQ0B8TZK6MCZbPdET4aZyTP",
144         "EeMKTQGVAiQwhSgzA/84mYzQ6GE8qXeEUsGL1ipu4Q6dPGsAuzyiSkKe1ktuL6efcJWBsIu69SQiLEEC",
145         "ZMmZBOljDwsgyQPLl3igRAUeVssS8ABLJSib4ZXXtOvGW20DfwcMBI0RbbhUQE6c13b3KKs4Q0SixIYG",
146         "4qkZksCcxoC4MN9IWeY0NrK0ql2qfU+l0sr8TkCKB/iLYBOXgQvKYDiKzLCVhxlXNHUi70EqytbbcRIm",
147         "4/C2H4ZPd7woOLsnivhLUuSdgt8JqoW6iKRstmOhQ0o9dE5aaYcYV01Aqh8b2rYtPgZlLCsq0GE8rqb6",
148         "16kNoDrADgS3BJYggpQe1rSLdUtKdXpQpv/KahrnpJKAXvt/8JFbOCW5NK7iBVXazSbeFlRCw1lTznMg",
149         "ZmOyKksuFCRvgKhK2KxtWP3mdf8oq49bclYeXsBU8vjZWOyOs5TOTvTpX9qCVs4rVECCBz/t8ff+4Hq/",
150         "tgaf/gyxCcT9KDkiKs7a3n4LLrt1Djch8t9//4dEUAtZJ5TiGhGqMtEZ6B9Cy0tW/+pZveqOgHqb2zaf",
151         "ZIByKpW2ngRhTDccRdLWwt0CSaXGer6wDrGOwB6mCordBAu1ATQWPI2qaU5l9jS24p+Go+hAvtlBw1F0",
152         "39Bz5eGCssgu01/vjwhBlvrHh33m2xvWzbLajDcXRM0qeyCc7/RDEwzQbdrd1Jm5EI9zqvMn3sz3UCn4",
153         "nCYHacK+EHZLGEvHf4LlccqUZjh6hmWX2E1IjiEWoI6TuZmFpJl26r52YLBrk11Qt4mEw/WsiXDbBYmn",
154         "W8HBhcM1zWSqXB0Khy4O+gFU2TfzJGgSIHklYviexx8Bk+x+91KBR6zJwCNGlCUmgjUgxyBlWuVNC/ro",
155         "oS7VSNZTTTl/xB2le8fvTom2q/VA+EWBYCS/53EH37/6bjRCkzEKb/0wDNGf+6/9a7+HrAVM4L4RpIAF",
156         "F88o5QKZ8T9yobIpr1hiYBB7uBI5HuBMqVIOgmCxWPhXs7L0uZgFqSqDcQmxDIiIMzqHILx9kiAoyMCu",
157         "GmhDanzpPiToZZslrSCMzEDHgY/QI/vXP1HYC0PPqvYgZoTRvxnPkhyNiFAMhERfDt9G33hoOInGHrq7",
158         "Gw899O1kHHloMr43/02G+p+7r4zMYZ4jQWeZkjqgQcwh8R81oVBU5drAFrSHo+jJxebTD2ut9GPs4TkI",
159         "aTfR90O/94rkZUb8a4MaJTBSUm1+v+f3dLIQlRnvBA4bIHGCzdOS2xCPSZ5PSfxsHh6osS+ObPpTniy/",
160         "CPaMXDVFb9vd4MKyVdo2J8IGhOnkyMExLrfwNzwx+BpzpoApiwBrkhH8LK2eNpmOL+FbcLXaTgOdaDYh",
161         "7VFKSw171117Q3dWLfTlVjaud9S011faYVe91/8lTKzVCPRcI+LrM0R8rUVc93oni9BzjYj+GSL6VsTV",
162         "GSKurIjrM0SYFLrun7GRvt1I/4yN9O1G+jdniLgxIsLb00WEt1rEzRlxcWPj4uYMp95YpyaQElcKTxJT",
163         "z1+ZP95O0t4JIAoMD4GFqaZzmlQk34KnUvCU5uawq7mHyd8owQM84lI9tID110GrQ3zlGMTqfzJN9vfj",
164         "amYCSYOv5Ett2AxI4qpSk0HteIszRSiTplS8exvVJwYGi3yJYuNL0/UyTMxDJI65697ZI6xUoopVJWCA",
165         "XkhJ33KuVgEp6Sun4asNCQjm/XbRDF4ah8VkhXfN7jVMuMuptWnCXthN5Ru8PCNSKw6lOXpngDZ1at3s",
166         "ISzR58FScG1Ec45S/gXLL1j+/4PlHv5weppUy6GrQXBvnpsWWzfqt9HeTmnhfaP/Yd5VEH2wUQbLfmod",
167         "3wwYIJoA00RYf95WoIGQTeCsIQ3rAw0eGF6PPcxIYY5l2xocD0nvj+G1Gp72FMaCqDgzB/WGBmhBJOJp",
168         "6vbhX4juZwmOF0xpYYo5L3e15H/giT62trGizk/XBm9jhp0ZsWRYN6rWnKmNFR89tY9hoQWIGbwyG//9",
169         "x+KB9s3GUbS09z+ipRPztiKljDZbz40uvOZXhfYe3WGrhnwRJOom5lbv2r2G2RUkQFXCvWbTw2oeN+XJ",
170         "0gDkBzoKPjpd3wsAX9jphZ1+0kriYUVmGtNx1E2cWm9x8XtdfarPrBvbLHHuRcxvpCvbsbNLd/aCmRfM",
171         "/Ky6s+9MZspTiPeoUr+5k/qnbypv26Sb8na4Y/tOkia9HfcO8Od7OOja0prZ71Lrk3q6HfWnXuiDPd7O",
172         "OtcQaO6CNO/VdKnuoQVVGWIcOfs6nzVvsdbe2BxTLiXxUhIvJfETlkQPm2sirkTZ6zBHvLnCHp4TQck0",
173         "X1+T0jMsbDj11tdq4BeiOb0f8wLvIqGbuHNTuHlN+EbXge3rPlr196v/BAAA//8yLcz9OjAAAA==",
174 }
175
176 // GetSwagger returns the content of the embedded swagger specification file
177 // or error if failed to decode
178 func decodeSpec() ([]byte, error) {
179         zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, ""))
180         if err != nil {
181                 return nil, fmt.Errorf("error base64 decoding spec: %s", err)
182         }
183         zr, err := gzip.NewReader(bytes.NewReader(zipped))
184         if err != nil {
185                 return nil, fmt.Errorf("error decompressing spec: %s", err)
186         }
187         var buf bytes.Buffer
188         _, err = buf.ReadFrom(zr)
189         if err != nil {
190                 return nil, fmt.Errorf("error decompressing spec: %s", err)
191         }
192
193         return buf.Bytes(), nil
194 }
195
196 var rawSpec = decodeSpecCached()
197
198 // a naive cached of a decoded swagger spec
199 func decodeSpecCached() func() ([]byte, error) {
200         data, err := decodeSpec()
201         return func() ([]byte, error) {
202                 return data, err
203         }
204 }
205
206 // Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
207 func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) {
208         var res = make(map[string]func() ([]byte, error))
209         if len(pathToFile) > 0 {
210                 res[pathToFile] = rawSpec
211         }
212
213         pathPrefix := path.Dir(pathToFile)
214
215         for rawPath, rawFunc := range externalRef0.PathToRawSpec(path.Join(pathPrefix, "TS29122_CommonData.yaml")) {
216                 if _, ok := res[rawPath]; ok {
217                         // it is not possible to compare functions in golang, so always overwrite the old value
218                 }
219                 res[rawPath] = rawFunc
220         }
221         for rawPath, rawFunc := range externalRef2.PathToRawSpec(path.Join(pathPrefix, "TS29222_CAPIF_Publish_Service_API.yaml")) {
222                 if _, ok := res[rawPath]; ok {
223                         // it is not possible to compare functions in golang, so always overwrite the old value
224                 }
225                 res[rawPath] = rawFunc
226         }
227         for rawPath, rawFunc := range externalRef1.PathToRawSpec(path.Join(pathPrefix, "TS29571_CommonData.yaml")) {
228                 if _, ok := res[rawPath]; ok {
229                         // it is not possible to compare functions in golang, so always overwrite the old value
230                 }
231                 res[rawPath] = rawFunc
232         }
233         return res
234 }
235
236 // GetSwagger returns the Swagger specification corresponding to the generated code
237 // in this file. The external references of Swagger specification are resolved.
238 // The logic of resolving external references is tightly connected to "import-mapping" feature.
239 // Externally referenced files must be embedded in the corresponding golang packages.
240 // Urls can be supported but this task was out of the scope.
241 func GetSwagger() (swagger *openapi3.T, err error) {
242         var resolvePath = PathToRawSpec("")
243
244         loader := openapi3.NewLoader()
245         loader.IsExternalRefsAllowed = true
246         loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
247                 var pathToFile = url.String()
248                 pathToFile = path.Clean(pathToFile)
249                 getSpec, ok := resolvePath[pathToFile]
250                 if !ok {
251                         err1 := fmt.Errorf("path not found: %s", pathToFile)
252                         return nil, err1
253                 }
254                 return getSpec()
255         }
256         var specData []byte
257         specData, err = rawSpec()
258         if err != nil {
259                 return
260         }
261         swagger, err = loader.LoadFromData(specData)
262         if err != nil {
263                 return
264         }
265         return
266 }