NONRTRIC-946: Add support for Kong routes
[nonrtric/plt/sme.git] / servicemanager / 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/servicemanager/internal/common29122"
20         externalRef1 "oransc.org/nonrtric/servicemanager/internal/common29571"
21         externalRef2 "oransc.org/nonrtric/servicemanager/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/+xa75LbthF/FQzSmSRTmpR4vjqnb8pdnHKa5DSW3H7IeW4gcikiRwIsAJ6i3uiB+hp9",
141         "sg7+UCJFSlZP7tXjyuOxJQpYLPbPb39Y4gnHvCg5A6YkHj1hGWdQEPNxPIki9sgfQPzABM8LYOoGFKG5",
142         "+TUBGQtaKsoZHuGIpVwURH9DZM4rhVQGaDyJkBOBVEYUEvD3CqSCBCmOOJtzIhLs4VLwEoSiYCSTkrpJ",
143         "UdJdScukTmZ0g4iUdMEgQfOVWfJ6PIneopgLQGnFYqOQ4htt6pnLjOaAOHtlVKBssTvCR9OM5DliXKE5",
144         "oFKABKYQZWbgn2ezCZrcTmf1jlAqeNFZxS3co5NnDWCXR1RJyNN6yfZy+glXGQi7qFtPIsISJECWnEmQ",
145         "/h3DHhZAkluWr/BIiQo8rFYl4BGWSlC2wGuvadmtv7om/hEYCBoj2nCqgJw4v+3uUlZxhohEiQ0OxFMz",
146         "JIFHGgPiwnwjZZnT2MiyyvYp9xOVSqvzBwEpHuGvgm1sBi4wg/EkMsPWHmZc0dQJvQGpKNtsyEmYTcOr",
147         "YRjeX/Oi4OyGKOKvSJH3Cn4vqBbqopKyxY6NDil12ztprV1i3DUDqX5paNu1+RSUsa2oQIfytJrrX+c2",
148         "iOogOxDgEliCCFJ6WNMu1jEp1SlCmf4b56SSgN74f/KRWzUluTSe4gVV2ssm4JZUQstXc85zIGZfsipL",
149         "LhQkb4GoStjEbRj98s3wKKNPO3LWHl7CXPL4wRjsmrOULp7p0r91Ba2dU6iABI9+3ePu/bH1YWMNPv8N",
150         "YhOH+4FyQlScdZ39DlyC6zRuouTXEkEtYpNPimtIqMpEJ6B/CC7PSf0CSb3uj4B6m22rzzJAOZVK20+C",
151         "MMYbTyJpy+FujaRSwz1fWpdYV2APUwXFboKF2gAaCu4n1TynMrufWvH340l0IN/soPEkumnoufZwQVlk",
152         "lxlu9keEICv94+0+8+0N62ZlbUacC6NmoT0Q0Nf6oQkG6DdtO3UWLsTjnOr8ibezPVQK/kiTgzxhfwi7",
153         "JYyl47/A6hhlSjMYPcCqT+g2IKcQC1DHSNzOQdJMev6udkCwb4t9QLeNg8PFrIlv7WrE01ZocOFwTVOZ",
154         "KleHgqGPhH4EU/bNfBYwCZC8EjH8xONPgEh2v3t5wB3WTOAOI8oSE8EakGOQMq3ypgV9dFuXaiTrqaac",
155         "3+Gewr3jd6dE19V6IPyuQDCS3/C4h/Bf/DiZoNkUhVd+GIbor8M3/qU/QNYCJnDfClLAkosHlHKBzPhf",
156         "uFDZnFcsMSCIPVyJHI9wplQpR0GwXC79i0VZ+lwsglSVwbSEWAZExBl9hCC8upcgKMjArhpoQ2p06T8l",
157         "6GWbJa0gjCxAx4GP0B371z9ROAhDz6p2KxaE0X8Yz5IcTYhQDIRE34zfRd97aDyLph66vp6OPfTDbBp5",
158         "aDa9Mf/Nxvqf62+NzHGeI0EXmZI6oEE8QuLyj6pcG9hC9ngS3bvYvP95o5V+jD38CELaTQz90B8YtCiB",
159         "kZJqs/sDf6CThKjMeCVwqACJE2ieltyGdkzyfE7iB/PwQGV9cgzTn/Nk9VWwZ+S6Kbptb4MHq05B2x4F",
160         "G+ClkyIHx7Pcwt/zxKBqzJkCpmzmb8hF8Ju0etokOr5wt2Bq3Q5/nWA2Ee0ZSksNB6/79oaurVrom1YW",
161         "bnbUtNe32mEXgzf/ITxs1Aj0XCPiuxNEfKdFvB4Mni1CzzUihieIGFoRFyeIuLAiXp8g4rURMTxhI0O7",
162         "keEJGxnajQwvTxBxaUSEV88XEV5pEZcnxMWljYvLE5x6aZ2aQEpcCXyWmHr+2vzxdpL2WgBRYPgHLE0V",
163         "faRJRfIWPJWCpzQHzTo05zD5GyV4hCdcqtsOsP530OoQTzkGsYYvpsn+RlzNSCBp8JR8pQ2bAUlcVWoy",
164         "px1vcaYIZdKUivfvovqcwGCZr1BsfGnaXYaBeYjEMXdtO3t0lUpUsaoEoCdS0necq3VASvrKKfhqW/uD",
165         "x2G3ZgZPjRNisr6rK9PW7l7DhrtkWtsmHIT9HL5ByTMiteZQmjN3BmhbqDYtHsISfQwsBddWNMcn5Z/B",
166         "/Azm/z9g7uGPJqhNtRz6+gI35rnprPXDfhfu7ZQO4DfaHuYtBdEnGmXA7NfOuc2AAaIJMM2E9ee2Ag2I",
167         "bCJnjWlYn2TwyBB77GFGCnMea2twPCR9OIbYanjaUxkLouLMnNAbGqAlkYinqduHf2a6nyU4njGlgynm",
168         "wNzXif+ZJ/rc2sWKOj9d/7uLGXZmxJJx3aHakKYuVnzy1D6GhhYgFvDKbPyPn4oI2hcaR/HSwf+Il87M",
169         "a4qUMtrsODea75pfFdp7dIeuGvJFkKi7l62WtXv/sitIgKqEe7mmh9U8bs6TlX9nWusfaSr46PkanyH4",
170         "zE/P/PRFa4mHFVloVMdRP3XqvMDFH3T9qT6zhmyzyLl3MF9IY7ZnZ+cG7Rkzz5j5WTVo35vMlM+h3pNK",
171         "fXFn9ZfvK7dt0k96e9zRvo6kaW/PpQP8+R4P+ra04fa71PpZXd2e+lMvdLDLe+C00BD5tWxdqOlT3UNL",
172         "qjLEOHL2dT5r3mCtvdE8qJyL4rkonoviCxZFD5s7Iq5I2bswR7y/wh5+JIKSeb65I6VnWNhw6m3u1MDv",
173         "RLN6P+YF3sVCN3HnjvDmgvClLgPtiz5a7w/rfwcAAP//IwRBszUwAAA=",
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 }