...
1
2{{#if (and (ne operation.description undefined) (ne operation.description "Success") )}}// {{operation.description}}{{/if}}
3func (m *{{modelName}}Resource) {{ucFirst operation.operationId}}({{operationArgumentBuilder operation}}) {{returnType
4 operation}}{
5 url := fmt.Sprintf({{{getPath operation}}}, {{getPathParams operation}})
6 {{#if operation.queryParams.length}}
7 if qp != nil {
8 url = url + qp.String()
9 }
10 {{/if}}
11
12 rq := m.client.CloneRequestExecutor()
13
14 {{#if (ne operation.bodyModel undefined)}}
15 {{#if (eq operation.bodyFormat "binary")}}
16 req, err := rq.AsBinary().WithAccept("{{operation.produces.[0]}}").WithContentType("{{operation.consumes.[0]}}").NewRequest("{{strToUpper operation.method}}", url, body)
17 {{else}}
18 req, err := rq.WithAccept("{{operation.produces.[0]}}").WithContentType("{{operation.consumes.[0]}}").NewRequest("{{strToUpper operation.method}}", url, body)
19 {{/if}}
20 {{else}}
21 req, err := rq.WithAccept("{{operation.produces.[0]}}").WithContentType("{{operation.consumes.[0]}}").NewRequest("{{strToUpper operation.method}}", url, nil)
22 {{/if}}
23 if err != nil {
24 {{#if (ne operation.responseModel undefined)}}
25 return nil, nil, err
26 {{else}}
27 return nil, err
28 {{/if}}
29 }
30
31
32 {{#if (ne operation.responseModel undefined)}}
33 {{#if (ne operation.isArray undefined)}}
34 {{#if (responseModelInterface operation.operationId) }}
35 {{#if (applicationModelInterface operation.operationId) }}
36 var {{lowercaseFirstLetter operation.responseModel}} []Application
37 {{else if (factorModelInterface operation.operationId) }}
38 var {{lowercaseFirstLetter operation.responseModel}} []UserFactor
39 {{else if (policyModelInterface operation.operationId) }}
40 var {{lowercaseFirstLetter operation.responseModel}} []Policy
41 {{else if (catalogApplicationInterface operation.operationId) }}
42 var {{lowercaseFirstLetter operation.responseModel}} []*CatalogApplication
43 {{else}}
44 var {{lowercaseFirstLetter operation.responseModel}} []interface{}
45 {{/if}}
46 {{else}}
47 var {{lowercaseFirstLetter operation.responseModel}} []*{{operation.responseModel}}
48 {{/if}}
49 {{else}}
50 {{#if (or (or (eq operation.responseModel "Application") (eq operation.responseModel "Policy")) (or (eq operation.responseModel "Factor") (eq operation.responseModel "UserFactor")))}}
51 {{#if (eq operation.operationId "getApplication")}}
52 {{lowercaseFirstLetter operation.responseModel}} := appInstance
53 {{else if (factorInstanceOperation operation.operationId) }}
54 {{lowercaseFirstLetter operation.responseModel}} := factorInstance
55 {{else if (and (policyInstanceOperation operation.operationId) (eq operation.method "get")) }}
56 {{lowercaseFirstLetter operation.responseModel}} := policyInstance
57 {{else}}
58 {{lowercaseFirstLetter operation.responseModel}} := body
59 {{/if}}
60 {{else}}
61 var {{lowercaseFirstLetter operation.responseModel}} *{{operation.responseModel}}
62 {{/if}}
63 {{/if}}
64
65 resp, err := rq.Do(ctx, req, &{{lowercaseFirstLetter operation.responseModel}})
66 if err != nil {
67 {{#if (ne operation.responseModel undefined)}}
68 return nil, resp, err
69 {{/if}}
70 }
71
72 {{#if (applicationModelInterface operation.operationId) }}
73 apps := make([]App, len({{lowercaseFirstLetter operation.responseModel}}))
74 for i := range {{lowercaseFirstLetter operation.responseModel}} {
75 apps[i] = &{{lowercaseFirstLetter operation.responseModel}}[i]
76 }
77 return apps, resp, nil
78
79 {{else if (policyModelInterface operation.operationId) }}
80 policies := make([]Policies, len({{lowercaseFirstLetter operation.responseModel}}))
81 for i := range {{lowercaseFirstLetter operation.responseModel}} {
82 policies[i] = &{{lowercaseFirstLetter operation.responseModel}}[i]
83 }
84 return policies, resp, nil
85
86 {{else if (factorModelInterface operation.operationId) }}
87 factors := make([]Factor, len({{lowercaseFirstLetter operation.responseModel}}))
88 for i := range {{lowercaseFirstLetter operation.responseModel}} {
89 factors[i] = &{{lowercaseFirstLetter operation.responseModel}}[i]
90 }
91 return factors, resp, nil
92
93 {{else}}
94
95 return {{lowercaseFirstLetter operation.responseModel}}, resp, nil
96 {{/if}}
97 {{else}}
98
99 resp, err := m.client.requestExecutor.Do(ctx, req, nil)
100 if err != nil {
101 {{#if (ne operation.responseModel undefined)}}
102 return nil, resp, err
103 {{else if (eq operation.responseModel undefined)}}
104 return resp, err
105 {{/if}}
106 }
107
108 return resp, nil
109 {{/if}}
110}
View as plain text