diff --git a/generate.go b/generate.go index 5023a1b..bc6697a 100644 --- a/generate.go +++ b/generate.go @@ -1,4 +1,5 @@ package bluestonepim_go_sdk -//go:generate go run github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen -config pim/config.yaml https://docs.api.bluestonepim.com/openapi/66557c17ba1fbb0011cf1af6 -//go:generate go run github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen -config notification_external/config.yaml https://mapi.bluestonepim.com/notification-external/v2/api-docs +//go:generate oapi-codegen -config pim/config.yaml https://docs.api.bluestonepim.com/openapi/66557c17ba1fbb0011cf1af6 +//go:generate oapi-codegen -config notification_external/config.yaml https://mapi.bluestonepim.com/notification-external/v2/api-docs +//go:generate oapi-codegen -config global_settings/config.yaml https://docs.api.bluestonepim.com/openapi/66558009ac2b390018a0bcb6 diff --git a/global_settings/config.yaml b/global_settings/config.yaml new file mode 100644 index 0000000..00afb75 --- /dev/null +++ b/global_settings/config.yaml @@ -0,0 +1,7 @@ +package: global_settings +output: global_settings/generated.go +generate: + models: true + client: true +compatibility: + circular-reference-limit: 40 diff --git a/global_settings/generated.go b/global_settings/generated.go new file mode 100644 index 0000000..08979ce --- /dev/null +++ b/global_settings/generated.go @@ -0,0 +1,2601 @@ +// Package global_settings provides primitives to interact with the openapi HTTP API. +// +// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.3.0 DO NOT EDIT. +package global_settings + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "net/url" + "strings" + + "github.com/oapi-codegen/runtime" +) + +const ( + Oauth2Scopes = "oauth2.Scopes" +) + +// Defines values for FilterPermissionResponseDtoPermissionType. +const ( + FilterPermissionResponseDtoPermissionTypeREAD FilterPermissionResponseDtoPermissionType = "READ" + FilterPermissionResponseDtoPermissionTypeWRITE FilterPermissionResponseDtoPermissionType = "WRITE" +) + +// Defines values for FilterPermissionUpdateRequestDtoPermissionType. +const ( + FilterPermissionUpdateRequestDtoPermissionTypeREAD FilterPermissionUpdateRequestDtoPermissionType = "READ" + FilterPermissionUpdateRequestDtoPermissionTypeWRITE FilterPermissionUpdateRequestDtoPermissionType = "WRITE" +) + +// Defines values for FindParamsContextState. +const ( + ACTIVE FindParamsContextState = "ACTIVE" + ARCHIVE FindParamsContextState = "ARCHIVE" +) + +// ContextRequestDto defines model for ContextRequestDto. +type ContextRequestDto struct { + Fallback *string `json:"fallback,omitempty"` + Locale string `json:"locale"` + Name string `json:"name"` +} + +// ContextResponseDto defines model for ContextResponseDto. +type ContextResponseDto struct { + Archived bool `json:"archived"` + Fallback *string `json:"fallback,omitempty"` + Id string `json:"id"` + Initial *bool `json:"initial,omitempty"` + InternalId string `json:"internalId"` + Locale string `json:"locale"` + Name string `json:"name"` +} + +// ContextResponseListDto defines model for ContextResponseListDto. +type ContextResponseListDto struct { + Data []ContextResponseDto `json:"data"` +} + +// ErrorDetails defines model for ErrorDetails. +type ErrorDetails struct { + Field *string `json:"field,omitempty"` + Message *string `json:"message,omitempty"` + RejectedValue *string `json:"rejectedValue,omitempty"` +} + +// ErrorResponse defines model for ErrorResponse. +type ErrorResponse struct { + Error *string `json:"error,omitempty"` + ErrorDetails *[]ErrorDetails `json:"errorDetails,omitempty"` + RequestId *string `json:"requestId,omitempty"` + Status *int32 `json:"status,omitempty"` + Timestamp *int64 `json:"timestamp,omitempty"` +} + +// FilterCreateRequestDto defines model for FilterCreateRequestDto. +type FilterCreateRequestDto struct { + Entity string `json:"entity"` + Filter map[string]map[string]interface{} `json:"filter"` + Name string `json:"name"` + Public bool `json:"public"` + Service string `json:"service"` + Valid *bool `json:"valid,omitempty"` +} + +// FilterPermissionResponseDto defines model for FilterPermissionResponseDto. +type FilterPermissionResponseDto struct { + PermissionType FilterPermissionResponseDtoPermissionType `json:"permissionType"` + UserId string `json:"userId"` +} + +// FilterPermissionResponseDtoPermissionType defines model for FilterPermissionResponseDto.PermissionType. +type FilterPermissionResponseDtoPermissionType string + +// FilterPermissionResponseListDto defines model for FilterPermissionResponseListDto. +type FilterPermissionResponseListDto struct { + Data []FilterPermissionResponseDto `json:"data"` +} + +// FilterPermissionUpdateRequestDto defines model for FilterPermissionUpdateRequestDto. +type FilterPermissionUpdateRequestDto struct { + PermissionType FilterPermissionUpdateRequestDtoPermissionType `json:"permissionType"` +} + +// FilterPermissionUpdateRequestDtoPermissionType defines model for FilterPermissionUpdateRequestDto.PermissionType. +type FilterPermissionUpdateRequestDtoPermissionType string + +// FilterResponseDto defines model for FilterResponseDto. +type FilterResponseDto struct { + Entity string `json:"entity"` + Filter map[string]map[string]interface{} `json:"filter"` + Id string `json:"id"` + Name string `json:"name"` + OwnerId string `json:"ownerId"` + Public bool `json:"public"` + Readonly bool `json:"readonly"` + Service string `json:"service"` + UpdatedAt int64 `json:"updatedAt"` + Valid *bool `json:"valid,omitempty"` +} + +// FilterResponseListDto defines model for FilterResponseListDto. +type FilterResponseListDto struct { + Data []FilterResponseDto `json:"data"` +} + +// FilterSearchRequest defines model for FilterSearchRequest. +type FilterSearchRequest struct { + Entity *string `json:"entity,omitempty"` + Ids *[]string `json:"ids,omitempty"` + Name *string `json:"name,omitempty"` + OwnerId *string `json:"ownerId,omitempty"` + Page int32 `json:"page"` + PageSize int32 `json:"pageSize"` + Public *bool `json:"public,omitempty"` + Service *string `json:"service,omitempty"` +} + +// FilterUpdateRequestDto defines model for FilterUpdateRequestDto. +type FilterUpdateRequestDto struct { + Entity string `json:"entity"` + Filter *map[string]map[string]interface{} `json:"filter,omitempty"` + Name string `json:"name"` + Public *bool `json:"public,omitempty"` + Service string `json:"service"` + Valid *bool `json:"valid,omitempty"` +} + +// Unit defines model for Unit. +type Unit = map[string]interface{} + +// FindParams defines parameters for Find. +type FindParams struct { + ContextState *FindParamsContextState `form:"contextState,omitempty" json:"contextState,omitempty"` +} + +// FindParamsContextState defines parameters for Find. +type FindParamsContextState string + +// CreateJSONRequestBody defines body for Create for application/json ContentType. +type CreateJSONRequestBody = ContextRequestDto + +// UpdateJSONRequestBody defines body for Update for application/json ContentType. +type UpdateJSONRequestBody = ContextRequestDto + +// CreateFilterJSONRequestBody defines body for CreateFilter for application/json ContentType. +type CreateFilterJSONRequestBody = FilterCreateRequestDto + +// UpdatePublicFilterJSONRequestBody defines body for UpdatePublicFilter for application/json ContentType. +type UpdatePublicFilterJSONRequestBody = FilterUpdateRequestDto + +// FindFilterJSONRequestBody defines body for FindFilter for application/json ContentType. +type FindFilterJSONRequestBody = FilterSearchRequest + +// FindAllJSONRequestBody defines body for FindAll for application/json ContentType. +type FindAllJSONRequestBody = FilterSearchRequest + +// UpdateFilterJSONRequestBody defines body for UpdateFilter for application/json ContentType. +type UpdateFilterJSONRequestBody = FilterUpdateRequestDto + +// GrantPermissionJSONRequestBody defines body for GrantPermission for application/json ContentType. +type GrantPermissionJSONRequestBody = FilterPermissionUpdateRequestDto + +// RequestEditorFn is the function signature for the RequestEditor callback function +type RequestEditorFn func(ctx context.Context, req *http.Request) error + +// Doer performs HTTP requests. +// +// The standard http.Client implements this interface. +type HttpRequestDoer interface { + Do(req *http.Request) (*http.Response, error) +} + +// Client which conforms to the OpenAPI3 specification for this service. +type Client struct { + // The endpoint of the server conforming to this interface, with scheme, + // https://api.deepmap.com for example. This can contain a path relative + // to the server, such as https://api.deepmap.com/dev-test, and all the + // paths in the swagger spec will be appended to the server. + Server string + + // Doer for performing requests, typically a *http.Client with any + // customized settings, such as certificate chains. + Client HttpRequestDoer + + // A list of callbacks for modifying requests which are generated before sending over + // the network. + RequestEditors []RequestEditorFn +} + +// ClientOption allows setting custom parameters during construction +type ClientOption func(*Client) error + +// Creates a new Client, with reasonable defaults +func NewClient(server string, opts ...ClientOption) (*Client, error) { + // create a client with sane default values + client := Client{ + Server: server, + } + // mutate client and add all optional params + for _, o := range opts { + if err := o(&client); err != nil { + return nil, err + } + } + // ensure the server URL always has a trailing slash + if !strings.HasSuffix(client.Server, "/") { + client.Server += "/" + } + // create httpClient, if not already present + if client.Client == nil { + client.Client = &http.Client{} + } + return &client, nil +} + +// WithHTTPClient allows overriding the default Doer, which is +// automatically created using http.Client. This is useful for tests. +func WithHTTPClient(doer HttpRequestDoer) ClientOption { + return func(c *Client) error { + c.Client = doer + return nil + } +} + +// WithRequestEditorFn allows setting up a callback function, which will be +// called right before sending the request. This can be used to mutate the request. +func WithRequestEditorFn(fn RequestEditorFn) ClientOption { + return func(c *Client) error { + c.RequestEditors = append(c.RequestEditors, fn) + return nil + } +} + +// The interface specification for the client above. +type ClientInterface interface { + // Find request + Find(ctx context.Context, params *FindParams, reqEditors ...RequestEditorFn) (*http.Response, error) + + // CreateWithBody request with any body + CreateWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + Create(ctx context.Context, body CreateJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // Archive request + Archive(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // Get request + Get(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // UpdateWithBody request with any body + UpdateWithBody(ctx context.Context, id string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + Update(ctx context.Context, id string, body UpdateJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // CreateFilterWithBody request with any body + CreateFilterWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + CreateFilter(ctx context.Context, body CreateFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // DeleteFilterFromAll request + DeleteFilterFromAll(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // UpdatePublicFilterWithBody request with any body + UpdatePublicFilterWithBody(ctx context.Context, id string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + UpdatePublicFilter(ctx context.Context, id string, body UpdatePublicFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // FindFilterWithBody request with any body + FindFilterWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + FindFilter(ctx context.Context, body FindFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // FindAllWithBody request with any body + FindAllWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + FindAll(ctx context.Context, body FindAllJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // DeleteFilter request + DeleteFilter(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // GetFilter request + GetFilter(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // UpdateFilterWithBody request with any body + UpdateFilterWithBody(ctx context.Context, id string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + UpdateFilter(ctx context.Context, id string, body UpdateFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // GetPermissions request + GetPermissions(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // RevokePermission request + RevokePermission(ctx context.Context, id string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // GrantPermissionWithBody request with any body + GrantPermissionWithBody(ctx context.Context, id string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + GrantPermission(ctx context.Context, id string, userId string, body GrantPermissionJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) +} + +func (c *Client) Find(ctx context.Context, params *FindParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewFindRequest(c.Server, params) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) CreateWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewCreateRequestWithBody(c.Server, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) Create(ctx context.Context, body CreateJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewCreateRequest(c.Server, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) Archive(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewArchiveRequest(c.Server, id) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) Get(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewGetRequest(c.Server, id) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) UpdateWithBody(ctx context.Context, id string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewUpdateRequestWithBody(c.Server, id, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) Update(ctx context.Context, id string, body UpdateJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewUpdateRequest(c.Server, id, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) CreateFilterWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewCreateFilterRequestWithBody(c.Server, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) CreateFilter(ctx context.Context, body CreateFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewCreateFilterRequest(c.Server, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) DeleteFilterFromAll(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewDeleteFilterFromAllRequest(c.Server, id) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) UpdatePublicFilterWithBody(ctx context.Context, id string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewUpdatePublicFilterRequestWithBody(c.Server, id, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) UpdatePublicFilter(ctx context.Context, id string, body UpdatePublicFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewUpdatePublicFilterRequest(c.Server, id, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) FindFilterWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewFindFilterRequestWithBody(c.Server, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) FindFilter(ctx context.Context, body FindFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewFindFilterRequest(c.Server, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) FindAllWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewFindAllRequestWithBody(c.Server, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) FindAll(ctx context.Context, body FindAllJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewFindAllRequest(c.Server, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) DeleteFilter(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewDeleteFilterRequest(c.Server, id) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) GetFilter(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewGetFilterRequest(c.Server, id) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) UpdateFilterWithBody(ctx context.Context, id string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewUpdateFilterRequestWithBody(c.Server, id, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) UpdateFilter(ctx context.Context, id string, body UpdateFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewUpdateFilterRequest(c.Server, id, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) GetPermissions(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewGetPermissionsRequest(c.Server, id) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) RevokePermission(ctx context.Context, id string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewRevokePermissionRequest(c.Server, id, userId) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) GrantPermissionWithBody(ctx context.Context, id string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewGrantPermissionRequestWithBody(c.Server, id, userId, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) GrantPermission(ctx context.Context, id string, userId string, body GrantPermissionJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewGrantPermissionRequest(c.Server, id, userId, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// NewFindRequest generates requests for Find +func NewFindRequest(server string, params *FindParams) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/context") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + if params != nil { + queryValues := queryURL.Query() + + if params.ContextState != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "contextState", runtime.ParamLocationQuery, *params.ContextState); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + queryURL.RawQuery = queryValues.Encode() + } + + req, err := http.NewRequest("GET", queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewCreateRequest calls the generic Create builder with application/json body +func NewCreateRequest(server string, body CreateJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewCreateRequestWithBody(server, "application/json", bodyReader) +} + +// NewCreateRequestWithBody generates requests for Create with any type of body +func NewCreateRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/context") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewArchiveRequest generates requests for Archive +func NewArchiveRequest(server string, id string) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithLocation("simple", false, "id", runtime.ParamLocationPath, id) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/context/%s", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("DELETE", queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewGetRequest generates requests for Get +func NewGetRequest(server string, id string) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithLocation("simple", false, "id", runtime.ParamLocationPath, id) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/context/%s", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("GET", queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewUpdateRequest calls the generic Update builder with application/json body +func NewUpdateRequest(server string, id string, body UpdateJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewUpdateRequestWithBody(server, id, "application/json", bodyReader) +} + +// NewUpdateRequestWithBody generates requests for Update with any type of body +func NewUpdateRequestWithBody(server string, id string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithLocation("simple", false, "id", runtime.ParamLocationPath, id) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/context/%s", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("PUT", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewCreateFilterRequest calls the generic CreateFilter builder with application/json body +func NewCreateFilterRequest(server string, body CreateFilterJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewCreateFilterRequestWithBody(server, "application/json", bodyReader) +} + +// NewCreateFilterRequestWithBody generates requests for CreateFilter with any type of body +func NewCreateFilterRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/filter") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewDeleteFilterFromAllRequest generates requests for DeleteFilterFromAll +func NewDeleteFilterFromAllRequest(server string, id string) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithLocation("simple", false, "id", runtime.ParamLocationPath, id) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/filter/all/%s", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("DELETE", queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewUpdatePublicFilterRequest calls the generic UpdatePublicFilter builder with application/json body +func NewUpdatePublicFilterRequest(server string, id string, body UpdatePublicFilterJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewUpdatePublicFilterRequestWithBody(server, id, "application/json", bodyReader) +} + +// NewUpdatePublicFilterRequestWithBody generates requests for UpdatePublicFilter with any type of body +func NewUpdatePublicFilterRequestWithBody(server string, id string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithLocation("simple", false, "id", runtime.ParamLocationPath, id) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/filter/all/%s", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("PATCH", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewFindFilterRequest calls the generic FindFilter builder with application/json body +func NewFindFilterRequest(server string, body FindFilterJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewFindFilterRequestWithBody(server, "application/json", bodyReader) +} + +// NewFindFilterRequestWithBody generates requests for FindFilter with any type of body +func NewFindFilterRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/filter/list") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewFindAllRequest calls the generic FindAll builder with application/json body +func NewFindAllRequest(server string, body FindAllJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewFindAllRequestWithBody(server, "application/json", bodyReader) +} + +// NewFindAllRequestWithBody generates requests for FindAll with any type of body +func NewFindAllRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/filter/list/all") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewDeleteFilterRequest generates requests for DeleteFilter +func NewDeleteFilterRequest(server string, id string) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithLocation("simple", false, "id", runtime.ParamLocationPath, id) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/filter/%s", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("DELETE", queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewGetFilterRequest generates requests for GetFilter +func NewGetFilterRequest(server string, id string) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithLocation("simple", false, "id", runtime.ParamLocationPath, id) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/filter/%s", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("GET", queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewUpdateFilterRequest calls the generic UpdateFilter builder with application/json body +func NewUpdateFilterRequest(server string, id string, body UpdateFilterJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewUpdateFilterRequestWithBody(server, id, "application/json", bodyReader) +} + +// NewUpdateFilterRequestWithBody generates requests for UpdateFilter with any type of body +func NewUpdateFilterRequestWithBody(server string, id string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithLocation("simple", false, "id", runtime.ParamLocationPath, id) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/filter/%s", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("PATCH", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewGetPermissionsRequest generates requests for GetPermissions +func NewGetPermissionsRequest(server string, id string) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithLocation("simple", false, "id", runtime.ParamLocationPath, id) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/filter/%s/user", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("GET", queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewRevokePermissionRequest generates requests for RevokePermission +func NewRevokePermissionRequest(server string, id string, userId string) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithLocation("simple", false, "id", runtime.ParamLocationPath, id) + if err != nil { + return nil, err + } + + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userId", runtime.ParamLocationPath, userId) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/filter/%s/user/%s", pathParam0, pathParam1) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("DELETE", queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewGrantPermissionRequest calls the generic GrantPermission builder with application/json body +func NewGrantPermissionRequest(server string, id string, userId string, body GrantPermissionJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewGrantPermissionRequestWithBody(server, id, userId, "application/json", bodyReader) +} + +// NewGrantPermissionRequestWithBody generates requests for GrantPermission with any type of body +func NewGrantPermissionRequestWithBody(server string, id string, userId string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithLocation("simple", false, "id", runtime.ParamLocationPath, id) + if err != nil { + return nil, err + } + + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userId", runtime.ParamLocationPath, userId) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/filter/%s/user/%s", pathParam0, pathParam1) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("PUT", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +func (c *Client) applyEditors(ctx context.Context, req *http.Request, additionalEditors []RequestEditorFn) error { + for _, r := range c.RequestEditors { + if err := r(ctx, req); err != nil { + return err + } + } + for _, r := range additionalEditors { + if err := r(ctx, req); err != nil { + return err + } + } + return nil +} + +// ClientWithResponses builds on ClientInterface to offer response payloads +type ClientWithResponses struct { + ClientInterface +} + +// NewClientWithResponses creates a new ClientWithResponses, which wraps +// Client with return type handling +func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error) { + client, err := NewClient(server, opts...) + if err != nil { + return nil, err + } + return &ClientWithResponses{client}, nil +} + +// WithBaseURL overrides the baseURL. +func WithBaseURL(baseURL string) ClientOption { + return func(c *Client) error { + newBaseURL, err := url.Parse(baseURL) + if err != nil { + return err + } + c.Server = newBaseURL.String() + return nil + } +} + +// ClientWithResponsesInterface is the interface specification for the client with responses above. +type ClientWithResponsesInterface interface { + // FindWithResponse request + FindWithResponse(ctx context.Context, params *FindParams, reqEditors ...RequestEditorFn) (*FindResponse, error) + + // CreateWithBodyWithResponse request with any body + CreateWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateResponse, error) + + CreateWithResponse(ctx context.Context, body CreateJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateResponse, error) + + // ArchiveWithResponse request + ArchiveWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*ArchiveResponse, error) + + // GetWithResponse request + GetWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*GetResponse, error) + + // UpdateWithBodyWithResponse request with any body + UpdateWithBodyWithResponse(ctx context.Context, id string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateResponse, error) + + UpdateWithResponse(ctx context.Context, id string, body UpdateJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateResponse, error) + + // CreateFilterWithBodyWithResponse request with any body + CreateFilterWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateFilterResponse, error) + + CreateFilterWithResponse(ctx context.Context, body CreateFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateFilterResponse, error) + + // DeleteFilterFromAllWithResponse request + DeleteFilterFromAllWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*DeleteFilterFromAllResponse, error) + + // UpdatePublicFilterWithBodyWithResponse request with any body + UpdatePublicFilterWithBodyWithResponse(ctx context.Context, id string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdatePublicFilterResponse, error) + + UpdatePublicFilterWithResponse(ctx context.Context, id string, body UpdatePublicFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdatePublicFilterResponse, error) + + // FindFilterWithBodyWithResponse request with any body + FindFilterWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*FindFilterResponse, error) + + FindFilterWithResponse(ctx context.Context, body FindFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*FindFilterResponse, error) + + // FindAllWithBodyWithResponse request with any body + FindAllWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*FindAllResponse, error) + + FindAllWithResponse(ctx context.Context, body FindAllJSONRequestBody, reqEditors ...RequestEditorFn) (*FindAllResponse, error) + + // DeleteFilterWithResponse request + DeleteFilterWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*DeleteFilterResponse, error) + + // GetFilterWithResponse request + GetFilterWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*GetFilterResponse, error) + + // UpdateFilterWithBodyWithResponse request with any body + UpdateFilterWithBodyWithResponse(ctx context.Context, id string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateFilterResponse, error) + + UpdateFilterWithResponse(ctx context.Context, id string, body UpdateFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateFilterResponse, error) + + // GetPermissionsWithResponse request + GetPermissionsWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*GetPermissionsResponse, error) + + // RevokePermissionWithResponse request + RevokePermissionWithResponse(ctx context.Context, id string, userId string, reqEditors ...RequestEditorFn) (*RevokePermissionResponse, error) + + // GrantPermissionWithBodyWithResponse request with any body + GrantPermissionWithBodyWithResponse(ctx context.Context, id string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GrantPermissionResponse, error) + + GrantPermissionWithResponse(ctx context.Context, id string, userId string, body GrantPermissionJSONRequestBody, reqEditors ...RequestEditorFn) (*GrantPermissionResponse, error) +} + +type FindResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *ContextResponseListDto + JSON400 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r FindResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r FindResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type CreateResponse struct { + Body []byte + HTTPResponse *http.Response + JSON201 *Unit + JSON400 *ErrorResponse + JSON409 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r CreateResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r CreateResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type ArchiveResponse struct { + Body []byte + HTTPResponse *http.Response + JSON204 *Unit + JSON400 *ErrorResponse + JSON404 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r ArchiveResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r ArchiveResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type GetResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *ContextResponseDto + JSON400 *ErrorResponse + JSON404 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r GetResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r GetResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type UpdateResponse struct { + Body []byte + HTTPResponse *http.Response + JSON204 *Unit + JSON400 *ErrorResponse + JSON404 *ErrorResponse + JSON409 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r UpdateResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r UpdateResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type CreateFilterResponse struct { + Body []byte + HTTPResponse *http.Response + JSON201 *Unit + JSON400 *ErrorResponse + JSON409 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r CreateFilterResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r CreateFilterResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type DeleteFilterFromAllResponse struct { + Body []byte + HTTPResponse *http.Response + JSON204 *Unit + JSON400 *ErrorResponse + JSON404 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r DeleteFilterFromAllResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r DeleteFilterFromAllResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type UpdatePublicFilterResponse struct { + Body []byte + HTTPResponse *http.Response + JSON204 *Unit + JSON400 *ErrorResponse + JSON404 *ErrorResponse + JSON409 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r UpdatePublicFilterResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r UpdatePublicFilterResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type FindFilterResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *FilterResponseListDto + JSON400 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r FindFilterResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r FindFilterResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type FindAllResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *FilterResponseListDto + JSON400 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r FindAllResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r FindAllResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type DeleteFilterResponse struct { + Body []byte + HTTPResponse *http.Response + JSON204 *Unit + JSON400 *ErrorResponse + JSON404 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r DeleteFilterResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r DeleteFilterResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type GetFilterResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *FilterResponseDto + JSON400 *ErrorResponse + JSON404 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r GetFilterResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r GetFilterResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type UpdateFilterResponse struct { + Body []byte + HTTPResponse *http.Response + JSON204 *Unit + JSON400 *ErrorResponse + JSON404 *ErrorResponse + JSON409 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r UpdateFilterResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r UpdateFilterResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type GetPermissionsResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *FilterPermissionResponseListDto + JSON400 *ErrorResponse + JSON404 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r GetPermissionsResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r GetPermissionsResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type RevokePermissionResponse struct { + Body []byte + HTTPResponse *http.Response + JSON204 *Unit + JSON400 *ErrorResponse + JSON404 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r RevokePermissionResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r RevokePermissionResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type GrantPermissionResponse struct { + Body []byte + HTTPResponse *http.Response + JSON204 *Unit + JSON400 *ErrorResponse + JSON404 *ErrorResponse +} + +// Status returns HTTPResponse.Status +func (r GrantPermissionResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r GrantPermissionResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +// FindWithResponse request returning *FindResponse +func (c *ClientWithResponses) FindWithResponse(ctx context.Context, params *FindParams, reqEditors ...RequestEditorFn) (*FindResponse, error) { + rsp, err := c.Find(ctx, params, reqEditors...) + if err != nil { + return nil, err + } + return ParseFindResponse(rsp) +} + +// CreateWithBodyWithResponse request with arbitrary body returning *CreateResponse +func (c *ClientWithResponses) CreateWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateResponse, error) { + rsp, err := c.CreateWithBody(ctx, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseCreateResponse(rsp) +} + +func (c *ClientWithResponses) CreateWithResponse(ctx context.Context, body CreateJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateResponse, error) { + rsp, err := c.Create(ctx, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseCreateResponse(rsp) +} + +// ArchiveWithResponse request returning *ArchiveResponse +func (c *ClientWithResponses) ArchiveWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*ArchiveResponse, error) { + rsp, err := c.Archive(ctx, id, reqEditors...) + if err != nil { + return nil, err + } + return ParseArchiveResponse(rsp) +} + +// GetWithResponse request returning *GetResponse +func (c *ClientWithResponses) GetWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*GetResponse, error) { + rsp, err := c.Get(ctx, id, reqEditors...) + if err != nil { + return nil, err + } + return ParseGetResponse(rsp) +} + +// UpdateWithBodyWithResponse request with arbitrary body returning *UpdateResponse +func (c *ClientWithResponses) UpdateWithBodyWithResponse(ctx context.Context, id string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateResponse, error) { + rsp, err := c.UpdateWithBody(ctx, id, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseUpdateResponse(rsp) +} + +func (c *ClientWithResponses) UpdateWithResponse(ctx context.Context, id string, body UpdateJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateResponse, error) { + rsp, err := c.Update(ctx, id, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseUpdateResponse(rsp) +} + +// CreateFilterWithBodyWithResponse request with arbitrary body returning *CreateFilterResponse +func (c *ClientWithResponses) CreateFilterWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateFilterResponse, error) { + rsp, err := c.CreateFilterWithBody(ctx, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseCreateFilterResponse(rsp) +} + +func (c *ClientWithResponses) CreateFilterWithResponse(ctx context.Context, body CreateFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateFilterResponse, error) { + rsp, err := c.CreateFilter(ctx, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseCreateFilterResponse(rsp) +} + +// DeleteFilterFromAllWithResponse request returning *DeleteFilterFromAllResponse +func (c *ClientWithResponses) DeleteFilterFromAllWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*DeleteFilterFromAllResponse, error) { + rsp, err := c.DeleteFilterFromAll(ctx, id, reqEditors...) + if err != nil { + return nil, err + } + return ParseDeleteFilterFromAllResponse(rsp) +} + +// UpdatePublicFilterWithBodyWithResponse request with arbitrary body returning *UpdatePublicFilterResponse +func (c *ClientWithResponses) UpdatePublicFilterWithBodyWithResponse(ctx context.Context, id string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdatePublicFilterResponse, error) { + rsp, err := c.UpdatePublicFilterWithBody(ctx, id, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseUpdatePublicFilterResponse(rsp) +} + +func (c *ClientWithResponses) UpdatePublicFilterWithResponse(ctx context.Context, id string, body UpdatePublicFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdatePublicFilterResponse, error) { + rsp, err := c.UpdatePublicFilter(ctx, id, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseUpdatePublicFilterResponse(rsp) +} + +// FindFilterWithBodyWithResponse request with arbitrary body returning *FindFilterResponse +func (c *ClientWithResponses) FindFilterWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*FindFilterResponse, error) { + rsp, err := c.FindFilterWithBody(ctx, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseFindFilterResponse(rsp) +} + +func (c *ClientWithResponses) FindFilterWithResponse(ctx context.Context, body FindFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*FindFilterResponse, error) { + rsp, err := c.FindFilter(ctx, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseFindFilterResponse(rsp) +} + +// FindAllWithBodyWithResponse request with arbitrary body returning *FindAllResponse +func (c *ClientWithResponses) FindAllWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*FindAllResponse, error) { + rsp, err := c.FindAllWithBody(ctx, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseFindAllResponse(rsp) +} + +func (c *ClientWithResponses) FindAllWithResponse(ctx context.Context, body FindAllJSONRequestBody, reqEditors ...RequestEditorFn) (*FindAllResponse, error) { + rsp, err := c.FindAll(ctx, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseFindAllResponse(rsp) +} + +// DeleteFilterWithResponse request returning *DeleteFilterResponse +func (c *ClientWithResponses) DeleteFilterWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*DeleteFilterResponse, error) { + rsp, err := c.DeleteFilter(ctx, id, reqEditors...) + if err != nil { + return nil, err + } + return ParseDeleteFilterResponse(rsp) +} + +// GetFilterWithResponse request returning *GetFilterResponse +func (c *ClientWithResponses) GetFilterWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*GetFilterResponse, error) { + rsp, err := c.GetFilter(ctx, id, reqEditors...) + if err != nil { + return nil, err + } + return ParseGetFilterResponse(rsp) +} + +// UpdateFilterWithBodyWithResponse request with arbitrary body returning *UpdateFilterResponse +func (c *ClientWithResponses) UpdateFilterWithBodyWithResponse(ctx context.Context, id string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateFilterResponse, error) { + rsp, err := c.UpdateFilterWithBody(ctx, id, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseUpdateFilterResponse(rsp) +} + +func (c *ClientWithResponses) UpdateFilterWithResponse(ctx context.Context, id string, body UpdateFilterJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateFilterResponse, error) { + rsp, err := c.UpdateFilter(ctx, id, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseUpdateFilterResponse(rsp) +} + +// GetPermissionsWithResponse request returning *GetPermissionsResponse +func (c *ClientWithResponses) GetPermissionsWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*GetPermissionsResponse, error) { + rsp, err := c.GetPermissions(ctx, id, reqEditors...) + if err != nil { + return nil, err + } + return ParseGetPermissionsResponse(rsp) +} + +// RevokePermissionWithResponse request returning *RevokePermissionResponse +func (c *ClientWithResponses) RevokePermissionWithResponse(ctx context.Context, id string, userId string, reqEditors ...RequestEditorFn) (*RevokePermissionResponse, error) { + rsp, err := c.RevokePermission(ctx, id, userId, reqEditors...) + if err != nil { + return nil, err + } + return ParseRevokePermissionResponse(rsp) +} + +// GrantPermissionWithBodyWithResponse request with arbitrary body returning *GrantPermissionResponse +func (c *ClientWithResponses) GrantPermissionWithBodyWithResponse(ctx context.Context, id string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GrantPermissionResponse, error) { + rsp, err := c.GrantPermissionWithBody(ctx, id, userId, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseGrantPermissionResponse(rsp) +} + +func (c *ClientWithResponses) GrantPermissionWithResponse(ctx context.Context, id string, userId string, body GrantPermissionJSONRequestBody, reqEditors ...RequestEditorFn) (*GrantPermissionResponse, error) { + rsp, err := c.GrantPermission(ctx, id, userId, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseGrantPermissionResponse(rsp) +} + +// ParseFindResponse parses an HTTP response from a FindWithResponse call +func ParseFindResponse(rsp *http.Response) (*FindResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &FindResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest ContextResponseListDto + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + } + + return response, nil +} + +// ParseCreateResponse parses an HTTP response from a CreateWithResponse call +func ParseCreateResponse(rsp *http.Response) (*CreateResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &CreateResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 201: + var dest Unit + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON201 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 409: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON409 = &dest + + } + + return response, nil +} + +// ParseArchiveResponse parses an HTTP response from a ArchiveWithResponse call +func ParseArchiveResponse(rsp *http.Response) (*ArchiveResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &ArchiveResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 204: + var dest Unit + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON204 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + } + + return response, nil +} + +// ParseGetResponse parses an HTTP response from a GetWithResponse call +func ParseGetResponse(rsp *http.Response) (*GetResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &GetResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest ContextResponseDto + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + } + + return response, nil +} + +// ParseUpdateResponse parses an HTTP response from a UpdateWithResponse call +func ParseUpdateResponse(rsp *http.Response) (*UpdateResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &UpdateResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 204: + var dest Unit + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON204 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 409: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON409 = &dest + + } + + return response, nil +} + +// ParseCreateFilterResponse parses an HTTP response from a CreateFilterWithResponse call +func ParseCreateFilterResponse(rsp *http.Response) (*CreateFilterResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &CreateFilterResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 201: + var dest Unit + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON201 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 409: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON409 = &dest + + } + + return response, nil +} + +// ParseDeleteFilterFromAllResponse parses an HTTP response from a DeleteFilterFromAllWithResponse call +func ParseDeleteFilterFromAllResponse(rsp *http.Response) (*DeleteFilterFromAllResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &DeleteFilterFromAllResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 204: + var dest Unit + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON204 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + } + + return response, nil +} + +// ParseUpdatePublicFilterResponse parses an HTTP response from a UpdatePublicFilterWithResponse call +func ParseUpdatePublicFilterResponse(rsp *http.Response) (*UpdatePublicFilterResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &UpdatePublicFilterResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 204: + var dest Unit + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON204 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 409: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON409 = &dest + + } + + return response, nil +} + +// ParseFindFilterResponse parses an HTTP response from a FindFilterWithResponse call +func ParseFindFilterResponse(rsp *http.Response) (*FindFilterResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &FindFilterResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest FilterResponseListDto + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + } + + return response, nil +} + +// ParseFindAllResponse parses an HTTP response from a FindAllWithResponse call +func ParseFindAllResponse(rsp *http.Response) (*FindAllResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &FindAllResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest FilterResponseListDto + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + } + + return response, nil +} + +// ParseDeleteFilterResponse parses an HTTP response from a DeleteFilterWithResponse call +func ParseDeleteFilterResponse(rsp *http.Response) (*DeleteFilterResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &DeleteFilterResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 204: + var dest Unit + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON204 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + } + + return response, nil +} + +// ParseGetFilterResponse parses an HTTP response from a GetFilterWithResponse call +func ParseGetFilterResponse(rsp *http.Response) (*GetFilterResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &GetFilterResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest FilterResponseDto + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + } + + return response, nil +} + +// ParseUpdateFilterResponse parses an HTTP response from a UpdateFilterWithResponse call +func ParseUpdateFilterResponse(rsp *http.Response) (*UpdateFilterResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &UpdateFilterResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 204: + var dest Unit + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON204 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 409: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON409 = &dest + + } + + return response, nil +} + +// ParseGetPermissionsResponse parses an HTTP response from a GetPermissionsWithResponse call +func ParseGetPermissionsResponse(rsp *http.Response) (*GetPermissionsResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &GetPermissionsResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest FilterPermissionResponseListDto + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + } + + return response, nil +} + +// ParseRevokePermissionResponse parses an HTTP response from a RevokePermissionWithResponse call +func ParseRevokePermissionResponse(rsp *http.Response) (*RevokePermissionResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &RevokePermissionResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 204: + var dest Unit + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON204 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + } + + return response, nil +} + +// ParseGrantPermissionResponse parses an HTTP response from a GrantPermissionWithResponse call +func ParseGrantPermissionResponse(rsp *http.Response) (*GrantPermissionResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &GrantPermissionResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 204: + var dest Unit + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON204 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest ErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + } + + return response, nil +}