{{#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() fo, err := os.Open({{operation.formData.0.name}}) if err != nil { {{#if (ne operation.responseModel undefined)}} return nil, nil, err {{else}} return nil, err {{/if}} } defer fo.Close() body := &bytes.Buffer{} writer := multipart.NewWriter(body) fw, err := writer.CreateFormFile("{{operation.formData.0.name}}", {{operation.formData.0.name}}) if err != nil { {{#if (ne operation.responseModel undefined)}} return nil, nil, err {{else}} return nil, err {{/if}} } _, err = io.Copy(fw, fo) if err != nil { {{#if (ne operation.responseModel undefined)}} return nil, nil, err {{else}} return nil, err {{/if}} } _ = writer.Close() req, err := rq.WithAccept("{{operation.produces.[0]}}").WithContentType(writer.FormDataContentType()).NewRequest("{{strToUpper operation.method}}", url, body) 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 (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 (eq operation.responseModel "Application") (eq operation.responseModel "Factor"))}} {{#if (eq operation.operationId "getApplication")}} {{lowercaseFirstLetter operation.responseModel}} := appInstance {{else if (factorInstanceOperation operation.operationId) }} {{lowercaseFirstLetter operation.responseModel}} := factorInstance {{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 (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}} }