{{#if (and (ne operation.description undefined) (ne operation.description "Success") )}}// {{operation.description}}{{/if}} func (m *{{modelName}}Resource) {{ucFirst operation.operationId}}({{operationArgumentBuilder operation}}) {{returnType operation}}{ url := fmt.Sprintf({{{getPath operation}}}, {{getPathParams operation}}) {{#if operation.queryParams.length}} if qp != nil { url = url + qp.String() } {{/if}} rq := m.client.CloneRequestExecutor() {{#if (ne operation.bodyModel undefined)}} {{#if (eq operation.bodyFormat "binary")}} req, err := rq.AsBinary().WithAccept("{{operation.produces.[0]}}").WithContentType("{{operation.consumes.[0]}}").NewRequest("{{strToUpper operation.method}}", url, body) {{else}} req, err := rq.WithAccept("{{operation.produces.[0]}}").WithContentType("{{operation.consumes.[0]}}").NewRequest("{{strToUpper operation.method}}", url, body) {{/if}} {{else}} req, err := rq.WithAccept("{{operation.produces.[0]}}").WithContentType("{{operation.consumes.[0]}}").NewRequest("{{strToUpper operation.method}}", url, nil) {{/if}} if err != nil { {{#if (ne operation.responseModel undefined)}} return nil, nil, err {{else}} return nil, err {{/if}} } {{#if (ne operation.responseModel undefined)}} {{#if (ne operation.isArray undefined)}} {{#if (responseModelInterface operation.operationId) }} {{#if (applicationModelInterface operation.operationId) }} var {{lowercaseFirstLetter operation.responseModel}} []Application {{else if (factorModelInterface operation.operationId) }} var {{lowercaseFirstLetter operation.responseModel}} []UserFactor {{else if (policyModelInterface operation.operationId) }} var {{lowercaseFirstLetter operation.responseModel}} []Policy {{else if (catalogApplicationInterface operation.operationId) }} var {{lowercaseFirstLetter operation.responseModel}} []*CatalogApplication {{else}} var {{lowercaseFirstLetter operation.responseModel}} []interface{} {{/if}} {{else}} var {{lowercaseFirstLetter operation.responseModel}} []*{{operation.responseModel}} {{/if}} {{else}} {{#if (or (or (eq operation.responseModel "Application") (eq operation.responseModel "Policy")) (or (eq operation.responseModel "Factor") (eq operation.responseModel "UserFactor")))}} {{#if (eq operation.operationId "getApplication")}} {{lowercaseFirstLetter operation.responseModel}} := appInstance {{else if (factorInstanceOperation operation.operationId) }} {{lowercaseFirstLetter operation.responseModel}} := factorInstance {{else if (and (policyInstanceOperation operation.operationId) (eq operation.method "get")) }} {{lowercaseFirstLetter operation.responseModel}} := policyInstance {{else}} {{lowercaseFirstLetter operation.responseModel}} := body {{/if}} {{else}} var {{lowercaseFirstLetter operation.responseModel}} *{{operation.responseModel}} {{/if}} {{/if}} resp, err := rq.Do(ctx, req, &{{lowercaseFirstLetter operation.responseModel}}) if err != nil { {{#if (ne operation.responseModel undefined)}} return nil, resp, err {{/if}} } {{#if (applicationModelInterface operation.operationId) }} apps := make([]App, len({{lowercaseFirstLetter operation.responseModel}})) for i := range {{lowercaseFirstLetter operation.responseModel}} { apps[i] = &{{lowercaseFirstLetter operation.responseModel}}[i] } return apps, resp, nil {{else if (policyModelInterface operation.operationId) }} policies := make([]Policies, len({{lowercaseFirstLetter operation.responseModel}})) for i := range {{lowercaseFirstLetter operation.responseModel}} { policies[i] = &{{lowercaseFirstLetter operation.responseModel}}[i] } return policies, resp, nil {{else if (factorModelInterface operation.operationId) }} factors := make([]Factor, len({{lowercaseFirstLetter operation.responseModel}})) for i := range {{lowercaseFirstLetter operation.responseModel}} { factors[i] = &{{lowercaseFirstLetter operation.responseModel}}[i] } return factors, resp, nil {{else}} return {{lowercaseFirstLetter operation.responseModel}}, resp, nil {{/if}} {{else}} resp, err := m.client.requestExecutor.Do(ctx, req, nil) if err != nil { {{#if (ne operation.responseModel undefined)}} return nil, resp, err {{else if (eq operation.responseModel undefined)}} return resp, err {{/if}} } return resp, nil {{/if}} }