Move capifcore code to separate folder
[nonrtric/plt/sme.git] / capifcore / internal / providermanagementapi / providermanagementapi-server.gen.go
1 // Package providermanagementapi 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 providermanagementapi
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/capifcore/internal/common29122"
20         externalRef1 "oransc.org/nonrtric/capifcore/internal/common29571"
21 )
22
23 // ServerInterface represents all server handlers.
24 type ServerInterface interface {
25
26         // (POST /registrations)
27         PostRegistrations(ctx echo.Context) error
28
29         // (DELETE /registrations/{registrationId})
30         DeleteRegistrationsRegistrationId(ctx echo.Context, registrationId string) error
31
32         // (PATCH /registrations/{registrationId})
33         ModifyIndApiProviderEnrolment(ctx echo.Context, registrationId string) error
34
35         // (PUT /registrations/{registrationId})
36         PutRegistrationsRegistrationId(ctx echo.Context, registrationId string) error
37 }
38
39 // ServerInterfaceWrapper converts echo contexts to parameters.
40 type ServerInterfaceWrapper struct {
41         Handler ServerInterface
42 }
43
44 // PostRegistrations converts echo context to params.
45 func (w *ServerInterfaceWrapper) PostRegistrations(ctx echo.Context) error {
46         var err error
47
48         // Invoke the callback with all the unmarshalled arguments
49         err = w.Handler.PostRegistrations(ctx)
50         return err
51 }
52
53 // DeleteRegistrationsRegistrationId converts echo context to params.
54 func (w *ServerInterfaceWrapper) DeleteRegistrationsRegistrationId(ctx echo.Context) error {
55         var err error
56         // ------------- Path parameter "registrationId" -------------
57         var registrationId string
58
59         err = runtime.BindStyledParameterWithLocation("simple", false, "registrationId", runtime.ParamLocationPath, ctx.Param("registrationId"), &registrationId)
60         if err != nil {
61                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter registrationId: %s", err))
62         }
63
64         // Invoke the callback with all the unmarshalled arguments
65         err = w.Handler.DeleteRegistrationsRegistrationId(ctx, registrationId)
66         return err
67 }
68
69 // ModifyIndApiProviderEnrolment converts echo context to params.
70 func (w *ServerInterfaceWrapper) ModifyIndApiProviderEnrolment(ctx echo.Context) error {
71         var err error
72         // ------------- Path parameter "registrationId" -------------
73         var registrationId string
74
75         err = runtime.BindStyledParameterWithLocation("simple", false, "registrationId", runtime.ParamLocationPath, ctx.Param("registrationId"), &registrationId)
76         if err != nil {
77                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter registrationId: %s", err))
78         }
79
80         // Invoke the callback with all the unmarshalled arguments
81         err = w.Handler.ModifyIndApiProviderEnrolment(ctx, registrationId)
82         return err
83 }
84
85 // PutRegistrationsRegistrationId converts echo context to params.
86 func (w *ServerInterfaceWrapper) PutRegistrationsRegistrationId(ctx echo.Context) error {
87         var err error
88         // ------------- Path parameter "registrationId" -------------
89         var registrationId string
90
91         err = runtime.BindStyledParameterWithLocation("simple", false, "registrationId", runtime.ParamLocationPath, ctx.Param("registrationId"), &registrationId)
92         if err != nil {
93                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter registrationId: %s", err))
94         }
95
96         // Invoke the callback with all the unmarshalled arguments
97         err = w.Handler.PutRegistrationsRegistrationId(ctx, registrationId)
98         return err
99 }
100
101 // This is a simple interface which specifies echo.Route addition functions which
102 // are present on both echo.Echo and echo.Group, since we want to allow using
103 // either of them for path registration
104 type EchoRouter interface {
105         CONNECT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
106         DELETE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
107         GET(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
108         HEAD(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
109         OPTIONS(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
110         PATCH(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
111         POST(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
112         PUT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
113         TRACE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
114 }
115
116 // RegisterHandlers adds each server route to the EchoRouter.
117 func RegisterHandlers(router EchoRouter, si ServerInterface) {
118         RegisterHandlersWithBaseURL(router, si, "")
119 }
120
121 // Registers handlers, and prepends BaseURL to the paths, so that the paths
122 // can be served under a prefix.
123 func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL string) {
124
125         wrapper := ServerInterfaceWrapper{
126                 Handler: si,
127         }
128
129         router.POST(baseURL+"/registrations", wrapper.PostRegistrations)
130         router.DELETE(baseURL+"/registrations/:registrationId", wrapper.DeleteRegistrationsRegistrationId)
131         router.PATCH(baseURL+"/registrations/:registrationId", wrapper.ModifyIndApiProviderEnrolment)
132         router.PUT(baseURL+"/registrations/:registrationId", wrapper.PutRegistrationsRegistrationId)
133
134 }
135
136 // Base64 encoded, gzipped, json marshaled Swagger object
137 var swaggerSpec = []string{
138
139         "H4sIAAAAAAAC/+xa73LbuBF/FQzambRTmpRke3LWN53/XDXXXDSWrv1wl/FAxFLElQR4AGhHzfiB+hp9",
140         "ss4CoiSKpORESe7mRl8ch+Qu9s9vf7sA/IHGKi+UBGkNHX6gJk4hZ+7X0WQ80epRcNC3UqssB2lvwDKR",
141         "udccTKxFYYWSdEjvodBgUAthkowmY1KsZAlXORPylSFQaSHcqwlpQAutCtBWgFPKCoFr3qh8zJuLtKgl",
142         "4xvCjBELCZzMl8SmQK5Hk/EdiZUGkpQyRmFilXuFGnIm2QKcHevXT6nIgGhYCGNBC7lYf72zXkimKcsy",
143         "IpUlcyArp4mQTuDvs9mETN5OZ0TDryUYSxKt8rWuNy0rrwxrsTnAd0qezRXTnAhrIEuq5etL4xNlU9De",
144         "gNXamAlONJhCSQMu2BoYfyuzJR1aXUJA7bIAOqTGosv0OdiOv0xUMwPfgQQtYiJkonTOnAcaMmaBb4d4",
145         "N0mmjFPCTJV3opLmp6woMhE7lc7WLtvuShm3AHBEMmEsahaSi0fBS5a12lKFd21NSP6VgiRCxlnJNyjq",
146         "gsp2qqss52AMW0BAhHVmmM5IbFa3KbMHFrIgucG4VsCMyoIzC2iDf6R9CpQmqze1x4VWMfBSQ4eLbYVS",
147         "d89jZ49/XUH17jG9KSrgGzM5IiIGY5Iyy5aYbWEhd1n9s4aEDumfog0vRStSirYY6W61YEVIzwHNhRx7",
148         "Lf01epjWbIkvEyaye2AGsdLkrtZQmgJikYiYoGypoQZ6lbjHwPdmuZYOE7bVbjPYc8WXRCSE2QwYQlpC",
149         "a8HsW6sLEUlFu43q0rCYQtwMzhTiUgu7rHkvAZPH9JIkSu/j3EeWCWcFflM3MDlEsfU4dVBrV/FY1WoS",
150         "mtsWxG3TWsNjyqK4A2a3IDqbDq4uX/cfrlWeK3nDLAuXLM9akTsti0JpCxx1lBoMfXYx/7UUGjgd/lTF",
151         "/916bTX/BWKLa+9pxBNm4/RrdONTN/gDdYMvzrfP+1G8q2wffveF7ZU5iF1c6qWjZKX240fKTk5uzJU+",
152         "Z19qwMw/fsCsbPs8A+a+Mv2sHLJ273OTyb3K4GBd+M8rKDsR30IrH/dJb48b443XbR3BqWua19okWmxq",
153         "BHuijBHzDLAvl2DcfHZGRrd3w3rANqzjC/D2faEMgraq3BDFJofEJuU8EyZtCL5ZCU66BLc2SmvBnyUN",
154         "KMgyx9iMbu8oUor7+eZuKyKbpHbFeR/b1AhzZ95j8qXNpJONrkHbj+OiV4bEmcBAxKgtQRjDHghPyvn3",
155         "sGzJPKYiJt/DEl2pBb/F+B3tO8CsL9UEI34P7y1oybIb1daez7+bTMhsSgZX4WAwIP/svw4vwh7xk5Sz",
156         "7k6zHJ6U/rcb2dz3Pyht07kqpZu5DQ1oqTM6pKm1hRlG0dPTU3i+KIpQ6UWU2CKaFhCbiOk4FY8QDa4e",
157         "DGgBJvKrRhg10cpJaEDXpLhp2RuyDQn5Wf7vv2TQGwwCb+xbvWBS/MeBh2VkwrSVoA35y+h+/G1ARrPx",
158         "NCDX19NRQG5n03FAZtMb989shD+u/+p0jrKMaLFIHTIN6Efgvg6ssFjf1LH6w2gyfqjS+bCpHXxOA/oI",
159         "2ni/+mE/7J2xrEhZeI7uqwIkKwRmJOyFPYQts6lLWFTbuuCTQhnbtXlC1xiR8NQKrSdh0wPBLLRKROab",
160         "CBaOr1ruOcve12zxaARjv1XcQT1WOBxZX2hrqo9+We32PPF+xLDTOO56rpeA1SW4B6vOh6oHvf7XM+Uw",
161         "f2zture32jSgKTAO2tn8DxV3UOK1kpYJ6SfXH+/HVVuV8JQtSazB9WcNRpU6hoCwOFaau7HG92xjdRnj",
162         "TmdIPrBC3CtlnyNWiLPK0LNN+USP/Traog/b/x3zZ7ob/WArkrtkhQG66PV2dmr9wWDvTm2dzAhlnYr+",
163         "ESr6XsX5ESrOvYqLI1RcOBX9Ixzpe0f6RzjS9470L49QcelUDK4+XcXgClVcHoGLS4+LyyOSeumTyiFh",
164         "ZWY/WU0l77F+qHZccWdgW+bBG9Br+m5jkfmSOFEs7Lb3OP+vObxJ3Tdu2Rp514Yy7hoOdnrrGOmnxuGT",
165         "q2kiOEgrkiX+zmrc1k59npXcNhe1YE+jAZUsR57Quxa8nFneNTj/ohnTWceOJWc2dqNw3QAceX16eIjY",
166         "OO+9/mRcoKxT8c0RKr6hJ/6s8+eJdhq04wbFtpPHN4qLZLl3r7Q5samzhRcdS761lV2PP02m+AKl/ZKh",
167         "Mge9gDPn/d8+21Tnj3FfNGX2fqspE3mNQyKk2D6/x02JiD3jCUNyzKHYGTpdm2BEV9vs2gXA+kKorkiD",
168         "LbUEXh18Vcddc8WXjidbufcHRa59aELy6faeePg0x57m2K/aUAJq2QJ5nY7rbWN9lNC4rqLvsAuVLUcS",
169         "PzpK2XP1VTvl6+xHk9L+wUbX3+DQpOOk9dAdcGuKiFVkvukYQrZdaoT0d9xDX+xp+59JHG57p8516lyn",
170         "zvV1T2CeA+qO5ldtwF9KvOTQkwb0kWnB5tn6kghFfH2v7FvfbsB7lhcZhLHK6S6trAT9NWgiVmOzKedx",
171         "xkoD5HV4iVxbv3VB2989/z8AAP//iW60XwAqAAA=",
172 }
173
174 // GetSwagger returns the content of the embedded swagger specification file
175 // or error if failed to decode
176 func decodeSpec() ([]byte, error) {
177         zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, ""))
178         if err != nil {
179                 return nil, fmt.Errorf("error base64 decoding spec: %s", err)
180         }
181         zr, err := gzip.NewReader(bytes.NewReader(zipped))
182         if err != nil {
183                 return nil, fmt.Errorf("error decompressing spec: %s", err)
184         }
185         var buf bytes.Buffer
186         _, err = buf.ReadFrom(zr)
187         if err != nil {
188                 return nil, fmt.Errorf("error decompressing spec: %s", err)
189         }
190
191         return buf.Bytes(), nil
192 }
193
194 var rawSpec = decodeSpecCached()
195
196 // a naive cached of a decoded swagger spec
197 func decodeSpecCached() func() ([]byte, error) {
198         data, err := decodeSpec()
199         return func() ([]byte, error) {
200                 return data, err
201         }
202 }
203
204 // Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
205 func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) {
206         var res = make(map[string]func() ([]byte, error))
207         if len(pathToFile) > 0 {
208                 res[pathToFile] = rawSpec
209         }
210
211         pathPrefix := path.Dir(pathToFile)
212
213         for rawPath, rawFunc := range externalRef0.PathToRawSpec(path.Join(pathPrefix, "TS29122_CommonData.yaml")) {
214                 if _, ok := res[rawPath]; ok {
215                         // it is not possible to compare functions in golang, so always overwrite the old value
216                 }
217                 res[rawPath] = rawFunc
218         }
219         for rawPath, rawFunc := range externalRef1.PathToRawSpec(path.Join(pathPrefix, "TS29571_CommonData.yaml")) {
220                 if _, ok := res[rawPath]; ok {
221                         // it is not possible to compare functions in golang, so always overwrite the old value
222                 }
223                 res[rawPath] = rawFunc
224         }
225         return res
226 }
227
228 // GetSwagger returns the Swagger specification corresponding to the generated code
229 // in this file. The external references of Swagger specification are resolved.
230 // The logic of resolving external references is tightly connected to "import-mapping" feature.
231 // Externally referenced files must be embedded in the corresponding golang packages.
232 // Urls can be supported but this task was out of the scope.
233 func GetSwagger() (swagger *openapi3.T, err error) {
234         var resolvePath = PathToRawSpec("")
235
236         loader := openapi3.NewLoader()
237         loader.IsExternalRefsAllowed = true
238         loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
239                 var pathToFile = url.String()
240                 pathToFile = path.Clean(pathToFile)
241                 getSpec, ok := resolvePath[pathToFile]
242                 if !ok {
243                         err1 := fmt.Errorf("path not found: %s", pathToFile)
244                         return nil, err1
245                 }
246                 return getSpec()
247         }
248         var specData []byte
249         specData, err = rawSpec()
250         if err != nil {
251                 return
252         }
253         swagger, err = loader.LoadFromData(specData)
254         if err != nil {
255                 return
256         }
257         return
258 }