1fbde0b7d8ee142a3c780d8d02b86630851bbf81
[nonrtric/plt/sme.git] / capifcore / internal / securityapi / securityapi-server.gen.go
1 // Package securityapi 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 securityapi
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         externalRef2 "oransc.org/nonrtric/capifcore/internal/publishserviceapi"
22 )
23
24 // ServerInterface represents all server handlers.
25 type ServerInterface interface {
26
27         // (POST /securities/{securityId}/token)
28         PostSecuritiesSecurityIdToken(ctx echo.Context, securityId string) error
29
30         // (DELETE /trustedInvokers/{apiInvokerId})
31         DeleteTrustedInvokersApiInvokerId(ctx echo.Context, apiInvokerId string) error
32
33         // (GET /trustedInvokers/{apiInvokerId})
34         GetTrustedInvokersApiInvokerId(ctx echo.Context, apiInvokerId string, params GetTrustedInvokersApiInvokerIdParams) error
35
36         // (PUT /trustedInvokers/{apiInvokerId})
37         PutTrustedInvokersApiInvokerId(ctx echo.Context, apiInvokerId string) error
38
39         // (POST /trustedInvokers/{apiInvokerId}/delete)
40         PostTrustedInvokersApiInvokerIdDelete(ctx echo.Context, apiInvokerId string) error
41
42         // (POST /trustedInvokers/{apiInvokerId}/update)
43         PostTrustedInvokersApiInvokerIdUpdate(ctx echo.Context, apiInvokerId string) error
44 }
45
46 // ServerInterfaceWrapper converts echo contexts to parameters.
47 type ServerInterfaceWrapper struct {
48         Handler ServerInterface
49 }
50
51 // PostSecuritiesSecurityIdToken converts echo context to params.
52 func (w *ServerInterfaceWrapper) PostSecuritiesSecurityIdToken(ctx echo.Context) error {
53         var err error
54         // ------------- Path parameter "securityId" -------------
55         var securityId string
56
57         err = runtime.BindStyledParameterWithLocation("simple", false, "securityId", runtime.ParamLocationPath, ctx.Param("securityId"), &securityId)
58         if err != nil {
59                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter securityId: %s", err))
60         }
61
62         // Invoke the callback with all the unmarshalled arguments
63         err = w.Handler.PostSecuritiesSecurityIdToken(ctx, securityId)
64         return err
65 }
66
67 // DeleteTrustedInvokersApiInvokerId converts echo context to params.
68 func (w *ServerInterfaceWrapper) DeleteTrustedInvokersApiInvokerId(ctx echo.Context) error {
69         var err error
70         // ------------- Path parameter "apiInvokerId" -------------
71         var apiInvokerId string
72
73         err = runtime.BindStyledParameterWithLocation("simple", false, "apiInvokerId", runtime.ParamLocationPath, ctx.Param("apiInvokerId"), &apiInvokerId)
74         if err != nil {
75                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter apiInvokerId: %s", err))
76         }
77
78         // Invoke the callback with all the unmarshalled arguments
79         err = w.Handler.DeleteTrustedInvokersApiInvokerId(ctx, apiInvokerId)
80         return err
81 }
82
83 // GetTrustedInvokersApiInvokerId converts echo context to params.
84 func (w *ServerInterfaceWrapper) GetTrustedInvokersApiInvokerId(ctx echo.Context) error {
85         var err error
86         // ------------- Path parameter "apiInvokerId" -------------
87         var apiInvokerId string
88
89         err = runtime.BindStyledParameterWithLocation("simple", false, "apiInvokerId", runtime.ParamLocationPath, ctx.Param("apiInvokerId"), &apiInvokerId)
90         if err != nil {
91                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter apiInvokerId: %s", err))
92         }
93
94         // Parameter object where we will unmarshal all parameters from the context
95         var params GetTrustedInvokersApiInvokerIdParams
96         // ------------- Optional query parameter "authenticationInfo" -------------
97
98         err = runtime.BindQueryParameter("form", true, false, "authenticationInfo", ctx.QueryParams(), &params.AuthenticationInfo)
99         if err != nil {
100                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter authenticationInfo: %s", err))
101         }
102
103         // ------------- Optional query parameter "authorizationInfo" -------------
104
105         err = runtime.BindQueryParameter("form", true, false, "authorizationInfo", ctx.QueryParams(), &params.AuthorizationInfo)
106         if err != nil {
107                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter authorizationInfo: %s", err))
108         }
109
110         // Invoke the callback with all the unmarshalled arguments
111         err = w.Handler.GetTrustedInvokersApiInvokerId(ctx, apiInvokerId, params)
112         return err
113 }
114
115 // PutTrustedInvokersApiInvokerId converts echo context to params.
116 func (w *ServerInterfaceWrapper) PutTrustedInvokersApiInvokerId(ctx echo.Context) error {
117         var err error
118         // ------------- Path parameter "apiInvokerId" -------------
119         var apiInvokerId string
120
121         err = runtime.BindStyledParameterWithLocation("simple", false, "apiInvokerId", runtime.ParamLocationPath, ctx.Param("apiInvokerId"), &apiInvokerId)
122         if err != nil {
123                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter apiInvokerId: %s", err))
124         }
125
126         // Invoke the callback with all the unmarshalled arguments
127         err = w.Handler.PutTrustedInvokersApiInvokerId(ctx, apiInvokerId)
128         return err
129 }
130
131 // PostTrustedInvokersApiInvokerIdDelete converts echo context to params.
132 func (w *ServerInterfaceWrapper) PostTrustedInvokersApiInvokerIdDelete(ctx echo.Context) error {
133         var err error
134         // ------------- Path parameter "apiInvokerId" -------------
135         var apiInvokerId string
136
137         err = runtime.BindStyledParameterWithLocation("simple", false, "apiInvokerId", runtime.ParamLocationPath, ctx.Param("apiInvokerId"), &apiInvokerId)
138         if err != nil {
139                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter apiInvokerId: %s", err))
140         }
141
142         // Invoke the callback with all the unmarshalled arguments
143         err = w.Handler.PostTrustedInvokersApiInvokerIdDelete(ctx, apiInvokerId)
144         return err
145 }
146
147 // PostTrustedInvokersApiInvokerIdUpdate converts echo context to params.
148 func (w *ServerInterfaceWrapper) PostTrustedInvokersApiInvokerIdUpdate(ctx echo.Context) error {
149         var err error
150         // ------------- Path parameter "apiInvokerId" -------------
151         var apiInvokerId string
152
153         err = runtime.BindStyledParameterWithLocation("simple", false, "apiInvokerId", runtime.ParamLocationPath, ctx.Param("apiInvokerId"), &apiInvokerId)
154         if err != nil {
155                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter apiInvokerId: %s", err))
156         }
157
158         // Invoke the callback with all the unmarshalled arguments
159         err = w.Handler.PostTrustedInvokersApiInvokerIdUpdate(ctx, apiInvokerId)
160         return err
161 }
162
163 // This is a simple interface which specifies echo.Route addition functions which
164 // are present on both echo.Echo and echo.Group, since we want to allow using
165 // either of them for path registration
166 type EchoRouter interface {
167         CONNECT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
168         DELETE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
169         GET(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
170         HEAD(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
171         OPTIONS(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
172         PATCH(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
173         POST(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
174         PUT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
175         TRACE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
176 }
177
178 // RegisterHandlers adds each server route to the EchoRouter.
179 func RegisterHandlers(router EchoRouter, si ServerInterface) {
180         RegisterHandlersWithBaseURL(router, si, "")
181 }
182
183 // Registers handlers, and prepends BaseURL to the paths, so that the paths
184 // can be served under a prefix.
185 func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL string) {
186
187         wrapper := ServerInterfaceWrapper{
188                 Handler: si,
189         }
190
191         router.POST(baseURL+"/securities/:securityId/token", wrapper.PostSecuritiesSecurityIdToken)
192         router.DELETE(baseURL+"/trustedInvokers/:apiInvokerId", wrapper.DeleteTrustedInvokersApiInvokerId)
193         router.GET(baseURL+"/trustedInvokers/:apiInvokerId", wrapper.GetTrustedInvokersApiInvokerId)
194         router.PUT(baseURL+"/trustedInvokers/:apiInvokerId", wrapper.PutTrustedInvokersApiInvokerId)
195         router.POST(baseURL+"/trustedInvokers/:apiInvokerId/delete", wrapper.PostTrustedInvokersApiInvokerIdDelete)
196         router.POST(baseURL+"/trustedInvokers/:apiInvokerId/update", wrapper.PostTrustedInvokersApiInvokerIdUpdate)
197
198 }
199
200 // Base64 encoded, gzipped, json marshaled Swagger object
201 var swaggerSpec = []string{
202
203         "H4sIAAAAAAAC/+xa/W7bOBJ/FUJ7wLaAItlu0m79n+u4hRe7qRE52wO2gUFLY5sbiVRJyk4u8APda9yT",
204         "HUhKsmRL/og3veytgaKxZfJHztdvhiM+Wj6LYkaBSmG1Hy3hzyDC+mPH90GIIbsD2uNcPQlA+JzEkjBq",
205         "ta1riDkINRFhioBzxhGhSM4AYT0VSTUXcfiWgJCOZVsxZzFwSUAvoKfoDzSJrPbvFqFzHJJglM6w7PyJ",
206         "HxKgxQdTjvX3hOJEzhgn/4LCqISKJI4Zl5COHMmHGArThc9isG5tSz9vW0JyQqfW0jabGpUkfawblXBS",
207         "8evStpQAhEOghDJSrpZi4z/AlwqkoOBr+LZVwXVKRYROGI+wmqEUbL5Ybev+bLFYnKmvZwkPgfosgGDD",
208         "AkZhIxJUCpn+KsDnICtHFHRbMGM6z+cQAJUEh6JS08YGO/VXst9qw7sUKuJDFSpiRgWsa7SsMDNlpKds",
209         "4v/8xUNdFsXYl8gDTnCo3BLxbFkNitgEqYGCTCkE6Gfv8xUyIqBXBQG6ISaReP2VWlVOeh8TDmJE9Cb+",
210         "wWFita2h13rfbLVGXRZFjF5iiZ0HHIU/uKsId9Pwdi8Trjfjgb/NFLalJd2w8AfAHHiFVddsV1JXCawk",
211         "Q5UtuzgRsKniAROCjENAcxwmIBDm0P5Kz9Dn33rXv/R/7Q9HN17nU6+NhjNAHObMz5WuTZ6SRelhZ9BH",
212         "hM7ZHXBEBAoSQJLpX9gceEgiIlEi8BSyCQL4nPh6olr75qr3z0GvO+xdjq57He/z1Z+wekLhPgZfavfB",
213         "glFHe0JmgDVxLdva2ERlzHngJ5zIh/7KyXeGCaES+AT7gAKQmISK7oNUDwYNRSBnLFDhwih8nljt3x9L",
214         "fpBDXBoE63Zpl0dgmPQD63Z5uxFx+oeNPfY1tUwI8KIe4T5mgtApmiTU1yMrdIBjUoWo7ZCjVk5M5Ez9",
215         "boyqVFiBUhqDOIRY2bBAKnXIuWPUA698Z0/cDb2X2aKl2KIz6H8cDZJxSMRs5BnPHnUG/Xry6K9QVztc",
216         "KsPBJHOwX7VHiE05vLLPCKRmAecQoPHDRkBMGC88S5dVfkYkRH+SOOUtK0EiQvsGv5krFXOOHzRXQrg2",
217         "41l2scakVbqtos1szBVTfuzvjnDFUncQrHETLUzPwr4iG1bHpqf9LwumB/VZ27D30amNR7FPiBd4t+gC",
218         "G4hb7aeWM951yN4LPolFmrpTf9XGRj7jkNNOpZx+ltFSZ6l0A5P2NvJocc+5xjLIaj/QqsrcYSfJZ9Se",
219         "a7oUpToOAfuzogkKAYm+zIAiQv0wCSoD2UZE1aqBcikwK67iPl2DTfJlawArNF0BvL53ydAYUCIgyOmk",
220         "WgqdYcseXoyDSxCS0DyinlB13XBipZYFIYcg5PYw9UDqSoQnoFRQdELJ8iNAjWbUEAE0QBhJNawU0lig",
221         "ACaE6hSi/vmhciX0znnroHTZCQ4FIMYRi4hUyYbJGfAFEammUp8bMxYCpoYaV9WFkmadpLcSX7EkMTFM",
222         "IlXsVFFwdrj7CFgmHNYTwcW75l728DZwlra1gLFg/p22TJfRCZk+0dpfNoHW47qkMLvW2zYDfKkPARI4",
223         "xeEl8yvY882nwQANPdR677RaLfRb851z4TSQ2bh2pY8cR7Bg/E6HhR5/xbicjVlCAzVCMUzCQ6ttzaSM",
224         "Rdt1F4uF82Yaxw7jU3ciY9eLwRcu5v6MzMFtvR8J4ASEa1Z1TQ1SWc4M+npZ47irkMUUTyECKh2EvtL/",
225         "/Bu1Gq2WbXb3mU8xTTMUDtEAc0mBC/Sqc93/YKPOsO/ZqNv1OjbqDb2+jYbepf4z7Kj/uq81ZicMESfT",
226         "mc59igggSP2ZyFDp2CTvzC1HJtnMgQuz86bTchpKMBYDxTFRunYaTkNxB5YzbQo3FUip4jE3crB084Nj",
227         "zIQ+UiuyMVVfYE430sun5pERDNMDVIyVzSRwoUvsbfkSU02LcxIkOCxSh+6CWG29WeVzONJpKl/LKrqo",
228         "oh47bQpVHdVvczb7wAKdZXxGJVAtG47jMPVmt7ofkTecdpHEWqtkWQ4ktUv9wBzhtQlajcaW7fwhDN8e",
229         "vrqIzeprTJ3oIZMkRGYw0qPRddrJWtrWm8a7A4kkl8dVczXET0dA/KQgzp9HLT3Oq9TSKzYF6xRz3mh+",
230         "xy3dFBqGZvU3B2aPlU7VXA1xfgTEuYZoNp8O0WwaiCMEaRpBmhdHQFxoiNb7p0O03iuIC+OiT4JQczXE",
231         "myMgtC4CmOAklE+GyeYvtQ+6kidCQpBW8cJ9LJb0S5MfQ5CwmRMu9fNheX6nfCB4vrywdvI4MDOU+Ph8",
232         "swq4Yqhrwh69KlCoVkWhRQb3RBVDUySScT799Ysj1SdBnBuPTUnwiRDNaiY7BKKGyQ6BOK8mgAMg6ghg",
233         "f4haAjgEYgsB7A9TIADbmkJFtfcJ5F8urO31beiDujAnxh/V7B8rjuTbjqdZY7zQNS10NSu65HsfULXc",
234         "3xLgDwXBN3u4FeLmZ9pnlHfVbHtmccuN5a3S3j5jEb3ekaqozYbF7k1Fi7uondR90RgLpQpTYmYtkQln",
235         "Uf1LAaWuU+54ibmj8fYIiLemhD1iF81TBqvNYHGigXwchmPs3+3qjj5mtz7GLHj4wa0ZuSy2QvZrJBxK",
236         "OhWvQ/bqHuyoVsWqWi3KdipKXyaxNI8QpO54fQhEzfH6EIiLEzfVHK+Xphlb7KMm8q95YH4OBtxZdvkc",
237         "sASEV7WXXvle6g49pmtC72LO5vfce6FrYMTQt1BmgANt20frF1b3dk1xOSbUVOw31/2suqSwCB8yNMRB",
238         "sIT7YCPs+4wH+o2wuR0kJE98mXBAjzgm14zJpevjmEzOMkW68+aOzo+u3Pd3kuX/FbG/EFY+vmI8Efuz",
239         "EPvOvqm7aprWv1DbkglMb/Vvlg/qKuL1+yFq0/tdW1RpojPo6xtCT6irCxye3kZyTmX0qYw+ldEvjW2T",
240         "OMBHsO2NmX6qvssvpLVWyjfXsvr7FThTB3E4ozBlkmyMS+/Qvt6HeBv/o7LcOM2J0k+UfqL0794ZsS19",
241         "wy0lWnOZb8th1bKtOeYEj8P0grcZaUq2dFv5ZUC4x1EcguOzyFqP/3Ti2j3T/JLphaL28g1FR234dvnf",
242         "AAAA///vfrHakDgAAA==",
243 }
244
245 // GetSwagger returns the content of the embedded swagger specification file
246 // or error if failed to decode
247 func decodeSpec() ([]byte, error) {
248         zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, ""))
249         if err != nil {
250                 return nil, fmt.Errorf("error base64 decoding spec: %s", err)
251         }
252         zr, err := gzip.NewReader(bytes.NewReader(zipped))
253         if err != nil {
254                 return nil, fmt.Errorf("error decompressing spec: %s", err)
255         }
256         var buf bytes.Buffer
257         _, err = buf.ReadFrom(zr)
258         if err != nil {
259                 return nil, fmt.Errorf("error decompressing spec: %s", err)
260         }
261
262         return buf.Bytes(), nil
263 }
264
265 var rawSpec = decodeSpecCached()
266
267 // a naive cached of a decoded swagger spec
268 func decodeSpecCached() func() ([]byte, error) {
269         data, err := decodeSpec()
270         return func() ([]byte, error) {
271                 return data, err
272         }
273 }
274
275 // Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
276 func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) {
277         var res = make(map[string]func() ([]byte, error))
278         if len(pathToFile) > 0 {
279                 res[pathToFile] = rawSpec
280         }
281
282         pathPrefix := path.Dir(pathToFile)
283
284         for rawPath, rawFunc := range externalRef0.PathToRawSpec(path.Join(pathPrefix, "TS29122_CommonData.yaml")) {
285                 if _, ok := res[rawPath]; ok {
286                         // it is not possible to compare functions in golang, so always overwrite the old value
287                 }
288                 res[rawPath] = rawFunc
289         }
290         for rawPath, rawFunc := range externalRef2.PathToRawSpec(path.Join(pathPrefix, "TS29222_CAPIF_Publish_Service_API.yaml")) {
291                 if _, ok := res[rawPath]; ok {
292                         // it is not possible to compare functions in golang, so always overwrite the old value
293                 }
294                 res[rawPath] = rawFunc
295         }
296         for rawPath, rawFunc := range externalRef1.PathToRawSpec(path.Join(pathPrefix, "TS29571_CommonData.yaml")) {
297                 if _, ok := res[rawPath]; ok {
298                         // it is not possible to compare functions in golang, so always overwrite the old value
299                 }
300                 res[rawPath] = rawFunc
301         }
302         return res
303 }
304
305 // GetSwagger returns the Swagger specification corresponding to the generated code
306 // in this file. The external references of Swagger specification are resolved.
307 // The logic of resolving external references is tightly connected to "import-mapping" feature.
308 // Externally referenced files must be embedded in the corresponding golang packages.
309 // Urls can be supported but this task was out of the scope.
310 func GetSwagger() (swagger *openapi3.T, err error) {
311         var resolvePath = PathToRawSpec("")
312
313         loader := openapi3.NewLoader()
314         loader.IsExternalRefsAllowed = true
315         loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
316                 var pathToFile = url.String()
317                 pathToFile = path.Clean(pathToFile)
318                 getSpec, ok := resolvePath[pathToFile]
319                 if !ok {
320                         err1 := fmt.Errorf("path not found: %s", pathToFile)
321                         return nil, err1
322                 }
323                 return getSpec()
324         }
325         var specData []byte
326         specData, err = rawSpec()
327         if err != nil {
328                 return
329         }
330         swagger, err = loader.LoadFromData(specData)
331         if err != nil {
332                 return
333         }
334         return
335 }