...

Text file src/github.com/okta/okta-sdk-golang/v2/openapi/generator/templates/model/multipartFileMethod.go.hbs

Documentation: github.com/okta/okta-sdk-golang/v2/openapi/generator/templates/model

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

View as plain text