...

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

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

     1{{> partials.copyHeader }}
     2
     3package query
     4
     5import (
     6	"net/url"
     7	"strconv"
     8)
     9
    10type Params struct {
    11{{#each queryOptions as |query|}}
    12	{{#if (eq query.name "provider")}}
    13	{{structProp query.name}} interface{} `json:"{{query.name}},omitempty"`
    14	{{else if (eq query.type "bool")}}
    15	{{structProp query.name}} *{{query.type}} `json:"{{query.name}},omitempty"`
    16	{{else}}
    17	{{structProp query.name}} {{query.type}} `json:"{{query.name}},omitempty"`
    18	{{/if}}
    19{{/each}}
    20}
    21
    22func NewQueryParams(paramOpt ...ParamOptions) *Params {
    23	p := &Params{}
    24
    25	for _, par := range paramOpt {
    26		par(p)
    27	}
    28
    29	return p
    30}
    31
    32type ParamOptions func(*Params)
    33
    34{{#each queryOptions as |query|}}
    35func With{{structProp query.name}}(query{{structProp query.name}} {{paramType query}}) ParamOptions {
    36	return func(p *Params) {
    37		{{#if (eq query.name "provider")}}
    38		p.{{structProp query.name}} = query{{structProp query.name}}
    39		{{else if (eq query.type "bool")}}
    40		b := new(bool)
    41		*b = query{{structProp query.name}}
    42		p.{{structProp query.name}} = b
    43		{{else}}
    44		p.{{structProp query.name}} = query{{structProp query.name}}
    45		{{/if}}
    46	}
    47}
    48{{/each}}
    49
    50func (p *Params) String() string {
    51	qs := url.Values{}
    52
    53{{#each queryOptions as |query|}}
    54	{{#if (eq query.name "provider")}}
    55	if (p.{{structProp query.name}} != nil) {
    56		if b, ok := p.{{structProp query.name}}.(bool); ok {
    57			qs.Add(`{{query.name}}`, strconv.FormatBool(b))
    58		} else {
    59			qs.Add(`{{query.name}}`, p.{{structProp query.name}}.(string))
    60		}
    61	}
    62	{{else if (eq query.type "bool")}}
    63	if (p.{{structProp query.name}} != nil) {
    64		qs.Add(`{{query.name}}`, strconv.FormatBool(*p.{{structProp query.name}}))
    65	}
    66	{{else if (eq query.type "int64")}}
    67	if (p.{{structProp query.name}} != 0) {
    68		qs.Add(`{{query.name}}`, strconv.FormatInt(p.{{structProp query.name}}, 10))
    69	}
    70	{{else if (eq query.type "string")}}
    71	if (p.{{structProp query.name}} != "") {
    72		qs.Add(`{{query.name}}`, p.{{structProp query.name}})
    73	}
    74	{{else}}
    75	{{log "query.go.hbs: unknown type for Params.String()" level="error"}}
    76	{{/if}}
    77{{/each}}
    78
    79	if len(qs) != 0 {
    80		return "?" + qs.Encode()
    81	}
    82	return ""
    83}
    84

View as plain text