Add generated code
[nonrtric/plt/sme.git] / capifcore / internal / publishserviceapi / publishserviceapi-server.gen.go
1 // Package publishserviceapi 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 publishserviceapi
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/common"
20         externalRef1 "oransc.org/nonrtric/capifcore/internal/common29122"
21         externalRef2 "oransc.org/nonrtric/capifcore/internal/common29571"
22 )
23
24 // ServerInterface represents all server handlers.
25 type ServerInterface interface {
26
27         // (GET /{apfId}/service-apis)
28         GetApfIdServiceApis(ctx echo.Context, apfId ApfId) error
29
30         // (POST /{apfId}/service-apis)
31         PostApfIdServiceApis(ctx echo.Context, apfId ApfId) error
32
33         // (DELETE /{apfId}/service-apis/{serviceApiId})
34         DeleteApfIdServiceApisServiceApiId(ctx echo.Context, apfId ApfId, serviceApiId ServiceApiId) error
35
36         // (GET /{apfId}/service-apis/{serviceApiId})
37         GetApfIdServiceApisServiceApiId(ctx echo.Context, apfId ApfId, serviceApiId ServiceApiId) error
38
39         // (PATCH /{apfId}/service-apis/{serviceApiId})
40         ModifyIndAPFPubAPI(ctx echo.Context, apfId ApfId, serviceApiId ServiceApiId) error
41
42         // (PUT /{apfId}/service-apis/{serviceApiId})
43         PutApfIdServiceApisServiceApiId(ctx echo.Context, apfId ApfId, serviceApiId ServiceApiId) error
44 }
45
46 // ServerInterfaceWrapper converts echo contexts to parameters.
47 type ServerInterfaceWrapper struct {
48         Handler ServerInterface
49 }
50
51 // GetApfIdServiceApis converts echo context to params.
52 func (w *ServerInterfaceWrapper) GetApfIdServiceApis(ctx echo.Context) error {
53         var err error
54         // ------------- Path parameter "apfId" -------------
55         var apfId ApfId
56
57         err = runtime.BindStyledParameterWithLocation("simple", false, "apfId", runtime.ParamLocationPath, ctx.Param("apfId"), &apfId)
58         if err != nil {
59                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter apfId: %s", err))
60         }
61
62         // Invoke the callback with all the unmarshalled arguments
63         err = w.Handler.GetApfIdServiceApis(ctx, apfId)
64         return err
65 }
66
67 // PostApfIdServiceApis converts echo context to params.
68 func (w *ServerInterfaceWrapper) PostApfIdServiceApis(ctx echo.Context) error {
69         var err error
70         // ------------- Path parameter "apfId" -------------
71         var apfId ApfId
72
73         err = runtime.BindStyledParameterWithLocation("simple", false, "apfId", runtime.ParamLocationPath, ctx.Param("apfId"), &apfId)
74         if err != nil {
75                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter apfId: %s", err))
76         }
77
78         // Invoke the callback with all the unmarshalled arguments
79         err = w.Handler.PostApfIdServiceApis(ctx, apfId)
80         return err
81 }
82
83 // DeleteApfIdServiceApisServiceApiId converts echo context to params.
84 func (w *ServerInterfaceWrapper) DeleteApfIdServiceApisServiceApiId(ctx echo.Context) error {
85         var err error
86         // ------------- Path parameter "apfId" -------------
87         var apfId ApfId
88
89         err = runtime.BindStyledParameterWithLocation("simple", false, "apfId", runtime.ParamLocationPath, ctx.Param("apfId"), &apfId)
90         if err != nil {
91                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter apfId: %s", err))
92         }
93
94         // ------------- Path parameter "serviceApiId" -------------
95         var serviceApiId ServiceApiId
96
97         err = runtime.BindStyledParameterWithLocation("simple", false, "serviceApiId", runtime.ParamLocationPath, ctx.Param("serviceApiId"), &serviceApiId)
98         if err != nil {
99                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter serviceApiId: %s", err))
100         }
101
102         // Invoke the callback with all the unmarshalled arguments
103         err = w.Handler.DeleteApfIdServiceApisServiceApiId(ctx, apfId, serviceApiId)
104         return err
105 }
106
107 // GetApfIdServiceApisServiceApiId converts echo context to params.
108 func (w *ServerInterfaceWrapper) GetApfIdServiceApisServiceApiId(ctx echo.Context) error {
109         var err error
110         // ------------- Path parameter "apfId" -------------
111         var apfId ApfId
112
113         err = runtime.BindStyledParameterWithLocation("simple", false, "apfId", runtime.ParamLocationPath, ctx.Param("apfId"), &apfId)
114         if err != nil {
115                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter apfId: %s", err))
116         }
117
118         // ------------- Path parameter "serviceApiId" -------------
119         var serviceApiId ServiceApiId
120
121         err = runtime.BindStyledParameterWithLocation("simple", false, "serviceApiId", runtime.ParamLocationPath, ctx.Param("serviceApiId"), &serviceApiId)
122         if err != nil {
123                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter serviceApiId: %s", err))
124         }
125
126         // Invoke the callback with all the unmarshalled arguments
127         err = w.Handler.GetApfIdServiceApisServiceApiId(ctx, apfId, serviceApiId)
128         return err
129 }
130
131 // ModifyIndAPFPubAPI converts echo context to params.
132 func (w *ServerInterfaceWrapper) ModifyIndAPFPubAPI(ctx echo.Context) error {
133         var err error
134         // ------------- Path parameter "apfId" -------------
135         var apfId ApfId
136
137         err = runtime.BindStyledParameterWithLocation("simple", false, "apfId", runtime.ParamLocationPath, ctx.Param("apfId"), &apfId)
138         if err != nil {
139                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter apfId: %s", err))
140         }
141
142         // ------------- Path parameter "serviceApiId" -------------
143         var serviceApiId ServiceApiId
144
145         err = runtime.BindStyledParameterWithLocation("simple", false, "serviceApiId", runtime.ParamLocationPath, ctx.Param("serviceApiId"), &serviceApiId)
146         if err != nil {
147                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter serviceApiId: %s", err))
148         }
149
150         // Invoke the callback with all the unmarshalled arguments
151         err = w.Handler.ModifyIndAPFPubAPI(ctx, apfId, serviceApiId)
152         return err
153 }
154
155 // PutApfIdServiceApisServiceApiId converts echo context to params.
156 func (w *ServerInterfaceWrapper) PutApfIdServiceApisServiceApiId(ctx echo.Context) error {
157         var err error
158         // ------------- Path parameter "apfId" -------------
159         var apfId ApfId
160
161         err = runtime.BindStyledParameterWithLocation("simple", false, "apfId", runtime.ParamLocationPath, ctx.Param("apfId"), &apfId)
162         if err != nil {
163                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter apfId: %s", err))
164         }
165
166         // ------------- Path parameter "serviceApiId" -------------
167         var serviceApiId ServiceApiId
168
169         err = runtime.BindStyledParameterWithLocation("simple", false, "serviceApiId", runtime.ParamLocationPath, ctx.Param("serviceApiId"), &serviceApiId)
170         if err != nil {
171                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter serviceApiId: %s", err))
172         }
173
174         // Invoke the callback with all the unmarshalled arguments
175         err = w.Handler.PutApfIdServiceApisServiceApiId(ctx, apfId, serviceApiId)
176         return err
177 }
178
179 // This is a simple interface which specifies echo.Route addition functions which
180 // are present on both echo.Echo and echo.Group, since we want to allow using
181 // either of them for path registration
182 type EchoRouter interface {
183         CONNECT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
184         DELETE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
185         GET(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
186         HEAD(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
187         OPTIONS(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
188         PATCH(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
189         POST(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
190         PUT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
191         TRACE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
192 }
193
194 // RegisterHandlers adds each server route to the EchoRouter.
195 func RegisterHandlers(router EchoRouter, si ServerInterface) {
196         RegisterHandlersWithBaseURL(router, si, "")
197 }
198
199 // Registers handlers, and prepends BaseURL to the paths, so that the paths
200 // can be served under a prefix.
201 func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL string) {
202
203         wrapper := ServerInterfaceWrapper{
204                 Handler: si,
205         }
206
207         router.GET(baseURL+"/:apfId/service-apis", wrapper.GetApfIdServiceApis)
208         router.POST(baseURL+"/:apfId/service-apis", wrapper.PostApfIdServiceApis)
209         router.DELETE(baseURL+"/:apfId/service-apis/:serviceApiId", wrapper.DeleteApfIdServiceApisServiceApiId)
210         router.GET(baseURL+"/:apfId/service-apis/:serviceApiId", wrapper.GetApfIdServiceApisServiceApiId)
211         router.PATCH(baseURL+"/:apfId/service-apis/:serviceApiId", wrapper.ModifyIndAPFPubAPI)
212         router.PUT(baseURL+"/:apfId/service-apis/:serviceApiId", wrapper.PutApfIdServiceApisServiceApiId)
213
214 }
215
216 // Base64 encoded, gzipped, json marshaled Swagger object
217 var swaggerSpec = []string{
218
219         "H4sIAAAAAAAC/+xa4XLbuBF+FQzbmcZTmrJkO7nonyLLPl1yNmvKN9M5ZzwQuRJxIQEWAOWoGT1QX6NP",
220         "1gFAUhQFS7KVJtee/tiSACx2F7v77S7wxQlZmjEKVAqn+8URYQwp1h97MPnAQiwJo+prBCLkJDNfnVEM",
221         "KClGEaETxlPz+RV4Uw+FZEZChKOIgxAuuvIDFDLGI0KxBOGiCEuMQqASOBpeHKHHGDggGQPqDS5RxtmM",
222         "RIRO9S8C+IyEgHr+EBFhdoXIc1wn4ywDLglofvWevSji6sufOUycrtNnacroBZbYm+M0+VNrKW2rELXV",
223         "L9eBEM7CdaJwGK0LPIyASjIhIDRTdQFexrycZ+B0HSE5oVO17xRYjwN+JvdXwKYcZzEJ9eLFoqLMxr9B",
224         "KBXlHkx8ziYkgXW5biHjIBTJugRqrpZxXc0YJhv1wxGbGFL+EMHnjAmli0lOQz3TIjheNbRCeKu0dZtU",
225         "R4UlvtSmt23hxXKmWsdSTOg1Ti0KudBjSDL0GJMw1mKMIWF0KpBkNv6JsoIJDuFiSUhYNFROQxFITBLh",
226         "uA6RkIptvA8t9NW+KaFDs75dcYU5x3M1mHEmWciSbcT9ct7CdQSEOSdy/jPImEUWEYJiAkrNDCTyLGNc",
227         "QoTG89J+dhUrWNltq0Az4MKuWHVCxeiue/9STN+86cJ1OPwjJxwip/trYfk1Tj5afE35bE6JsdGRHm3y",
228         "6zMhyDgBNMNJDgJhDugY3Q7+djcIRg+3g8C/uQ4GXaRibFgnpyJI4VxqX6SYAyGPOYiMUaGoBHfvgv7t",
229         "8N3g4fpmNLz8+w5URD5W3I3hmDJJJvN7pUWgeapkbnLluE5zi5oalj7Rz4Vk6U0G/AkAacSd2qBiDqNQ",
230         "E0CspGCJ9yxNSwVvOuv1E1m4jiJ/k9kjAJFKRQIkwgJ9Wc5coAxzWeru7naIhOR5KHMOaMK4hWn0SGTM",
231         "cok4CJbzEBAWgoXEDGKBIpgQChEiVB1DmOBcADrzztQmp1e+j0YB6rz1zk/aVshY4XsNouGzbOpVMd5k",
232         "0ka4GrQFgcrnfxyN/CoUKA2UYb8U10M3NJkjnGUJCbEy+ccYqJ5Wxicl+hKfEKGROikQmri3qz8vDe1Z",
233         "Hl2Z0IpB2Nz6YgVpdvHnn4Kb6y76Cc9woOeiG00MXTOpOV1xMzXZ6kfW2P9cZ6LqUP4iUAVU685EstlZ",
234         "I3caBZ237U7nYZcsZFguV3CYzV7vR+p1SUrZ2QvJ+Grp18G0Sm0uIhJJ/ElZL4QQAQ0BsRnwItVrEDKZ",
235         "oPHupYm7haeoEJNBSCYkXD2Yrw+etpxwQ2i22/PVYNQ1Hn81GBUyomPk3wTl7+pjbeCu+v2u/nNv1P+x",
236         "HFCfl0MXgw+D0aAYM1+KwRVfuRqMHNdRm6l/d/qvIuS4jllkdSS/lg/tIq5i4qH90C7YKTAftb12Odhp",
237         "DHVWuCzXO6752LFzlY8TImKIehnxsYy3unZWLtBxNsMy1hhDTFAVOAXU7/nDsgwBjkyua4HPcDK0+UMP",
238         "JURolOv3LxGp0npRq3MaVQ1OOOBovmRuxYzXhH6mpd4WYLK9dqkhzxPFy/9CzlCmCBDpo0W4nj18l4yh",
239         "rtg/UragkgXDmv3QS8tEVA1bFJNzYluVYElmxhosGtYoUzMmnJGgAIpywztOfMzlJuPa11QamdKKItx6",
240         "4qRktGVMDYTaMez6wfsuakAyaqNXd7qLMPoQHPvB+yMjnalatHylOKenXrvTUXTeD9fpdEo6/vvhDjRu",
241         "enejH9epnKJXow+B8c2bXi5jJNknoNsIrqCDH7xXsPV+6LiO3saKDoEJsz1/uE/2txKtsahBSFmz+5fW",
242         "Nk/hZTaMqHWJas0/t2iZEBomeVR0ynQLqMCrovFRNAlLpz7a2XFrjaxtnoszYmtTacRatqqwEGRKl6ow",
243         "2BkyFZ2LjhWSrIG8NX16KIhxkiDKJBrrtFCdAyrgeJkVFZU6mnCWVg5fUKy3x8rNLHyUW23epmgEVPts",
244         "EOgpFjCNViirdO/ZhAmdsU/A0auIiFClyHP185EVk3BG7PFVEVKh1RIRt2Hr/kipwm6eZZeApWjUIOdv",
245         "2jvVIBX2KSI5B91e1nnXuqw2fS4N9atiuY1Wlo9rKejGhmEzZdVFVhmo+ljClPG5NfETMeaggH1IJ2xr",
246         "hVOfXAQYTWRNqV/tcJr9vsIu7ehmCc0+luEOKTzmOAWpMmrJqsigRlIWKZTHK4X7ZSPnr7KlbSH7vxBR",
247         "Dw7xu3MIW8VknWm5jyiT58cYZFx1MWrJAo1abP3nsBAJhZgqONJSRGX0r6pHWxkqLCUZzoiywdkFSy2p",
248         "xoeN5JbXNGtlae1OUrIlmy8uTV2HiEqxtjaSVPvcO5LncO/UShMZY/kNVFuX2EM36kAfiQANmpqxCU4E",
249         "3Ds1zxkzlgCma4GvLqgt+JW3J7sU5GV3pM7deuTKyJM0FZEU/8Z4jZQGe5NEztpHNvc1FfjTZWm/UXWL",
250         "ja36nRPU5rXHNpOCzxkxseEFLc4LLGFEUqgXquLpKtV2W+cPdxatasM8785sebI2S8LZxsvkJRRuSFit",
251         "UFAGYHsVEOh5JZzM1WdMtcvOSJTj5Ilk31Il6zOUwClOLlho0X4t0+x0OuiX9hvvzDtB5ny1SJcqHXhk",
252         "/JNuiuj514zLeMxyqiFf6Co7cbpOLGUmuq3W4+OjdzrNMo/xaWsis1aQQShamIcxmUGr8/ZBACcgWmbX",
253         "lrmlNhCz7l1q25peaxILD6F7+u9/oc5Jp+Ma3m74FFPyT30yOEE+5pKqXOZV73b4zkW90TBwUb8f9Fw0",
254         "GAVDF42CC/1v1FN/+keaZi9JECfTWArlcMBnEHm6QpZEqvBq4P+hwNaHIt16MGBdXvZ2nbbX8U6OcZLF",
255         "2DsrWlEUZ0Qp3jvxTlSkwTLW59L6oq1t0SoEPMYZ0QNTkDavkZzADJCquVYyMI1hVeBQ5uVcgewp2kFl",
256         "dULvXCZ6TvfXLw5RZBU3juvohlG3MP+6xyj0cItXONs80qxeLD5q99f1mZanc3Jiep1UApUmvuqWmuK3",
257         "9ZswUXa5x44XDrZexGLN/ZtpmHOhyjBSpbRJUjewV+LI1o94ws8XrnN68uaZ0bJSTUut1SR+2IPED4rE",
258         "mdHwi0iotZpEew8SbUPidA8Sp4bE2R4kzgyJ13uQeK1JdN6+nETnrSJxvseJnJsTOd9DnedGnRFMcJ7I",
259         "F5Mp12s3ypiwXTYbx0AYUXgsUWk1GvlMfPdwpIvadyyaPysSvSAArSYcit/FWjhsfwsmmuXAMqmvJRN5",
260         "GIIQkzxJ5vphTu0KIOSg73yq/FOU7T4OMudFJ0vNvHfKN3D3jmnRxYAjUxObT1rupx9v9hmVpnpaZYHC",
261         "YzJfY8RFOAz1281pWYhUfbaubsbdMiYXrUpMDaytWdsKuK0v9dRssdHa1pKtQ+hdDb3tPQRpG0HaewjS",
262         "NoK0z/cgcX4AADsALFxnJwfS3p2AtPQk7mhWocWTFc0qdlxoUk30COrV1C5IIlYXvAxQVogsFu43TaHP",
263         "7G/et9WIKMUyjBuvv3s+GUaICGQOKjpksr/PcHqIQpY0dEt1vGtgsZTIf8CocvLtM9HV+rsWv4Q1RT3U",
264         "4Ica/BD8qhrcfqP7M4vIZI4wRfCZCKk8ZMcwaFYOadTzL/18bPqZ/6eRb5ceQAp8CsdazX/9CgHQ3MDv",
265         "1BT4DqF4pF9n1cOx5TGteQTQbBZgGumHoMX92sq9SJ5FumBvEGq2DcqXBmMWzXUctya51wz1jVI89HJ+",
266         "DzhxaBgcGgbfFK1cR+KpAhD9sKPI8daeDzkf9dsWS0p/p6PI7gm9n/9BE/rfVWv7uxcUdTSogKiJBFuQ",
267         "5gAWB7A4gMW37S4Xb2TK4Gzel2y4zHFcZ4Y5weOkerKlZhq3Ltiq3qfAZ5xmCXghS51m+CgWPvlC+413",
268         "3nih3el0PMXzx8V/AgAA///zJgSKrkQAAA==",
269 }
270
271 // GetSwagger returns the content of the embedded swagger specification file
272 // or error if failed to decode
273 func decodeSpec() ([]byte, error) {
274         zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, ""))
275         if err != nil {
276                 return nil, fmt.Errorf("error base64 decoding spec: %s", err)
277         }
278         zr, err := gzip.NewReader(bytes.NewReader(zipped))
279         if err != nil {
280                 return nil, fmt.Errorf("error decompressing spec: %s", err)
281         }
282         var buf bytes.Buffer
283         _, err = buf.ReadFrom(zr)
284         if err != nil {
285                 return nil, fmt.Errorf("error decompressing spec: %s", err)
286         }
287
288         return buf.Bytes(), nil
289 }
290
291 var rawSpec = decodeSpecCached()
292
293 // a naive cached of a decoded swagger spec
294 func decodeSpecCached() func() ([]byte, error) {
295         data, err := decodeSpec()
296         return func() ([]byte, error) {
297                 return data, err
298         }
299 }
300
301 // Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
302 func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) {
303         var res = make(map[string]func() ([]byte, error))
304         if len(pathToFile) > 0 {
305                 res[pathToFile] = rawSpec
306         }
307
308         pathPrefix := path.Dir(pathToFile)
309
310         for rawPath, rawFunc := range externalRef0.PathToRawSpec(path.Join(pathPrefix, "CommonData.yaml")) {
311                 if _, ok := res[rawPath]; ok {
312                         // it is not possible to compare functions in golang, so always overwrite the old value
313                 }
314                 res[rawPath] = rawFunc
315         }
316         for rawPath, rawFunc := range externalRef1.PathToRawSpec(path.Join(pathPrefix, "TS29122_CommonData.yaml")) {
317                 if _, ok := res[rawPath]; ok {
318                         // it is not possible to compare functions in golang, so always overwrite the old value
319                 }
320                 res[rawPath] = rawFunc
321         }
322         for rawPath, rawFunc := range externalRef2.PathToRawSpec(path.Join(pathPrefix, "TS29571_CommonData.yaml")) {
323                 if _, ok := res[rawPath]; ok {
324                         // it is not possible to compare functions in golang, so always overwrite the old value
325                 }
326                 res[rawPath] = rawFunc
327         }
328         return res
329 }
330
331 // GetSwagger returns the Swagger specification corresponding to the generated code
332 // in this file. The external references of Swagger specification are resolved.
333 // The logic of resolving external references is tightly connected to "import-mapping" feature.
334 // Externally referenced files must be embedded in the corresponding golang packages.
335 // Urls can be supported but this task was out of the scope.
336 func GetSwagger() (swagger *openapi3.T, err error) {
337         var resolvePath = PathToRawSpec("")
338
339         loader := openapi3.NewLoader()
340         loader.IsExternalRefsAllowed = true
341         loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
342                 var pathToFile = url.String()
343                 pathToFile = path.Clean(pathToFile)
344                 getSpec, ok := resolvePath[pathToFile]
345                 if !ok {
346                         err1 := fmt.Errorf("path not found: %s", pathToFile)
347                         return nil, err1
348                 }
349                 return getSpec()
350         }
351         var specData []byte
352         specData, err = rawSpec()
353         if err != nil {
354                 return
355         }
356         swagger, err = loader.LoadFromData(specData)
357         if err != nil {
358                 return
359         }
360         return
361 }