From 0294827f5cb0e9ceada0045417390c15742f604b Mon Sep 17 00:00:00 2001 From: Michael Quigley Date: Fri, 10 Jan 2025 13:41:24 -0500 Subject: [PATCH] add new '/sparklines' endpoint (#823); organization endpoints --- .../metadata/get_sparklines_parameters.go | 146 +++++++ .../metadata/get_sparklines_responses.go | 382 ++++++++++++++++++ rest_client_zrok/metadata/metadata_client.go | 41 ++ rest_server_zrok/embedded_spec.go | 118 ++++++ .../operations/metadata/get_sparklines.go | 225 +++++++++++ .../metadata/get_sparklines_parameters.go | 74 ++++ .../metadata/get_sparklines_responses.go | 107 +++++ .../metadata/get_sparklines_urlbuilder.go | 87 ++++ rest_server_zrok/operations/zrok_api.go | 12 + .../sdk/src/zrok/api/.openapi-generator/FILES | 2 + .../sdk/src/zrok/api/api/metadataApi.ts | 68 ++++ .../api/model/addOrganizationMemberRequest.ts | 2 +- .../api/model/createOrganizationRequest.ts | 2 +- .../api/model/getSparklines200Response.ts | 32 ++ .../zrok/api/model/getSparklinesRequest.ts | 43 ++ .../api/model/listMemberships200Response.ts | 2 +- ...tMemberships200ResponseMembershipsInner.ts | 2 +- .../listOrganizationMembers200Response.ts | 2 +- ...anizationMembers200ResponseMembersInner.ts | 2 +- .../api/model/listOrganizations200Response.ts | 2 +- ...anizations200ResponseOrganizationsInner.ts | 2 +- sdk/nodejs/sdk/src/zrok/api/model/models.ts | 6 + .../model/removeOrganizationMemberRequest.ts | 2 +- sdk/python/sdk/zrok/zrok_api/__init__.py | 2 + .../sdk/zrok/zrok_api/api/metadata_api.py | 93 +++++ .../sdk/zrok/zrok_api/models/__init__.py | 2 + .../zrok_api/models/inline_response2001.py | 2 +- .../models/inline_response2001_members.py | 2 +- .../zrok_api/models/inline_response2002.py | 2 +- .../inline_response2002_organizations.py | 2 +- .../zrok_api/models/inline_response2003.py | 2 +- .../models/inline_response2003_memberships.py | 2 +- .../zrok_api/models/inline_response2004.py | 110 +++++ .../zrok_api/models/organization_add_body.py | 2 +- .../zrok/zrok_api/models/organization_body.py | 2 +- .../zrok_api/models/organization_body1.py | 2 +- .../zrok_api/models/organization_list_body.py | 2 +- .../models/organization_remove_body.py | 2 +- .../zrok/zrok_api/models/sparklines_body.py | 162 ++++++++ specs/zrok.yml | 35 ++ ui/src/api/metadata.js | 26 ++ ui100/src/api/.openapi-generator/FILES | 11 + ui100/src/api/apis/AdminApi.ts | 215 ++++++++++ ui100/src/api/apis/MetadataApi.ts | 161 ++++++++ .../models/AddOrganizationMemberRequest.ts | 76 ++++ .../api/models/CreateOrganizationRequest.ts | 60 +++ .../api/models/GetSparklines200Response.ts | 67 +++ ui100/src/api/models/GetSparklinesRequest.ts | 76 ++++ .../api/models/ListMemberships200Response.ts | 67 +++ ...tMemberships200ResponseMembershipsInner.ts | 76 ++++ .../ListOrganizationMembers200Response.ts | 67 +++ ...anizationMembers200ResponseMembersInner.ts | 68 ++++ .../models/ListOrganizations200Response.ts | 67 +++ ...anizations200ResponseOrganizationsInner.ts | 68 ++++ .../models/RemoveOrganizationMemberRequest.ts | 68 ++++ ui100/src/api/models/index.ts | 11 + 56 files changed, 2951 insertions(+), 20 deletions(-) create mode 100644 rest_client_zrok/metadata/get_sparklines_parameters.go create mode 100644 rest_client_zrok/metadata/get_sparklines_responses.go create mode 100644 rest_server_zrok/operations/metadata/get_sparklines.go create mode 100644 rest_server_zrok/operations/metadata/get_sparklines_parameters.go create mode 100644 rest_server_zrok/operations/metadata/get_sparklines_responses.go create mode 100644 rest_server_zrok/operations/metadata/get_sparklines_urlbuilder.go create mode 100644 sdk/nodejs/sdk/src/zrok/api/model/getSparklines200Response.ts create mode 100644 sdk/nodejs/sdk/src/zrok/api/model/getSparklinesRequest.ts create mode 100644 sdk/python/sdk/zrok/zrok_api/models/inline_response2004.py create mode 100644 sdk/python/sdk/zrok/zrok_api/models/sparklines_body.py create mode 100644 ui100/src/api/models/AddOrganizationMemberRequest.ts create mode 100644 ui100/src/api/models/CreateOrganizationRequest.ts create mode 100644 ui100/src/api/models/GetSparklines200Response.ts create mode 100644 ui100/src/api/models/GetSparklinesRequest.ts create mode 100644 ui100/src/api/models/ListMemberships200Response.ts create mode 100644 ui100/src/api/models/ListMemberships200ResponseMembershipsInner.ts create mode 100644 ui100/src/api/models/ListOrganizationMembers200Response.ts create mode 100644 ui100/src/api/models/ListOrganizationMembers200ResponseMembersInner.ts create mode 100644 ui100/src/api/models/ListOrganizations200Response.ts create mode 100644 ui100/src/api/models/ListOrganizations200ResponseOrganizationsInner.ts create mode 100644 ui100/src/api/models/RemoveOrganizationMemberRequest.ts diff --git a/rest_client_zrok/metadata/get_sparklines_parameters.go b/rest_client_zrok/metadata/get_sparklines_parameters.go new file mode 100644 index 00000000..562c1ef6 --- /dev/null +++ b/rest_client_zrok/metadata/get_sparklines_parameters.go @@ -0,0 +1,146 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package metadata + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewGetSparklinesParams creates a new GetSparklinesParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetSparklinesParams() *GetSparklinesParams { + return &GetSparklinesParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewGetSparklinesParamsWithTimeout creates a new GetSparklinesParams object +// with the ability to set a timeout on a request. +func NewGetSparklinesParamsWithTimeout(timeout time.Duration) *GetSparklinesParams { + return &GetSparklinesParams{ + timeout: timeout, + } +} + +// NewGetSparklinesParamsWithContext creates a new GetSparklinesParams object +// with the ability to set a context for a request. +func NewGetSparklinesParamsWithContext(ctx context.Context) *GetSparklinesParams { + return &GetSparklinesParams{ + Context: ctx, + } +} + +// NewGetSparklinesParamsWithHTTPClient creates a new GetSparklinesParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetSparklinesParamsWithHTTPClient(client *http.Client) *GetSparklinesParams { + return &GetSparklinesParams{ + HTTPClient: client, + } +} + +/* +GetSparklinesParams contains all the parameters to send to the API endpoint + + for the get sparklines operation. + + Typically these are written to a http.Request. +*/ +type GetSparklinesParams struct { + + // Body. + Body GetSparklinesBody + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the get sparklines params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetSparklinesParams) WithDefaults() *GetSparklinesParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get sparklines params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetSparklinesParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the get sparklines params +func (o *GetSparklinesParams) WithTimeout(timeout time.Duration) *GetSparklinesParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get sparklines params +func (o *GetSparklinesParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the get sparklines params +func (o *GetSparklinesParams) WithContext(ctx context.Context) *GetSparklinesParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get sparklines params +func (o *GetSparklinesParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the get sparklines params +func (o *GetSparklinesParams) WithHTTPClient(client *http.Client) *GetSparklinesParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get sparklines params +func (o *GetSparklinesParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the get sparklines params +func (o *GetSparklinesParams) WithBody(body GetSparklinesBody) *GetSparklinesParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the get sparklines params +func (o *GetSparklinesParams) SetBody(body GetSparklinesBody) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *GetSparklinesParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/rest_client_zrok/metadata/get_sparklines_responses.go b/rest_client_zrok/metadata/get_sparklines_responses.go new file mode 100644 index 00000000..65747107 --- /dev/null +++ b/rest_client_zrok/metadata/get_sparklines_responses.go @@ -0,0 +1,382 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package metadata + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "fmt" + "io" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + + "github.com/openziti/zrok/rest_model_zrok" +) + +// GetSparklinesReader is a Reader for the GetSparklines structure. +type GetSparklinesReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetSparklinesReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewGetSparklinesOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 401: + result := NewGetSparklinesUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewGetSparklinesInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /sparklines] getSparklines", response, response.Code()) + } +} + +// NewGetSparklinesOK creates a GetSparklinesOK with default headers values +func NewGetSparklinesOK() *GetSparklinesOK { + return &GetSparklinesOK{} +} + +/* +GetSparklinesOK describes a response with status code 200, with default header values. + +sparklines data +*/ +type GetSparklinesOK struct { + Payload *GetSparklinesOKBody +} + +// IsSuccess returns true when this get sparklines o k response has a 2xx status code +func (o *GetSparklinesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get sparklines o k response has a 3xx status code +func (o *GetSparklinesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get sparklines o k response has a 4xx status code +func (o *GetSparklinesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get sparklines o k response has a 5xx status code +func (o *GetSparklinesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get sparklines o k response a status code equal to that given +func (o *GetSparklinesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get sparklines o k response +func (o *GetSparklinesOK) Code() int { + return 200 +} + +func (o *GetSparklinesOK) Error() string { + return fmt.Sprintf("[POST /sparklines][%d] getSparklinesOK %+v", 200, o.Payload) +} + +func (o *GetSparklinesOK) String() string { + return fmt.Sprintf("[POST /sparklines][%d] getSparklinesOK %+v", 200, o.Payload) +} + +func (o *GetSparklinesOK) GetPayload() *GetSparklinesOKBody { + return o.Payload +} + +func (o *GetSparklinesOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(GetSparklinesOKBody) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewGetSparklinesUnauthorized creates a GetSparklinesUnauthorized with default headers values +func NewGetSparklinesUnauthorized() *GetSparklinesUnauthorized { + return &GetSparklinesUnauthorized{} +} + +/* +GetSparklinesUnauthorized describes a response with status code 401, with default header values. + +unauthorized +*/ +type GetSparklinesUnauthorized struct { +} + +// IsSuccess returns true when this get sparklines unauthorized response has a 2xx status code +func (o *GetSparklinesUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this get sparklines unauthorized response has a 3xx status code +func (o *GetSparklinesUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get sparklines unauthorized response has a 4xx status code +func (o *GetSparklinesUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this get sparklines unauthorized response has a 5xx status code +func (o *GetSparklinesUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this get sparklines unauthorized response a status code equal to that given +func (o *GetSparklinesUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the get sparklines unauthorized response +func (o *GetSparklinesUnauthorized) Code() int { + return 401 +} + +func (o *GetSparklinesUnauthorized) Error() string { + return fmt.Sprintf("[POST /sparklines][%d] getSparklinesUnauthorized ", 401) +} + +func (o *GetSparklinesUnauthorized) String() string { + return fmt.Sprintf("[POST /sparklines][%d] getSparklinesUnauthorized ", 401) +} + +func (o *GetSparklinesUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewGetSparklinesInternalServerError creates a GetSparklinesInternalServerError with default headers values +func NewGetSparklinesInternalServerError() *GetSparklinesInternalServerError { + return &GetSparklinesInternalServerError{} +} + +/* +GetSparklinesInternalServerError describes a response with status code 500, with default header values. + +internal server error +*/ +type GetSparklinesInternalServerError struct { +} + +// IsSuccess returns true when this get sparklines internal server error response has a 2xx status code +func (o *GetSparklinesInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this get sparklines internal server error response has a 3xx status code +func (o *GetSparklinesInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get sparklines internal server error response has a 4xx status code +func (o *GetSparklinesInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this get sparklines internal server error response has a 5xx status code +func (o *GetSparklinesInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this get sparklines internal server error response a status code equal to that given +func (o *GetSparklinesInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the get sparklines internal server error response +func (o *GetSparklinesInternalServerError) Code() int { + return 500 +} + +func (o *GetSparklinesInternalServerError) Error() string { + return fmt.Sprintf("[POST /sparklines][%d] getSparklinesInternalServerError ", 500) +} + +func (o *GetSparklinesInternalServerError) String() string { + return fmt.Sprintf("[POST /sparklines][%d] getSparklinesInternalServerError ", 500) +} + +func (o *GetSparklinesInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +/* +GetSparklinesBody get sparklines body +swagger:model GetSparklinesBody +*/ +type GetSparklinesBody struct { + + // account + Account bool `json:"account,omitempty"` + + // environments + Environments []string `json:"environments"` + + // shares + Shares []string `json:"shares"` +} + +// Validate validates this get sparklines body +func (o *GetSparklinesBody) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this get sparklines body based on context it is used +func (o *GetSparklinesBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (o *GetSparklinesBody) MarshalBinary() ([]byte, error) { + if o == nil { + return nil, nil + } + return swag.WriteJSON(o) +} + +// UnmarshalBinary interface implementation +func (o *GetSparklinesBody) UnmarshalBinary(b []byte) error { + var res GetSparklinesBody + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *o = res + return nil +} + +/* +GetSparklinesOKBody get sparklines o k body +swagger:model GetSparklinesOKBody +*/ +type GetSparklinesOKBody struct { + + // sparklines + Sparklines []*rest_model_zrok.Metrics `json:"sparklines"` +} + +// Validate validates this get sparklines o k body +func (o *GetSparklinesOKBody) Validate(formats strfmt.Registry) error { + var res []error + + if err := o.validateSparklines(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (o *GetSparklinesOKBody) validateSparklines(formats strfmt.Registry) error { + if swag.IsZero(o.Sparklines) { // not required + return nil + } + + for i := 0; i < len(o.Sparklines); i++ { + if swag.IsZero(o.Sparklines[i]) { // not required + continue + } + + if o.Sparklines[i] != nil { + if err := o.Sparklines[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("getSparklinesOK" + "." + "sparklines" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("getSparklinesOK" + "." + "sparklines" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// ContextValidate validate this get sparklines o k body based on the context it is used +func (o *GetSparklinesOKBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := o.contextValidateSparklines(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (o *GetSparklinesOKBody) contextValidateSparklines(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(o.Sparklines); i++ { + + if o.Sparklines[i] != nil { + + if swag.IsZero(o.Sparklines[i]) { // not required + return nil + } + + if err := o.Sparklines[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("getSparklinesOK" + "." + "sparklines" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("getSparklinesOK" + "." + "sparklines" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (o *GetSparklinesOKBody) MarshalBinary() ([]byte, error) { + if o == nil { + return nil, nil + } + return swag.WriteJSON(o) +} + +// UnmarshalBinary interface implementation +func (o *GetSparklinesOKBody) UnmarshalBinary(b []byte) error { + var res GetSparklinesOKBody + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *o = res + return nil +} diff --git a/rest_client_zrok/metadata/metadata_client.go b/rest_client_zrok/metadata/metadata_client.go index 9e69c04e..1b7da2f5 100644 --- a/rest_client_zrok/metadata/metadata_client.go +++ b/rest_client_zrok/metadata/metadata_client.go @@ -46,6 +46,8 @@ type ClientService interface { GetShareMetrics(params *GetShareMetricsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetShareMetricsOK, error) + GetSparklines(params *GetSparklinesParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetSparklinesOK, error) + ListMemberships(params *ListMembershipsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ListMembershipsOK, error) ListOrgMembers(params *ListOrgMembersParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ListOrgMembersOK, error) @@ -370,6 +372,45 @@ func (a *Client) GetShareMetrics(params *GetShareMetricsParams, authInfo runtime panic(msg) } +/* +GetSparklines get sparklines API +*/ +func (a *Client) GetSparklines(params *GetSparklinesParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetSparklinesOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewGetSparklinesParams() + } + op := &runtime.ClientOperation{ + ID: "getSparklines", + Method: "POST", + PathPattern: "/sparklines", + ProducesMediaTypes: []string{"application/zrok.v1+json"}, + ConsumesMediaTypes: []string{"application/zrok.v1+json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetSparklinesReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*GetSparklinesOK) + if ok { + return success, nil + } + // unexpected success response + // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for getSparklines: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + /* ListMemberships list memberships API */ diff --git a/rest_server_zrok/embedded_spec.go b/rest_server_zrok/embedded_spec.go index bb4478c3..b2497856 100644 --- a/rest_server_zrok/embedded_spec.go +++ b/rest_server_zrok/embedded_spec.go @@ -1490,6 +1490,65 @@ func init() { } } }, + "/sparklines": { + "post": { + "security": [ + { + "key": [] + } + ], + "tags": [ + "metadata" + ], + "operationId": "getSparklines", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "properties": { + "account": { + "type": "boolean" + }, + "environments": { + "type": "array", + "items": { + "type": "string" + } + }, + "shares": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + ], + "responses": { + "200": { + "description": "sparklines data", + "schema": { + "properties": { + "sparklines": { + "type": "array", + "items": { + "$ref": "#/definitions/metrics" + } + } + } + } + }, + "401": { + "description": "unauthorized" + }, + "500": { + "description": "internal server error" + } + } + } + }, "/unaccess": { "delete": { "security": [ @@ -3709,6 +3768,65 @@ func init() { } } }, + "/sparklines": { + "post": { + "security": [ + { + "key": [] + } + ], + "tags": [ + "metadata" + ], + "operationId": "getSparklines", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "properties": { + "account": { + "type": "boolean" + }, + "environments": { + "type": "array", + "items": { + "type": "string" + } + }, + "shares": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + ], + "responses": { + "200": { + "description": "sparklines data", + "schema": { + "properties": { + "sparklines": { + "type": "array", + "items": { + "$ref": "#/definitions/metrics" + } + } + } + } + }, + "401": { + "description": "unauthorized" + }, + "500": { + "description": "internal server error" + } + } + } + }, "/unaccess": { "delete": { "security": [ diff --git a/rest_server_zrok/operations/metadata/get_sparklines.go b/rest_server_zrok/operations/metadata/get_sparklines.go new file mode 100644 index 00000000..e377afd0 --- /dev/null +++ b/rest_server_zrok/operations/metadata/get_sparklines.go @@ -0,0 +1,225 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package metadata + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "context" + "net/http" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime/middleware" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + + "github.com/openziti/zrok/rest_model_zrok" +) + +// GetSparklinesHandlerFunc turns a function with the right signature into a get sparklines handler +type GetSparklinesHandlerFunc func(GetSparklinesParams, *rest_model_zrok.Principal) middleware.Responder + +// Handle executing the request and returning a response +func (fn GetSparklinesHandlerFunc) Handle(params GetSparklinesParams, principal *rest_model_zrok.Principal) middleware.Responder { + return fn(params, principal) +} + +// GetSparklinesHandler interface for that can handle valid get sparklines params +type GetSparklinesHandler interface { + Handle(GetSparklinesParams, *rest_model_zrok.Principal) middleware.Responder +} + +// NewGetSparklines creates a new http.Handler for the get sparklines operation +func NewGetSparklines(ctx *middleware.Context, handler GetSparklinesHandler) *GetSparklines { + return &GetSparklines{Context: ctx, Handler: handler} +} + +/* + GetSparklines swagger:route POST /sparklines metadata getSparklines + +GetSparklines get sparklines API +*/ +type GetSparklines struct { + Context *middleware.Context + Handler GetSparklinesHandler +} + +func (o *GetSparklines) ServeHTTP(rw http.ResponseWriter, r *http.Request) { + route, rCtx, _ := o.Context.RouteInfo(r) + if rCtx != nil { + *r = *rCtx + } + var Params = NewGetSparklinesParams() + uprinc, aCtx, err := o.Context.Authorize(r, route) + if err != nil { + o.Context.Respond(rw, r, route.Produces, route, err) + return + } + if aCtx != nil { + *r = *aCtx + } + var principal *rest_model_zrok.Principal + if uprinc != nil { + principal = uprinc.(*rest_model_zrok.Principal) // this is really a rest_model_zrok.Principal, I promise + } + + if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params + o.Context.Respond(rw, r, route.Produces, route, err) + return + } + + res := o.Handler.Handle(Params, principal) // actually handle the request + o.Context.Respond(rw, r, route.Produces, route, res) + +} + +// GetSparklinesBody get sparklines body +// +// swagger:model GetSparklinesBody +type GetSparklinesBody struct { + + // account + Account bool `json:"account,omitempty"` + + // environments + Environments []string `json:"environments"` + + // shares + Shares []string `json:"shares"` +} + +// Validate validates this get sparklines body +func (o *GetSparklinesBody) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this get sparklines body based on context it is used +func (o *GetSparklinesBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (o *GetSparklinesBody) MarshalBinary() ([]byte, error) { + if o == nil { + return nil, nil + } + return swag.WriteJSON(o) +} + +// UnmarshalBinary interface implementation +func (o *GetSparklinesBody) UnmarshalBinary(b []byte) error { + var res GetSparklinesBody + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *o = res + return nil +} + +// GetSparklinesOKBody get sparklines o k body +// +// swagger:model GetSparklinesOKBody +type GetSparklinesOKBody struct { + + // sparklines + Sparklines []*rest_model_zrok.Metrics `json:"sparklines"` +} + +// Validate validates this get sparklines o k body +func (o *GetSparklinesOKBody) Validate(formats strfmt.Registry) error { + var res []error + + if err := o.validateSparklines(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (o *GetSparklinesOKBody) validateSparklines(formats strfmt.Registry) error { + if swag.IsZero(o.Sparklines) { // not required + return nil + } + + for i := 0; i < len(o.Sparklines); i++ { + if swag.IsZero(o.Sparklines[i]) { // not required + continue + } + + if o.Sparklines[i] != nil { + if err := o.Sparklines[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("getSparklinesOK" + "." + "sparklines" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("getSparklinesOK" + "." + "sparklines" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// ContextValidate validate this get sparklines o k body based on the context it is used +func (o *GetSparklinesOKBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := o.contextValidateSparklines(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (o *GetSparklinesOKBody) contextValidateSparklines(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(o.Sparklines); i++ { + + if o.Sparklines[i] != nil { + + if swag.IsZero(o.Sparklines[i]) { // not required + return nil + } + + if err := o.Sparklines[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("getSparklinesOK" + "." + "sparklines" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("getSparklinesOK" + "." + "sparklines" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (o *GetSparklinesOKBody) MarshalBinary() ([]byte, error) { + if o == nil { + return nil, nil + } + return swag.WriteJSON(o) +} + +// UnmarshalBinary interface implementation +func (o *GetSparklinesOKBody) UnmarshalBinary(b []byte) error { + var res GetSparklinesOKBody + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *o = res + return nil +} diff --git a/rest_server_zrok/operations/metadata/get_sparklines_parameters.go b/rest_server_zrok/operations/metadata/get_sparklines_parameters.go new file mode 100644 index 00000000..b8b03d09 --- /dev/null +++ b/rest_server_zrok/operations/metadata/get_sparklines_parameters.go @@ -0,0 +1,74 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package metadata + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/runtime/middleware" + "github.com/go-openapi/validate" +) + +// NewGetSparklinesParams creates a new GetSparklinesParams object +// +// There are no default values defined in the spec. +func NewGetSparklinesParams() GetSparklinesParams { + + return GetSparklinesParams{} +} + +// GetSparklinesParams contains all the bound params for the get sparklines operation +// typically these are obtained from a http.Request +// +// swagger:parameters getSparklines +type GetSparklinesParams struct { + + // HTTP Request Object + HTTPRequest *http.Request `json:"-"` + + /* + In: body + */ + Body GetSparklinesBody +} + +// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface +// for simple values it will use straight method calls. +// +// To ensure default values, the struct must have been initialized with NewGetSparklinesParams() beforehand. +func (o *GetSparklinesParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error { + var res []error + + o.HTTPRequest = r + + if runtime.HasBody(r) { + defer r.Body.Close() + var body GetSparklinesBody + if err := route.Consumer.Consume(r.Body, &body); err != nil { + res = append(res, errors.NewParseError("body", "body", "", err)) + } else { + // validate body object + if err := body.Validate(route.Formats); err != nil { + res = append(res, err) + } + + ctx := validate.WithOperationRequest(r.Context()) + if err := body.ContextValidate(ctx, route.Formats); err != nil { + res = append(res, err) + } + + if len(res) == 0 { + o.Body = body + } + } + } + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/rest_server_zrok/operations/metadata/get_sparklines_responses.go b/rest_server_zrok/operations/metadata/get_sparklines_responses.go new file mode 100644 index 00000000..da5ec847 --- /dev/null +++ b/rest_server_zrok/operations/metadata/get_sparklines_responses.go @@ -0,0 +1,107 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package metadata + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/runtime" +) + +// GetSparklinesOKCode is the HTTP code returned for type GetSparklinesOK +const GetSparklinesOKCode int = 200 + +/* +GetSparklinesOK sparklines data + +swagger:response getSparklinesOK +*/ +type GetSparklinesOK struct { + + /* + In: Body + */ + Payload *GetSparklinesOKBody `json:"body,omitempty"` +} + +// NewGetSparklinesOK creates GetSparklinesOK with default headers values +func NewGetSparklinesOK() *GetSparklinesOK { + + return &GetSparklinesOK{} +} + +// WithPayload adds the payload to the get sparklines o k response +func (o *GetSparklinesOK) WithPayload(payload *GetSparklinesOKBody) *GetSparklinesOK { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the get sparklines o k response +func (o *GetSparklinesOK) SetPayload(payload *GetSparklinesOKBody) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *GetSparklinesOK) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(200) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// GetSparklinesUnauthorizedCode is the HTTP code returned for type GetSparklinesUnauthorized +const GetSparklinesUnauthorizedCode int = 401 + +/* +GetSparklinesUnauthorized unauthorized + +swagger:response getSparklinesUnauthorized +*/ +type GetSparklinesUnauthorized struct { +} + +// NewGetSparklinesUnauthorized creates GetSparklinesUnauthorized with default headers values +func NewGetSparklinesUnauthorized() *GetSparklinesUnauthorized { + + return &GetSparklinesUnauthorized{} +} + +// WriteResponse to the client +func (o *GetSparklinesUnauthorized) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.Header().Del(runtime.HeaderContentType) //Remove Content-Type on empty responses + + rw.WriteHeader(401) +} + +// GetSparklinesInternalServerErrorCode is the HTTP code returned for type GetSparklinesInternalServerError +const GetSparklinesInternalServerErrorCode int = 500 + +/* +GetSparklinesInternalServerError internal server error + +swagger:response getSparklinesInternalServerError +*/ +type GetSparklinesInternalServerError struct { +} + +// NewGetSparklinesInternalServerError creates GetSparklinesInternalServerError with default headers values +func NewGetSparklinesInternalServerError() *GetSparklinesInternalServerError { + + return &GetSparklinesInternalServerError{} +} + +// WriteResponse to the client +func (o *GetSparklinesInternalServerError) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.Header().Del(runtime.HeaderContentType) //Remove Content-Type on empty responses + + rw.WriteHeader(500) +} diff --git a/rest_server_zrok/operations/metadata/get_sparklines_urlbuilder.go b/rest_server_zrok/operations/metadata/get_sparklines_urlbuilder.go new file mode 100644 index 00000000..125f9867 --- /dev/null +++ b/rest_server_zrok/operations/metadata/get_sparklines_urlbuilder.go @@ -0,0 +1,87 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package metadata + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "errors" + "net/url" + golangswaggerpaths "path" +) + +// GetSparklinesURL generates an URL for the get sparklines operation +type GetSparklinesURL struct { + _basePath string +} + +// WithBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *GetSparklinesURL) WithBasePath(bp string) *GetSparklinesURL { + o.SetBasePath(bp) + return o +} + +// SetBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *GetSparklinesURL) SetBasePath(bp string) { + o._basePath = bp +} + +// Build a url path and query string +func (o *GetSparklinesURL) Build() (*url.URL, error) { + var _result url.URL + + var _path = "/sparklines" + + _basePath := o._basePath + if _basePath == "" { + _basePath = "/api/v1" + } + _result.Path = golangswaggerpaths.Join(_basePath, _path) + + return &_result, nil +} + +// Must is a helper function to panic when the url builder returns an error +func (o *GetSparklinesURL) Must(u *url.URL, err error) *url.URL { + if err != nil { + panic(err) + } + if u == nil { + panic("url can't be nil") + } + return u +} + +// String returns the string representation of the path with query string +func (o *GetSparklinesURL) String() string { + return o.Must(o.Build()).String() +} + +// BuildFull builds a full url with scheme, host, path and query string +func (o *GetSparklinesURL) BuildFull(scheme, host string) (*url.URL, error) { + if scheme == "" { + return nil, errors.New("scheme is required for a full url on GetSparklinesURL") + } + if host == "" { + return nil, errors.New("host is required for a full url on GetSparklinesURL") + } + + base, err := o.Build() + if err != nil { + return nil, err + } + + base.Scheme = scheme + base.Host = host + return base, nil +} + +// StringFull returns the string representation of a complete url +func (o *GetSparklinesURL) StringFull(scheme, host string) string { + return o.Must(o.BuildFull(scheme, host)).String() +} diff --git a/rest_server_zrok/operations/zrok_api.go b/rest_server_zrok/operations/zrok_api.go index defdbf97..fee28ccb 100644 --- a/rest_server_zrok/operations/zrok_api.go +++ b/rest_server_zrok/operations/zrok_api.go @@ -106,6 +106,9 @@ func NewZrokAPI(spec *loads.Document) *ZrokAPI { MetadataGetShareMetricsHandler: metadata.GetShareMetricsHandlerFunc(func(params metadata.GetShareMetricsParams, principal *rest_model_zrok.Principal) middleware.Responder { return middleware.NotImplemented("operation metadata.GetShareMetrics has not yet been implemented") }), + MetadataGetSparklinesHandler: metadata.GetSparklinesHandlerFunc(func(params metadata.GetSparklinesParams, principal *rest_model_zrok.Principal) middleware.Responder { + return middleware.NotImplemented("operation metadata.GetSparklines has not yet been implemented") + }), AdminGrantsHandler: admin.GrantsHandlerFunc(func(params admin.GrantsParams, principal *rest_model_zrok.Principal) middleware.Responder { return middleware.NotImplemented("operation admin.Grants has not yet been implemented") }), @@ -263,6 +266,8 @@ type ZrokAPI struct { MetadataGetShareDetailHandler metadata.GetShareDetailHandler // MetadataGetShareMetricsHandler sets the operation handler for the get share metrics operation MetadataGetShareMetricsHandler metadata.GetShareMetricsHandler + // MetadataGetSparklinesHandler sets the operation handler for the get sparklines operation + MetadataGetSparklinesHandler metadata.GetSparklinesHandler // AdminGrantsHandler sets the operation handler for the grants operation AdminGrantsHandler admin.GrantsHandler // AccountInviteHandler sets the operation handler for the invite operation @@ -447,6 +452,9 @@ func (o *ZrokAPI) Validate() error { if o.MetadataGetShareMetricsHandler == nil { unregistered = append(unregistered, "metadata.GetShareMetricsHandler") } + if o.MetadataGetSparklinesHandler == nil { + unregistered = append(unregistered, "metadata.GetSparklinesHandler") + } if o.AdminGrantsHandler == nil { unregistered = append(unregistered, "admin.GrantsHandler") } @@ -694,6 +702,10 @@ func (o *ZrokAPI) initHandlerCache() { if o.handlers["POST"] == nil { o.handlers["POST"] = make(map[string]http.Handler) } + o.handlers["POST"]["/sparklines"] = metadata.NewGetSparklines(o.context, o.MetadataGetSparklinesHandler) + if o.handlers["POST"] == nil { + o.handlers["POST"] = make(map[string]http.Handler) + } o.handlers["POST"]["/grants"] = admin.NewGrants(o.context, o.AdminGrantsHandler) if o.handlers["POST"] == nil { o.handlers["POST"] = make(map[string]http.Handler) diff --git a/sdk/nodejs/sdk/src/zrok/api/.openapi-generator/FILES b/sdk/nodejs/sdk/src/zrok/api/.openapi-generator/FILES index 1e696e01..9718adef 100644 --- a/sdk/nodejs/sdk/src/zrok/api/.openapi-generator/FILES +++ b/sdk/nodejs/sdk/src/zrok/api/.openapi-generator/FILES @@ -25,6 +25,8 @@ model/enableResponse.ts model/environment.ts model/environmentAndResources.ts model/frontend.ts +model/getSparklines200Response.ts +model/getSparklinesRequest.ts model/grantsRequest.ts model/inviteRequest.ts model/inviteTokenGenerateRequest.ts diff --git a/sdk/nodejs/sdk/src/zrok/api/api/metadataApi.ts b/sdk/nodejs/sdk/src/zrok/api/api/metadataApi.ts index a2b20f8d..b949d857 100644 --- a/sdk/nodejs/sdk/src/zrok/api/api/metadataApi.ts +++ b/sdk/nodejs/sdk/src/zrok/api/api/metadataApi.ts @@ -19,6 +19,8 @@ import { Configuration } from '../model/configuration'; import { Environment } from '../model/environment'; import { EnvironmentAndResources } from '../model/environmentAndResources'; import { Frontend } from '../model/frontend'; +import { GetSparklines200Response } from '../model/getSparklines200Response'; +import { GetSparklinesRequest } from '../model/getSparklinesRequest'; import { ListMemberships200Response } from '../model/listMemberships200Response'; import { ListOrganizationMembers200Response } from '../model/listOrganizationMembers200Response'; import { Metrics } from '../model/metrics'; @@ -656,6 +658,72 @@ export class MetadataApi { }); }); } + /** + * + * @param body + */ + public async getSparklines (body?: GetSparklinesRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: GetSparklines200Response; }> { + const localVarPath = this.basePath + '/sparklines'; + let localVarQueryParameters: any = {}; + let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); + const produces = ['application/zrok.v1+json']; + // give precedence to 'application/json' + if (produces.indexOf('application/json') >= 0) { + localVarHeaderParams.Accept = 'application/json'; + } else { + localVarHeaderParams.Accept = produces.join(','); + } + let localVarFormParams: any = {}; + + (Object).assign(localVarHeaderParams, options.headers); + + let localVarUseFormData = false; + + let localVarRequestOptions: localVarRequest.Options = { + method: 'POST', + qs: localVarQueryParameters, + headers: localVarHeaderParams, + uri: localVarPath, + useQuerystring: this._useQuerystring, + json: true, + body: ObjectSerializer.serialize(body, "GetSparklinesRequest") + }; + + let authenticationPromise = Promise.resolve(); + if (this.authentications.key.apiKey) { + authenticationPromise = authenticationPromise.then(() => this.authentications.key.applyToRequest(localVarRequestOptions)); + } + authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); + + let interceptorPromise = authenticationPromise; + for (const interceptor of this.interceptors) { + interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); + } + + return interceptorPromise.then(() => { + if (Object.keys(localVarFormParams).length) { + if (localVarUseFormData) { + (localVarRequestOptions).formData = localVarFormParams; + } else { + localVarRequestOptions.form = localVarFormParams; + } + } + return new Promise<{ response: http.IncomingMessage; body: GetSparklines200Response; }>((resolve, reject) => { + localVarRequest(localVarRequestOptions, (error, response, body) => { + if (error) { + reject(error); + } else { + if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { + body = ObjectSerializer.deserialize(body, "GetSparklines200Response"); + resolve({ response: response, body: body }); + } else { + reject(new HttpError(response, body, response.statusCode)); + } + } + }); + }); + }); + } /** * */ diff --git a/sdk/nodejs/sdk/src/zrok/api/model/addOrganizationMemberRequest.ts b/sdk/nodejs/sdk/src/zrok/api/model/addOrganizationMemberRequest.ts index 9b918462..2a343d35 100644 --- a/sdk/nodejs/sdk/src/zrok/api/model/addOrganizationMemberRequest.ts +++ b/sdk/nodejs/sdk/src/zrok/api/model/addOrganizationMemberRequest.ts @@ -2,7 +2,7 @@ * zrok * zrok client access * - * The version of the OpenAPI document: 0.3.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdk/nodejs/sdk/src/zrok/api/model/createOrganizationRequest.ts b/sdk/nodejs/sdk/src/zrok/api/model/createOrganizationRequest.ts index 6b3d737a..cc8476ac 100644 --- a/sdk/nodejs/sdk/src/zrok/api/model/createOrganizationRequest.ts +++ b/sdk/nodejs/sdk/src/zrok/api/model/createOrganizationRequest.ts @@ -2,7 +2,7 @@ * zrok * zrok client access * - * The version of the OpenAPI document: 0.3.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdk/nodejs/sdk/src/zrok/api/model/getSparklines200Response.ts b/sdk/nodejs/sdk/src/zrok/api/model/getSparklines200Response.ts new file mode 100644 index 00000000..f0cb7c47 --- /dev/null +++ b/sdk/nodejs/sdk/src/zrok/api/model/getSparklines200Response.ts @@ -0,0 +1,32 @@ +/** + * zrok + * zrok client access + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { RequestFile } from './models'; +import { Metrics } from './metrics'; + +export class GetSparklines200Response { + 'sparklines'?: Array; + + static discriminator: string | undefined = undefined; + + static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ + { + "name": "sparklines", + "baseName": "sparklines", + "type": "Array" + } ]; + + static getAttributeTypeMap() { + return GetSparklines200Response.attributeTypeMap; + } +} + diff --git a/sdk/nodejs/sdk/src/zrok/api/model/getSparklinesRequest.ts b/sdk/nodejs/sdk/src/zrok/api/model/getSparklinesRequest.ts new file mode 100644 index 00000000..7e9f4b96 --- /dev/null +++ b/sdk/nodejs/sdk/src/zrok/api/model/getSparklinesRequest.ts @@ -0,0 +1,43 @@ +/** + * zrok + * zrok client access + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { RequestFile } from './models'; + +export class GetSparklinesRequest { + 'account'?: boolean; + 'environments'?: Array; + 'shares'?: Array; + + static discriminator: string | undefined = undefined; + + static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ + { + "name": "account", + "baseName": "account", + "type": "boolean" + }, + { + "name": "environments", + "baseName": "environments", + "type": "Array" + }, + { + "name": "shares", + "baseName": "shares", + "type": "Array" + } ]; + + static getAttributeTypeMap() { + return GetSparklinesRequest.attributeTypeMap; + } +} + diff --git a/sdk/nodejs/sdk/src/zrok/api/model/listMemberships200Response.ts b/sdk/nodejs/sdk/src/zrok/api/model/listMemberships200Response.ts index 7195a2cd..f42a8bc5 100644 --- a/sdk/nodejs/sdk/src/zrok/api/model/listMemberships200Response.ts +++ b/sdk/nodejs/sdk/src/zrok/api/model/listMemberships200Response.ts @@ -2,7 +2,7 @@ * zrok * zrok client access * - * The version of the OpenAPI document: 0.3.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdk/nodejs/sdk/src/zrok/api/model/listMemberships200ResponseMembershipsInner.ts b/sdk/nodejs/sdk/src/zrok/api/model/listMemberships200ResponseMembershipsInner.ts index dfbb4257..96517b05 100644 --- a/sdk/nodejs/sdk/src/zrok/api/model/listMemberships200ResponseMembershipsInner.ts +++ b/sdk/nodejs/sdk/src/zrok/api/model/listMemberships200ResponseMembershipsInner.ts @@ -2,7 +2,7 @@ * zrok * zrok client access * - * The version of the OpenAPI document: 0.3.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdk/nodejs/sdk/src/zrok/api/model/listOrganizationMembers200Response.ts b/sdk/nodejs/sdk/src/zrok/api/model/listOrganizationMembers200Response.ts index 01452eca..7d0b5a2b 100644 --- a/sdk/nodejs/sdk/src/zrok/api/model/listOrganizationMembers200Response.ts +++ b/sdk/nodejs/sdk/src/zrok/api/model/listOrganizationMembers200Response.ts @@ -2,7 +2,7 @@ * zrok * zrok client access * - * The version of the OpenAPI document: 0.3.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdk/nodejs/sdk/src/zrok/api/model/listOrganizationMembers200ResponseMembersInner.ts b/sdk/nodejs/sdk/src/zrok/api/model/listOrganizationMembers200ResponseMembersInner.ts index 5c4faa33..b761e0f3 100644 --- a/sdk/nodejs/sdk/src/zrok/api/model/listOrganizationMembers200ResponseMembersInner.ts +++ b/sdk/nodejs/sdk/src/zrok/api/model/listOrganizationMembers200ResponseMembersInner.ts @@ -2,7 +2,7 @@ * zrok * zrok client access * - * The version of the OpenAPI document: 0.3.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdk/nodejs/sdk/src/zrok/api/model/listOrganizations200Response.ts b/sdk/nodejs/sdk/src/zrok/api/model/listOrganizations200Response.ts index 0e5bb380..09ae68bc 100644 --- a/sdk/nodejs/sdk/src/zrok/api/model/listOrganizations200Response.ts +++ b/sdk/nodejs/sdk/src/zrok/api/model/listOrganizations200Response.ts @@ -2,7 +2,7 @@ * zrok * zrok client access * - * The version of the OpenAPI document: 0.3.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdk/nodejs/sdk/src/zrok/api/model/listOrganizations200ResponseOrganizationsInner.ts b/sdk/nodejs/sdk/src/zrok/api/model/listOrganizations200ResponseOrganizationsInner.ts index f8e968dc..b52eb9da 100644 --- a/sdk/nodejs/sdk/src/zrok/api/model/listOrganizations200ResponseOrganizationsInner.ts +++ b/sdk/nodejs/sdk/src/zrok/api/model/listOrganizations200ResponseOrganizationsInner.ts @@ -2,7 +2,7 @@ * zrok * zrok client access * - * The version of the OpenAPI document: 0.3.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdk/nodejs/sdk/src/zrok/api/model/models.ts b/sdk/nodejs/sdk/src/zrok/api/model/models.ts index 74aa5b4c..136dc3df 100644 --- a/sdk/nodejs/sdk/src/zrok/api/model/models.ts +++ b/sdk/nodejs/sdk/src/zrok/api/model/models.ts @@ -19,6 +19,8 @@ export * from './enableResponse'; export * from './environment'; export * from './environmentAndResources'; export * from './frontend'; +export * from './getSparklines200Response'; +export * from './getSparklinesRequest'; export * from './grantsRequest'; export * from './inviteRequest'; export * from './inviteTokenGenerateRequest'; @@ -84,6 +86,8 @@ import { EnableResponse } from './enableResponse'; import { Environment } from './environment'; import { EnvironmentAndResources } from './environmentAndResources'; import { Frontend } from './frontend'; +import { GetSparklines200Response } from './getSparklines200Response'; +import { GetSparklinesRequest } from './getSparklinesRequest'; import { GrantsRequest } from './grantsRequest'; import { InviteRequest } from './inviteRequest'; import { InviteTokenGenerateRequest } from './inviteTokenGenerateRequest'; @@ -157,6 +161,8 @@ let typeMap: {[index: string]: any} = { "Environment": Environment, "EnvironmentAndResources": EnvironmentAndResources, "Frontend": Frontend, + "GetSparklines200Response": GetSparklines200Response, + "GetSparklinesRequest": GetSparklinesRequest, "GrantsRequest": GrantsRequest, "InviteRequest": InviteRequest, "InviteTokenGenerateRequest": InviteTokenGenerateRequest, diff --git a/sdk/nodejs/sdk/src/zrok/api/model/removeOrganizationMemberRequest.ts b/sdk/nodejs/sdk/src/zrok/api/model/removeOrganizationMemberRequest.ts index 8caf373b..14c844f3 100644 --- a/sdk/nodejs/sdk/src/zrok/api/model/removeOrganizationMemberRequest.ts +++ b/sdk/nodejs/sdk/src/zrok/api/model/removeOrganizationMemberRequest.ts @@ -2,7 +2,7 @@ * zrok * zrok client access * - * The version of the OpenAPI document: 0.3.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdk/python/sdk/zrok/zrok_api/__init__.py b/sdk/python/sdk/zrok/zrok_api/__init__.py index 89ee97d6..da69dcbe 100644 --- a/sdk/python/sdk/zrok/zrok_api/__init__.py +++ b/sdk/python/sdk/zrok/zrok_api/__init__.py @@ -51,6 +51,7 @@ from zrok_api.models.inline_response2002 import InlineResponse2002 from zrok_api.models.inline_response2002_organizations import InlineResponse2002Organizations from zrok_api.models.inline_response2003 import InlineResponse2003 from zrok_api.models.inline_response2003_memberships import InlineResponse2003Memberships +from zrok_api.models.inline_response2004 import InlineResponse2004 from zrok_api.models.inline_response201 import InlineResponse201 from zrok_api.models.invite_request import InviteRequest from zrok_api.models.invite_token_generate_request import InviteTokenGenerateRequest @@ -79,6 +80,7 @@ from zrok_api.models.share_response import ShareResponse from zrok_api.models.shares import Shares from zrok_api.models.spark_data import SparkData from zrok_api.models.spark_data_sample import SparkDataSample +from zrok_api.models.sparklines_body import SparklinesBody from zrok_api.models.unaccess_request import UnaccessRequest from zrok_api.models.unshare_request import UnshareRequest from zrok_api.models.update_frontend_request import UpdateFrontendRequest diff --git a/sdk/python/sdk/zrok/zrok_api/api/metadata_api.py b/sdk/python/sdk/zrok/zrok_api/api/metadata_api.py index 000ecd22..1854998c 100644 --- a/sdk/python/sdk/zrok/zrok_api/api/metadata_api.py +++ b/sdk/python/sdk/zrok/zrok_api/api/metadata_api.py @@ -764,6 +764,99 @@ class MetadataApi(object): _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) + def get_sparklines(self, **kwargs): # noqa: E501 + """get_sparklines # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_sparklines(async_req=True) + >>> result = thread.get() + + :param async_req bool + :param SparklinesBody body: + :return: InlineResponse2004 + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_sparklines_with_http_info(**kwargs) # noqa: E501 + else: + (data) = self.get_sparklines_with_http_info(**kwargs) # noqa: E501 + return data + + def get_sparklines_with_http_info(self, **kwargs): # noqa: E501 + """get_sparklines # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_sparklines_with_http_info(async_req=True) + >>> result = thread.get() + + :param async_req bool + :param SparklinesBody body: + :return: InlineResponse2004 + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['body'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_sparklines" % key + ) + params[key] = val + del params['kwargs'] + + collection_formats = {} + + path_params = {} + + query_params = [] + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + if 'body' in params: + body_params = params['body'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/zrok.v1+json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/zrok.v1+json']) # noqa: E501 + + # Authentication setting + auth_settings = ['key'] # noqa: E501 + + return self.api_client.call_api( + '/sparklines', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='InlineResponse2004', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + def list_memberships(self, **kwargs): # noqa: E501 """list_memberships # noqa: E501 diff --git a/sdk/python/sdk/zrok/zrok_api/models/__init__.py b/sdk/python/sdk/zrok/zrok_api/models/__init__.py index 486bc17b..8851c90f 100644 --- a/sdk/python/sdk/zrok/zrok_api/models/__init__.py +++ b/sdk/python/sdk/zrok/zrok_api/models/__init__.py @@ -41,6 +41,7 @@ from zrok_api.models.inline_response2002 import InlineResponse2002 from zrok_api.models.inline_response2002_organizations import InlineResponse2002Organizations from zrok_api.models.inline_response2003 import InlineResponse2003 from zrok_api.models.inline_response2003_memberships import InlineResponse2003Memberships +from zrok_api.models.inline_response2004 import InlineResponse2004 from zrok_api.models.inline_response201 import InlineResponse201 from zrok_api.models.invite_request import InviteRequest from zrok_api.models.invite_token_generate_request import InviteTokenGenerateRequest @@ -69,6 +70,7 @@ from zrok_api.models.share_response import ShareResponse from zrok_api.models.shares import Shares from zrok_api.models.spark_data import SparkData from zrok_api.models.spark_data_sample import SparkDataSample +from zrok_api.models.sparklines_body import SparklinesBody from zrok_api.models.unaccess_request import UnaccessRequest from zrok_api.models.unshare_request import UnshareRequest from zrok_api.models.update_frontend_request import UpdateFrontendRequest diff --git a/sdk/python/sdk/zrok/zrok_api/models/inline_response2001.py b/sdk/python/sdk/zrok/zrok_api/models/inline_response2001.py index 214eca09..3efcdcdc 100644 --- a/sdk/python/sdk/zrok/zrok_api/models/inline_response2001.py +++ b/sdk/python/sdk/zrok/zrok_api/models/inline_response2001.py @@ -5,7 +5,7 @@ zrok client access # noqa: E501 - OpenAPI spec version: 0.3.0 + OpenAPI spec version: 1.0.0 Generated by: https://github.com/swagger-api/swagger-codegen.git """ diff --git a/sdk/python/sdk/zrok/zrok_api/models/inline_response2001_members.py b/sdk/python/sdk/zrok/zrok_api/models/inline_response2001_members.py index a5fbc3e6..b587dd99 100644 --- a/sdk/python/sdk/zrok/zrok_api/models/inline_response2001_members.py +++ b/sdk/python/sdk/zrok/zrok_api/models/inline_response2001_members.py @@ -5,7 +5,7 @@ zrok client access # noqa: E501 - OpenAPI spec version: 0.3.0 + OpenAPI spec version: 1.0.0 Generated by: https://github.com/swagger-api/swagger-codegen.git """ diff --git a/sdk/python/sdk/zrok/zrok_api/models/inline_response2002.py b/sdk/python/sdk/zrok/zrok_api/models/inline_response2002.py index 31aca38e..2e4f20a2 100644 --- a/sdk/python/sdk/zrok/zrok_api/models/inline_response2002.py +++ b/sdk/python/sdk/zrok/zrok_api/models/inline_response2002.py @@ -5,7 +5,7 @@ zrok client access # noqa: E501 - OpenAPI spec version: 0.3.0 + OpenAPI spec version: 1.0.0 Generated by: https://github.com/swagger-api/swagger-codegen.git """ diff --git a/sdk/python/sdk/zrok/zrok_api/models/inline_response2002_organizations.py b/sdk/python/sdk/zrok/zrok_api/models/inline_response2002_organizations.py index b80da9bb..0a06d240 100644 --- a/sdk/python/sdk/zrok/zrok_api/models/inline_response2002_organizations.py +++ b/sdk/python/sdk/zrok/zrok_api/models/inline_response2002_organizations.py @@ -5,7 +5,7 @@ zrok client access # noqa: E501 - OpenAPI spec version: 0.3.0 + OpenAPI spec version: 1.0.0 Generated by: https://github.com/swagger-api/swagger-codegen.git """ diff --git a/sdk/python/sdk/zrok/zrok_api/models/inline_response2003.py b/sdk/python/sdk/zrok/zrok_api/models/inline_response2003.py index b92d8287..5acd4a93 100644 --- a/sdk/python/sdk/zrok/zrok_api/models/inline_response2003.py +++ b/sdk/python/sdk/zrok/zrok_api/models/inline_response2003.py @@ -5,7 +5,7 @@ zrok client access # noqa: E501 - OpenAPI spec version: 0.3.0 + OpenAPI spec version: 1.0.0 Generated by: https://github.com/swagger-api/swagger-codegen.git """ diff --git a/sdk/python/sdk/zrok/zrok_api/models/inline_response2003_memberships.py b/sdk/python/sdk/zrok/zrok_api/models/inline_response2003_memberships.py index e7d293af..32502277 100644 --- a/sdk/python/sdk/zrok/zrok_api/models/inline_response2003_memberships.py +++ b/sdk/python/sdk/zrok/zrok_api/models/inline_response2003_memberships.py @@ -5,7 +5,7 @@ zrok client access # noqa: E501 - OpenAPI spec version: 0.3.0 + OpenAPI spec version: 1.0.0 Generated by: https://github.com/swagger-api/swagger-codegen.git """ diff --git a/sdk/python/sdk/zrok/zrok_api/models/inline_response2004.py b/sdk/python/sdk/zrok/zrok_api/models/inline_response2004.py new file mode 100644 index 00000000..87ec1c89 --- /dev/null +++ b/sdk/python/sdk/zrok/zrok_api/models/inline_response2004.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + zrok + + zrok client access # noqa: E501 + + OpenAPI spec version: 1.0.0 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + +import pprint +import re # noqa: F401 + +import six + +class InlineResponse2004(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'sparklines': 'list[Metrics]' + } + + attribute_map = { + 'sparklines': 'sparklines' + } + + def __init__(self, sparklines=None): # noqa: E501 + """InlineResponse2004 - a model defined in Swagger""" # noqa: E501 + self._sparklines = None + self.discriminator = None + if sparklines is not None: + self.sparklines = sparklines + + @property + def sparklines(self): + """Gets the sparklines of this InlineResponse2004. # noqa: E501 + + + :return: The sparklines of this InlineResponse2004. # noqa: E501 + :rtype: list[Metrics] + """ + return self._sparklines + + @sparklines.setter + def sparklines(self, sparklines): + """Sets the sparklines of this InlineResponse2004. + + + :param sparklines: The sparklines of this InlineResponse2004. # noqa: E501 + :type: list[Metrics] + """ + + self._sparklines = sparklines + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(InlineResponse2004, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, InlineResponse2004): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/sdk/python/sdk/zrok/zrok_api/models/organization_add_body.py b/sdk/python/sdk/zrok/zrok_api/models/organization_add_body.py index 918758ab..95b9d752 100644 --- a/sdk/python/sdk/zrok/zrok_api/models/organization_add_body.py +++ b/sdk/python/sdk/zrok/zrok_api/models/organization_add_body.py @@ -5,7 +5,7 @@ zrok client access # noqa: E501 - OpenAPI spec version: 0.3.0 + OpenAPI spec version: 1.0.0 Generated by: https://github.com/swagger-api/swagger-codegen.git """ diff --git a/sdk/python/sdk/zrok/zrok_api/models/organization_body.py b/sdk/python/sdk/zrok/zrok_api/models/organization_body.py index 0875eadb..8133f0ff 100644 --- a/sdk/python/sdk/zrok/zrok_api/models/organization_body.py +++ b/sdk/python/sdk/zrok/zrok_api/models/organization_body.py @@ -5,7 +5,7 @@ zrok client access # noqa: E501 - OpenAPI spec version: 0.3.0 + OpenAPI spec version: 1.0.0 Generated by: https://github.com/swagger-api/swagger-codegen.git """ diff --git a/sdk/python/sdk/zrok/zrok_api/models/organization_body1.py b/sdk/python/sdk/zrok/zrok_api/models/organization_body1.py index a605af16..231312ab 100644 --- a/sdk/python/sdk/zrok/zrok_api/models/organization_body1.py +++ b/sdk/python/sdk/zrok/zrok_api/models/organization_body1.py @@ -5,7 +5,7 @@ zrok client access # noqa: E501 - OpenAPI spec version: 0.3.0 + OpenAPI spec version: 1.0.0 Generated by: https://github.com/swagger-api/swagger-codegen.git """ diff --git a/sdk/python/sdk/zrok/zrok_api/models/organization_list_body.py b/sdk/python/sdk/zrok/zrok_api/models/organization_list_body.py index 4b783851..c3a41879 100644 --- a/sdk/python/sdk/zrok/zrok_api/models/organization_list_body.py +++ b/sdk/python/sdk/zrok/zrok_api/models/organization_list_body.py @@ -5,7 +5,7 @@ zrok client access # noqa: E501 - OpenAPI spec version: 0.3.0 + OpenAPI spec version: 1.0.0 Generated by: https://github.com/swagger-api/swagger-codegen.git """ diff --git a/sdk/python/sdk/zrok/zrok_api/models/organization_remove_body.py b/sdk/python/sdk/zrok/zrok_api/models/organization_remove_body.py index 4600d47f..1c0b330c 100644 --- a/sdk/python/sdk/zrok/zrok_api/models/organization_remove_body.py +++ b/sdk/python/sdk/zrok/zrok_api/models/organization_remove_body.py @@ -5,7 +5,7 @@ zrok client access # noqa: E501 - OpenAPI spec version: 0.3.0 + OpenAPI spec version: 1.0.0 Generated by: https://github.com/swagger-api/swagger-codegen.git """ diff --git a/sdk/python/sdk/zrok/zrok_api/models/sparklines_body.py b/sdk/python/sdk/zrok/zrok_api/models/sparklines_body.py new file mode 100644 index 00000000..fd84ff20 --- /dev/null +++ b/sdk/python/sdk/zrok/zrok_api/models/sparklines_body.py @@ -0,0 +1,162 @@ +# coding: utf-8 + +""" + zrok + + zrok client access # noqa: E501 + + OpenAPI spec version: 1.0.0 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + +import pprint +import re # noqa: F401 + +import six + +class SparklinesBody(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'account': 'bool', + 'environments': 'list[str]', + 'shares': 'list[str]' + } + + attribute_map = { + 'account': 'account', + 'environments': 'environments', + 'shares': 'shares' + } + + def __init__(self, account=None, environments=None, shares=None): # noqa: E501 + """SparklinesBody - a model defined in Swagger""" # noqa: E501 + self._account = None + self._environments = None + self._shares = None + self.discriminator = None + if account is not None: + self.account = account + if environments is not None: + self.environments = environments + if shares is not None: + self.shares = shares + + @property + def account(self): + """Gets the account of this SparklinesBody. # noqa: E501 + + + :return: The account of this SparklinesBody. # noqa: E501 + :rtype: bool + """ + return self._account + + @account.setter + def account(self, account): + """Sets the account of this SparklinesBody. + + + :param account: The account of this SparklinesBody. # noqa: E501 + :type: bool + """ + + self._account = account + + @property + def environments(self): + """Gets the environments of this SparklinesBody. # noqa: E501 + + + :return: The environments of this SparklinesBody. # noqa: E501 + :rtype: list[str] + """ + return self._environments + + @environments.setter + def environments(self, environments): + """Sets the environments of this SparklinesBody. + + + :param environments: The environments of this SparklinesBody. # noqa: E501 + :type: list[str] + """ + + self._environments = environments + + @property + def shares(self): + """Gets the shares of this SparklinesBody. # noqa: E501 + + + :return: The shares of this SparklinesBody. # noqa: E501 + :rtype: list[str] + """ + return self._shares + + @shares.setter + def shares(self, shares): + """Sets the shares of this SparklinesBody. + + + :param shares: The shares of this SparklinesBody. # noqa: E501 + :type: list[str] + """ + + self._shares = shares + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SparklinesBody, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SparklinesBody): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/specs/zrok.yml b/specs/zrok.yml index 6c8bd564..68157466 100644 --- a/specs/zrok.yml +++ b/specs/zrok.yml @@ -865,6 +865,41 @@ paths: 500: description: internal server error + /sparklines: + post: + tags: + - metadata + security: + - key: [] + operationId: getSparklines + parameters: + - name: body + in: body + schema: + properties: + account: + type: boolean + environments: + type: array + items: + type: string + shares: + type: array + items: + type: string + responses: + 200: + description: sparklines data + schema: + properties: + sparklines: + type: array + items: + $ref: "#/definitions/metrics" + 401: + description: unauthorized + 500: + description: internal server error /version: get: diff --git a/ui/src/api/metadata.js b/ui/src/api/metadata.js index ba1a02e9..bdb70bac 100644 --- a/ui/src/api/metadata.js +++ b/ui/src/api/metadata.js @@ -146,6 +146,21 @@ export function getShareMetrics(shrToken, options) { return gateway.request(getShareMetricsOperation, parameters) } +/** + * @param {object} options Optional options + * @param {object} [options.body] + * @return {Promise} sparklines data + */ +export function getSparklines(options) { + if (!options) options = {} + const parameters = { + body: { + body: options.body + } + } + return gateway.request(getSparklinesOperation, parameters) +} + /** */ export function version() { @@ -267,6 +282,17 @@ const getShareMetricsOperation = { ] } +const getSparklinesOperation = { + path: '/sparklines', + contentTypes: ['application/zrok.v1+json'], + method: 'post', + security: [ + { + id: 'key' + } + ] +} + const versionOperation = { path: '/version', method: 'get' diff --git a/ui100/src/api/.openapi-generator/FILES b/ui100/src/api/.openapi-generator/FILES index 055ee997..87fd2391 100644 --- a/ui100/src/api/.openapi-generator/FILES +++ b/ui100/src/api/.openapi-generator/FILES @@ -7,6 +7,7 @@ apis/index.ts index.ts models/AccessRequest.ts models/AccessResponse.ts +models/AddOrganizationMemberRequest.ts models/AuthUser.ts models/ChangePasswordRequest.ts models/CreateAccountRequest.ts @@ -14,6 +15,7 @@ models/CreateFrontendRequest.ts models/CreateFrontendResponse.ts models/CreateIdentity201Response.ts models/CreateIdentityRequest.ts +models/CreateOrganizationRequest.ts models/DeleteFrontendRequest.ts models/DisableRequest.ts models/EnableRequest.ts @@ -21,9 +23,17 @@ models/EnableResponse.ts models/Environment.ts models/EnvironmentAndResources.ts models/Frontend.ts +models/GetSparklines200Response.ts +models/GetSparklinesRequest.ts models/GrantsRequest.ts models/InviteRequest.ts models/InviteTokenGenerateRequest.ts +models/ListMemberships200Response.ts +models/ListMemberships200ResponseMembershipsInner.ts +models/ListOrganizationMembers200Response.ts +models/ListOrganizationMembers200ResponseMembersInner.ts +models/ListOrganizations200Response.ts +models/ListOrganizations200ResponseOrganizationsInner.ts models/LoginRequest.ts models/Metrics.ts models/MetricsSample.ts @@ -36,6 +46,7 @@ models/RegenerateToken200Response.ts models/RegenerateTokenRequest.ts models/RegisterRequest.ts models/RegisterResponse.ts +models/RemoveOrganizationMemberRequest.ts models/ResetPasswordRequest.ts models/Share.ts models/ShareRequest.ts diff --git a/ui100/src/api/apis/AdminApi.ts b/ui100/src/api/apis/AdminApi.ts index 4cd8acc7..a96d7b6e 100644 --- a/ui100/src/api/apis/AdminApi.ts +++ b/ui100/src/api/apis/AdminApi.ts @@ -15,19 +15,26 @@ import * as runtime from '../runtime'; import type { + AddOrganizationMemberRequest, CreateAccountRequest, CreateFrontendRequest, CreateFrontendResponse, CreateIdentity201Response, CreateIdentityRequest, + CreateOrganizationRequest, DeleteFrontendRequest, GrantsRequest, InviteTokenGenerateRequest, + ListOrganizationMembers200Response, + ListOrganizations200Response, PublicFrontend, RegenerateToken200Response, + RemoveOrganizationMemberRequest, UpdateFrontendRequest, } from '../models/index'; import { + AddOrganizationMemberRequestFromJSON, + AddOrganizationMemberRequestToJSON, CreateAccountRequestFromJSON, CreateAccountRequestToJSON, CreateFrontendRequestFromJSON, @@ -38,20 +45,32 @@ import { CreateIdentity201ResponseToJSON, CreateIdentityRequestFromJSON, CreateIdentityRequestToJSON, + CreateOrganizationRequestFromJSON, + CreateOrganizationRequestToJSON, DeleteFrontendRequestFromJSON, DeleteFrontendRequestToJSON, GrantsRequestFromJSON, GrantsRequestToJSON, InviteTokenGenerateRequestFromJSON, InviteTokenGenerateRequestToJSON, + ListOrganizationMembers200ResponseFromJSON, + ListOrganizationMembers200ResponseToJSON, + ListOrganizations200ResponseFromJSON, + ListOrganizations200ResponseToJSON, PublicFrontendFromJSON, PublicFrontendToJSON, RegenerateToken200ResponseFromJSON, RegenerateToken200ResponseToJSON, + RemoveOrganizationMemberRequestFromJSON, + RemoveOrganizationMemberRequestToJSON, UpdateFrontendRequestFromJSON, UpdateFrontendRequestToJSON, } from '../models/index'; +export interface AddOrganizationMemberOperationRequest { + body?: AddOrganizationMemberRequest; +} + export interface CreateAccountOperationRequest { body?: CreateAccountRequest; } @@ -64,10 +83,18 @@ export interface CreateIdentityOperationRequest { body?: CreateIdentityRequest; } +export interface CreateOrganizationOperationRequest { + body?: CreateOrganizationRequest; +} + export interface DeleteFrontendOperationRequest { body?: DeleteFrontendRequest; } +export interface DeleteOrganizationRequest { + body?: RegenerateToken200Response; +} + export interface GrantsOperationRequest { body?: GrantsRequest; } @@ -76,6 +103,14 @@ export interface InviteTokenGenerateOperationRequest { body?: InviteTokenGenerateRequest; } +export interface ListOrganizationMembersRequest { + body?: RegenerateToken200Response; +} + +export interface RemoveOrganizationMemberOperationRequest { + body?: RemoveOrganizationMemberRequest; +} + export interface UpdateFrontendOperationRequest { body?: UpdateFrontendRequest; } @@ -85,6 +120,36 @@ export interface UpdateFrontendOperationRequest { */ export class AdminApi extends runtime.BaseAPI { + /** + */ + async addOrganizationMemberRaw(requestParameters: AddOrganizationMemberOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/zrok.v1+json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-token"] = await this.configuration.apiKey("x-token"); // key authentication + } + + const response = await this.request({ + path: `/organization/add`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AddOrganizationMemberRequestToJSON(requestParameters['body']), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async addOrganizationMember(requestParameters: AddOrganizationMemberOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.addOrganizationMemberRaw(requestParameters, initOverrides); + } + /** */ async createAccountRaw(requestParameters: CreateAccountOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { @@ -178,6 +243,37 @@ export class AdminApi extends runtime.BaseAPI { return await response.value(); } + /** + */ + async createOrganizationRaw(requestParameters: CreateOrganizationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/zrok.v1+json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-token"] = await this.configuration.apiKey("x-token"); // key authentication + } + + const response = await this.request({ + path: `/organization`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateOrganizationRequestToJSON(requestParameters['body']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RegenerateToken200ResponseFromJSON(jsonValue)); + } + + /** + */ + async createOrganization(requestParameters: CreateOrganizationOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createOrganizationRaw(requestParameters, initOverrides); + return await response.value(); + } + /** */ async deleteFrontendRaw(requestParameters: DeleteFrontendOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { @@ -208,6 +304,36 @@ export class AdminApi extends runtime.BaseAPI { await this.deleteFrontendRaw(requestParameters, initOverrides); } + /** + */ + async deleteOrganizationRaw(requestParameters: DeleteOrganizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/zrok.v1+json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-token"] = await this.configuration.apiKey("x-token"); // key authentication + } + + const response = await this.request({ + path: `/organization`, + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + body: RegenerateToken200ResponseToJSON(requestParameters['body']), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async deleteOrganization(requestParameters: DeleteOrganizationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteOrganizationRaw(requestParameters, initOverrides); + } + /** */ async grantsRaw(requestParameters: GrantsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { @@ -296,6 +422,95 @@ export class AdminApi extends runtime.BaseAPI { return await response.value(); } + /** + */ + async listOrganizationMembersRaw(requestParameters: ListOrganizationMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/zrok.v1+json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-token"] = await this.configuration.apiKey("x-token"); // key authentication + } + + const response = await this.request({ + path: `/organization/list`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: RegenerateToken200ResponseToJSON(requestParameters['body']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ListOrganizationMembers200ResponseFromJSON(jsonValue)); + } + + /** + */ + async listOrganizationMembers(requestParameters: ListOrganizationMembersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.listOrganizationMembersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async listOrganizationsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-token"] = await this.configuration.apiKey("x-token"); // key authentication + } + + const response = await this.request({ + path: `/organizations`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ListOrganizations200ResponseFromJSON(jsonValue)); + } + + /** + */ + async listOrganizations(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.listOrganizationsRaw(initOverrides); + return await response.value(); + } + + /** + */ + async removeOrganizationMemberRaw(requestParameters: RemoveOrganizationMemberOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/zrok.v1+json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-token"] = await this.configuration.apiKey("x-token"); // key authentication + } + + const response = await this.request({ + path: `/organization/remove`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: RemoveOrganizationMemberRequestToJSON(requestParameters['body']), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async removeOrganizationMember(requestParameters: RemoveOrganizationMemberOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.removeOrganizationMemberRaw(requestParameters, initOverrides); + } + /** */ async updateFrontendRaw(requestParameters: UpdateFrontendOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { diff --git a/ui100/src/api/apis/MetadataApi.ts b/ui100/src/api/apis/MetadataApi.ts index aea74320..2790b693 100644 --- a/ui100/src/api/apis/MetadataApi.ts +++ b/ui100/src/api/apis/MetadataApi.ts @@ -18,6 +18,10 @@ import type { Environment, EnvironmentAndResources, Frontend, + GetSparklines200Response, + GetSparklinesRequest, + ListMemberships200Response, + ListOrganizationMembers200Response, Metrics, ModelConfiguration, Overview, @@ -30,6 +34,14 @@ import { EnvironmentAndResourcesToJSON, FrontendFromJSON, FrontendToJSON, + GetSparklines200ResponseFromJSON, + GetSparklines200ResponseToJSON, + GetSparklinesRequestFromJSON, + GetSparklinesRequestToJSON, + ListMemberships200ResponseFromJSON, + ListMemberships200ResponseToJSON, + ListOrganizationMembers200ResponseFromJSON, + ListOrganizationMembers200ResponseToJSON, MetricsFromJSON, MetricsToJSON, ModelConfigurationFromJSON, @@ -66,6 +78,19 @@ export interface GetShareMetricsRequest { duration?: string; } +export interface GetSparklinesOperationRequest { + body?: GetSparklinesRequest; +} + +export interface ListOrgMembersRequest { + organizationToken: string; +} + +export interface OrgAccountOverviewRequest { + organizationToken: string; + accountEmail: string; +} + /** * */ @@ -338,6 +363,142 @@ export class MetadataApi extends runtime.BaseAPI { return await response.value(); } + /** + */ + async getSparklinesRaw(requestParameters: GetSparklinesOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/zrok.v1+json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-token"] = await this.configuration.apiKey("x-token"); // key authentication + } + + const response = await this.request({ + path: `/sparklines`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: GetSparklinesRequestToJSON(requestParameters['body']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => GetSparklines200ResponseFromJSON(jsonValue)); + } + + /** + */ + async getSparklines(requestParameters: GetSparklinesOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSparklinesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async listMembershipsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-token"] = await this.configuration.apiKey("x-token"); // key authentication + } + + const response = await this.request({ + path: `/memberships`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ListMemberships200ResponseFromJSON(jsonValue)); + } + + /** + */ + async listMemberships(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.listMembershipsRaw(initOverrides); + return await response.value(); + } + + /** + */ + async listOrgMembersRaw(requestParameters: ListOrgMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['organizationToken'] == null) { + throw new runtime.RequiredError( + 'organizationToken', + 'Required parameter "organizationToken" was null or undefined when calling listOrgMembers().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-token"] = await this.configuration.apiKey("x-token"); // key authentication + } + + const response = await this.request({ + path: `/members/{organizationToken}`.replace(`{${"organizationToken"}}`, encodeURIComponent(String(requestParameters['organizationToken']))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ListOrganizationMembers200ResponseFromJSON(jsonValue)); + } + + /** + */ + async listOrgMembers(requestParameters: ListOrgMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.listOrgMembersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async orgAccountOverviewRaw(requestParameters: OrgAccountOverviewRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['organizationToken'] == null) { + throw new runtime.RequiredError( + 'organizationToken', + 'Required parameter "organizationToken" was null or undefined when calling orgAccountOverview().' + ); + } + + if (requestParameters['accountEmail'] == null) { + throw new runtime.RequiredError( + 'accountEmail', + 'Required parameter "accountEmail" was null or undefined when calling orgAccountOverview().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-token"] = await this.configuration.apiKey("x-token"); // key authentication + } + + const response = await this.request({ + path: `/overview/{organizationToken}/{accountEmail}`.replace(`{${"organizationToken"}}`, encodeURIComponent(String(requestParameters['organizationToken']))).replace(`{${"accountEmail"}}`, encodeURIComponent(String(requestParameters['accountEmail']))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => OverviewFromJSON(jsonValue)); + } + + /** + */ + async orgAccountOverview(requestParameters: OrgAccountOverviewRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.orgAccountOverviewRaw(requestParameters, initOverrides); + return await response.value(); + } + /** */ async overviewRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { diff --git a/ui100/src/api/models/AddOrganizationMemberRequest.ts b/ui100/src/api/models/AddOrganizationMemberRequest.ts new file mode 100644 index 00000000..b1b75412 --- /dev/null +++ b/ui100/src/api/models/AddOrganizationMemberRequest.ts @@ -0,0 +1,76 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * zrok + * zrok client access + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface AddOrganizationMemberRequest + */ +export interface AddOrganizationMemberRequest { + /** + * + * @type {string} + * @memberof AddOrganizationMemberRequest + */ + token?: string; + /** + * + * @type {string} + * @memberof AddOrganizationMemberRequest + */ + email?: string; + /** + * + * @type {boolean} + * @memberof AddOrganizationMemberRequest + */ + admin?: boolean; +} + +/** + * Check if a given object implements the AddOrganizationMemberRequest interface. + */ +export function instanceOfAddOrganizationMemberRequest(value: object): value is AddOrganizationMemberRequest { + return true; +} + +export function AddOrganizationMemberRequestFromJSON(json: any): AddOrganizationMemberRequest { + return AddOrganizationMemberRequestFromJSONTyped(json, false); +} + +export function AddOrganizationMemberRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddOrganizationMemberRequest { + if (json == null) { + return json; + } + return { + + 'token': json['token'] == null ? undefined : json['token'], + 'email': json['email'] == null ? undefined : json['email'], + 'admin': json['admin'] == null ? undefined : json['admin'], + }; +} + +export function AddOrganizationMemberRequestToJSON(value?: AddOrganizationMemberRequest | null): any { + if (value == null) { + return value; + } + return { + + 'token': value['token'], + 'email': value['email'], + 'admin': value['admin'], + }; +} + diff --git a/ui100/src/api/models/CreateOrganizationRequest.ts b/ui100/src/api/models/CreateOrganizationRequest.ts new file mode 100644 index 00000000..f866b94b --- /dev/null +++ b/ui100/src/api/models/CreateOrganizationRequest.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * zrok + * zrok client access + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface CreateOrganizationRequest + */ +export interface CreateOrganizationRequest { + /** + * + * @type {string} + * @memberof CreateOrganizationRequest + */ + description?: string; +} + +/** + * Check if a given object implements the CreateOrganizationRequest interface. + */ +export function instanceOfCreateOrganizationRequest(value: object): value is CreateOrganizationRequest { + return true; +} + +export function CreateOrganizationRequestFromJSON(json: any): CreateOrganizationRequest { + return CreateOrganizationRequestFromJSONTyped(json, false); +} + +export function CreateOrganizationRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateOrganizationRequest { + if (json == null) { + return json; + } + return { + + 'description': json['description'] == null ? undefined : json['description'], + }; +} + +export function CreateOrganizationRequestToJSON(value?: CreateOrganizationRequest | null): any { + if (value == null) { + return value; + } + return { + + 'description': value['description'], + }; +} + diff --git a/ui100/src/api/models/GetSparklines200Response.ts b/ui100/src/api/models/GetSparklines200Response.ts new file mode 100644 index 00000000..6815fb3d --- /dev/null +++ b/ui100/src/api/models/GetSparklines200Response.ts @@ -0,0 +1,67 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * zrok + * zrok client access + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Metrics } from './Metrics'; +import { + MetricsFromJSON, + MetricsFromJSONTyped, + MetricsToJSON, +} from './Metrics'; + +/** + * + * @export + * @interface GetSparklines200Response + */ +export interface GetSparklines200Response { + /** + * + * @type {Array} + * @memberof GetSparklines200Response + */ + sparklines?: Array; +} + +/** + * Check if a given object implements the GetSparklines200Response interface. + */ +export function instanceOfGetSparklines200Response(value: object): value is GetSparklines200Response { + return true; +} + +export function GetSparklines200ResponseFromJSON(json: any): GetSparklines200Response { + return GetSparklines200ResponseFromJSONTyped(json, false); +} + +export function GetSparklines200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetSparklines200Response { + if (json == null) { + return json; + } + return { + + 'sparklines': json['sparklines'] == null ? undefined : ((json['sparklines'] as Array).map(MetricsFromJSON)), + }; +} + +export function GetSparklines200ResponseToJSON(value?: GetSparklines200Response | null): any { + if (value == null) { + return value; + } + return { + + 'sparklines': value['sparklines'] == null ? undefined : ((value['sparklines'] as Array).map(MetricsToJSON)), + }; +} + diff --git a/ui100/src/api/models/GetSparklinesRequest.ts b/ui100/src/api/models/GetSparklinesRequest.ts new file mode 100644 index 00000000..f7873e4c --- /dev/null +++ b/ui100/src/api/models/GetSparklinesRequest.ts @@ -0,0 +1,76 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * zrok + * zrok client access + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface GetSparklinesRequest + */ +export interface GetSparklinesRequest { + /** + * + * @type {boolean} + * @memberof GetSparklinesRequest + */ + account?: boolean; + /** + * + * @type {Array} + * @memberof GetSparklinesRequest + */ + environments?: Array; + /** + * + * @type {Array} + * @memberof GetSparklinesRequest + */ + shares?: Array; +} + +/** + * Check if a given object implements the GetSparklinesRequest interface. + */ +export function instanceOfGetSparklinesRequest(value: object): value is GetSparklinesRequest { + return true; +} + +export function GetSparklinesRequestFromJSON(json: any): GetSparklinesRequest { + return GetSparklinesRequestFromJSONTyped(json, false); +} + +export function GetSparklinesRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetSparklinesRequest { + if (json == null) { + return json; + } + return { + + 'account': json['account'] == null ? undefined : json['account'], + 'environments': json['environments'] == null ? undefined : json['environments'], + 'shares': json['shares'] == null ? undefined : json['shares'], + }; +} + +export function GetSparklinesRequestToJSON(value?: GetSparklinesRequest | null): any { + if (value == null) { + return value; + } + return { + + 'account': value['account'], + 'environments': value['environments'], + 'shares': value['shares'], + }; +} + diff --git a/ui100/src/api/models/ListMemberships200Response.ts b/ui100/src/api/models/ListMemberships200Response.ts new file mode 100644 index 00000000..3e6b1500 --- /dev/null +++ b/ui100/src/api/models/ListMemberships200Response.ts @@ -0,0 +1,67 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * zrok + * zrok client access + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { ListMemberships200ResponseMembershipsInner } from './ListMemberships200ResponseMembershipsInner'; +import { + ListMemberships200ResponseMembershipsInnerFromJSON, + ListMemberships200ResponseMembershipsInnerFromJSONTyped, + ListMemberships200ResponseMembershipsInnerToJSON, +} from './ListMemberships200ResponseMembershipsInner'; + +/** + * + * @export + * @interface ListMemberships200Response + */ +export interface ListMemberships200Response { + /** + * + * @type {Array} + * @memberof ListMemberships200Response + */ + memberships?: Array; +} + +/** + * Check if a given object implements the ListMemberships200Response interface. + */ +export function instanceOfListMemberships200Response(value: object): value is ListMemberships200Response { + return true; +} + +export function ListMemberships200ResponseFromJSON(json: any): ListMemberships200Response { + return ListMemberships200ResponseFromJSONTyped(json, false); +} + +export function ListMemberships200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListMemberships200Response { + if (json == null) { + return json; + } + return { + + 'memberships': json['memberships'] == null ? undefined : ((json['memberships'] as Array).map(ListMemberships200ResponseMembershipsInnerFromJSON)), + }; +} + +export function ListMemberships200ResponseToJSON(value?: ListMemberships200Response | null): any { + if (value == null) { + return value; + } + return { + + 'memberships': value['memberships'] == null ? undefined : ((value['memberships'] as Array).map(ListMemberships200ResponseMembershipsInnerToJSON)), + }; +} + diff --git a/ui100/src/api/models/ListMemberships200ResponseMembershipsInner.ts b/ui100/src/api/models/ListMemberships200ResponseMembershipsInner.ts new file mode 100644 index 00000000..1cfbc21b --- /dev/null +++ b/ui100/src/api/models/ListMemberships200ResponseMembershipsInner.ts @@ -0,0 +1,76 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * zrok + * zrok client access + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface ListMemberships200ResponseMembershipsInner + */ +export interface ListMemberships200ResponseMembershipsInner { + /** + * + * @type {string} + * @memberof ListMemberships200ResponseMembershipsInner + */ + token?: string; + /** + * + * @type {string} + * @memberof ListMemberships200ResponseMembershipsInner + */ + description?: string; + /** + * + * @type {boolean} + * @memberof ListMemberships200ResponseMembershipsInner + */ + admin?: boolean; +} + +/** + * Check if a given object implements the ListMemberships200ResponseMembershipsInner interface. + */ +export function instanceOfListMemberships200ResponseMembershipsInner(value: object): value is ListMemberships200ResponseMembershipsInner { + return true; +} + +export function ListMemberships200ResponseMembershipsInnerFromJSON(json: any): ListMemberships200ResponseMembershipsInner { + return ListMemberships200ResponseMembershipsInnerFromJSONTyped(json, false); +} + +export function ListMemberships200ResponseMembershipsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListMemberships200ResponseMembershipsInner { + if (json == null) { + return json; + } + return { + + 'token': json['token'] == null ? undefined : json['token'], + 'description': json['description'] == null ? undefined : json['description'], + 'admin': json['admin'] == null ? undefined : json['admin'], + }; +} + +export function ListMemberships200ResponseMembershipsInnerToJSON(value?: ListMemberships200ResponseMembershipsInner | null): any { + if (value == null) { + return value; + } + return { + + 'token': value['token'], + 'description': value['description'], + 'admin': value['admin'], + }; +} + diff --git a/ui100/src/api/models/ListOrganizationMembers200Response.ts b/ui100/src/api/models/ListOrganizationMembers200Response.ts new file mode 100644 index 00000000..d3488775 --- /dev/null +++ b/ui100/src/api/models/ListOrganizationMembers200Response.ts @@ -0,0 +1,67 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * zrok + * zrok client access + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { ListOrganizationMembers200ResponseMembersInner } from './ListOrganizationMembers200ResponseMembersInner'; +import { + ListOrganizationMembers200ResponseMembersInnerFromJSON, + ListOrganizationMembers200ResponseMembersInnerFromJSONTyped, + ListOrganizationMembers200ResponseMembersInnerToJSON, +} from './ListOrganizationMembers200ResponseMembersInner'; + +/** + * + * @export + * @interface ListOrganizationMembers200Response + */ +export interface ListOrganizationMembers200Response { + /** + * + * @type {Array} + * @memberof ListOrganizationMembers200Response + */ + members?: Array; +} + +/** + * Check if a given object implements the ListOrganizationMembers200Response interface. + */ +export function instanceOfListOrganizationMembers200Response(value: object): value is ListOrganizationMembers200Response { + return true; +} + +export function ListOrganizationMembers200ResponseFromJSON(json: any): ListOrganizationMembers200Response { + return ListOrganizationMembers200ResponseFromJSONTyped(json, false); +} + +export function ListOrganizationMembers200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListOrganizationMembers200Response { + if (json == null) { + return json; + } + return { + + 'members': json['members'] == null ? undefined : ((json['members'] as Array).map(ListOrganizationMembers200ResponseMembersInnerFromJSON)), + }; +} + +export function ListOrganizationMembers200ResponseToJSON(value?: ListOrganizationMembers200Response | null): any { + if (value == null) { + return value; + } + return { + + 'members': value['members'] == null ? undefined : ((value['members'] as Array).map(ListOrganizationMembers200ResponseMembersInnerToJSON)), + }; +} + diff --git a/ui100/src/api/models/ListOrganizationMembers200ResponseMembersInner.ts b/ui100/src/api/models/ListOrganizationMembers200ResponseMembersInner.ts new file mode 100644 index 00000000..b9fcb57c --- /dev/null +++ b/ui100/src/api/models/ListOrganizationMembers200ResponseMembersInner.ts @@ -0,0 +1,68 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * zrok + * zrok client access + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface ListOrganizationMembers200ResponseMembersInner + */ +export interface ListOrganizationMembers200ResponseMembersInner { + /** + * + * @type {string} + * @memberof ListOrganizationMembers200ResponseMembersInner + */ + email?: string; + /** + * + * @type {boolean} + * @memberof ListOrganizationMembers200ResponseMembersInner + */ + admin?: boolean; +} + +/** + * Check if a given object implements the ListOrganizationMembers200ResponseMembersInner interface. + */ +export function instanceOfListOrganizationMembers200ResponseMembersInner(value: object): value is ListOrganizationMembers200ResponseMembersInner { + return true; +} + +export function ListOrganizationMembers200ResponseMembersInnerFromJSON(json: any): ListOrganizationMembers200ResponseMembersInner { + return ListOrganizationMembers200ResponseMembersInnerFromJSONTyped(json, false); +} + +export function ListOrganizationMembers200ResponseMembersInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListOrganizationMembers200ResponseMembersInner { + if (json == null) { + return json; + } + return { + + 'email': json['email'] == null ? undefined : json['email'], + 'admin': json['admin'] == null ? undefined : json['admin'], + }; +} + +export function ListOrganizationMembers200ResponseMembersInnerToJSON(value?: ListOrganizationMembers200ResponseMembersInner | null): any { + if (value == null) { + return value; + } + return { + + 'email': value['email'], + 'admin': value['admin'], + }; +} + diff --git a/ui100/src/api/models/ListOrganizations200Response.ts b/ui100/src/api/models/ListOrganizations200Response.ts new file mode 100644 index 00000000..dfbf8369 --- /dev/null +++ b/ui100/src/api/models/ListOrganizations200Response.ts @@ -0,0 +1,67 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * zrok + * zrok client access + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { ListOrganizations200ResponseOrganizationsInner } from './ListOrganizations200ResponseOrganizationsInner'; +import { + ListOrganizations200ResponseOrganizationsInnerFromJSON, + ListOrganizations200ResponseOrganizationsInnerFromJSONTyped, + ListOrganizations200ResponseOrganizationsInnerToJSON, +} from './ListOrganizations200ResponseOrganizationsInner'; + +/** + * + * @export + * @interface ListOrganizations200Response + */ +export interface ListOrganizations200Response { + /** + * + * @type {Array} + * @memberof ListOrganizations200Response + */ + organizations?: Array; +} + +/** + * Check if a given object implements the ListOrganizations200Response interface. + */ +export function instanceOfListOrganizations200Response(value: object): value is ListOrganizations200Response { + return true; +} + +export function ListOrganizations200ResponseFromJSON(json: any): ListOrganizations200Response { + return ListOrganizations200ResponseFromJSONTyped(json, false); +} + +export function ListOrganizations200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListOrganizations200Response { + if (json == null) { + return json; + } + return { + + 'organizations': json['organizations'] == null ? undefined : ((json['organizations'] as Array).map(ListOrganizations200ResponseOrganizationsInnerFromJSON)), + }; +} + +export function ListOrganizations200ResponseToJSON(value?: ListOrganizations200Response | null): any { + if (value == null) { + return value; + } + return { + + 'organizations': value['organizations'] == null ? undefined : ((value['organizations'] as Array).map(ListOrganizations200ResponseOrganizationsInnerToJSON)), + }; +} + diff --git a/ui100/src/api/models/ListOrganizations200ResponseOrganizationsInner.ts b/ui100/src/api/models/ListOrganizations200ResponseOrganizationsInner.ts new file mode 100644 index 00000000..8884889f --- /dev/null +++ b/ui100/src/api/models/ListOrganizations200ResponseOrganizationsInner.ts @@ -0,0 +1,68 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * zrok + * zrok client access + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface ListOrganizations200ResponseOrganizationsInner + */ +export interface ListOrganizations200ResponseOrganizationsInner { + /** + * + * @type {string} + * @memberof ListOrganizations200ResponseOrganizationsInner + */ + token?: string; + /** + * + * @type {string} + * @memberof ListOrganizations200ResponseOrganizationsInner + */ + description?: string; +} + +/** + * Check if a given object implements the ListOrganizations200ResponseOrganizationsInner interface. + */ +export function instanceOfListOrganizations200ResponseOrganizationsInner(value: object): value is ListOrganizations200ResponseOrganizationsInner { + return true; +} + +export function ListOrganizations200ResponseOrganizationsInnerFromJSON(json: any): ListOrganizations200ResponseOrganizationsInner { + return ListOrganizations200ResponseOrganizationsInnerFromJSONTyped(json, false); +} + +export function ListOrganizations200ResponseOrganizationsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListOrganizations200ResponseOrganizationsInner { + if (json == null) { + return json; + } + return { + + 'token': json['token'] == null ? undefined : json['token'], + 'description': json['description'] == null ? undefined : json['description'], + }; +} + +export function ListOrganizations200ResponseOrganizationsInnerToJSON(value?: ListOrganizations200ResponseOrganizationsInner | null): any { + if (value == null) { + return value; + } + return { + + 'token': value['token'], + 'description': value['description'], + }; +} + diff --git a/ui100/src/api/models/RemoveOrganizationMemberRequest.ts b/ui100/src/api/models/RemoveOrganizationMemberRequest.ts new file mode 100644 index 00000000..81ba8ba0 --- /dev/null +++ b/ui100/src/api/models/RemoveOrganizationMemberRequest.ts @@ -0,0 +1,68 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * zrok + * zrok client access + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface RemoveOrganizationMemberRequest + */ +export interface RemoveOrganizationMemberRequest { + /** + * + * @type {string} + * @memberof RemoveOrganizationMemberRequest + */ + token?: string; + /** + * + * @type {string} + * @memberof RemoveOrganizationMemberRequest + */ + email?: string; +} + +/** + * Check if a given object implements the RemoveOrganizationMemberRequest interface. + */ +export function instanceOfRemoveOrganizationMemberRequest(value: object): value is RemoveOrganizationMemberRequest { + return true; +} + +export function RemoveOrganizationMemberRequestFromJSON(json: any): RemoveOrganizationMemberRequest { + return RemoveOrganizationMemberRequestFromJSONTyped(json, false); +} + +export function RemoveOrganizationMemberRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RemoveOrganizationMemberRequest { + if (json == null) { + return json; + } + return { + + 'token': json['token'] == null ? undefined : json['token'], + 'email': json['email'] == null ? undefined : json['email'], + }; +} + +export function RemoveOrganizationMemberRequestToJSON(value?: RemoveOrganizationMemberRequest | null): any { + if (value == null) { + return value; + } + return { + + 'token': value['token'], + 'email': value['email'], + }; +} + diff --git a/ui100/src/api/models/index.ts b/ui100/src/api/models/index.ts index f6275234..6b7156a4 100644 --- a/ui100/src/api/models/index.ts +++ b/ui100/src/api/models/index.ts @@ -2,6 +2,7 @@ /* eslint-disable */ export * from './AccessRequest'; export * from './AccessResponse'; +export * from './AddOrganizationMemberRequest'; export * from './AuthUser'; export * from './ChangePasswordRequest'; export * from './CreateAccountRequest'; @@ -9,6 +10,7 @@ export * from './CreateFrontendRequest'; export * from './CreateFrontendResponse'; export * from './CreateIdentity201Response'; export * from './CreateIdentityRequest'; +export * from './CreateOrganizationRequest'; export * from './DeleteFrontendRequest'; export * from './DisableRequest'; export * from './EnableRequest'; @@ -16,9 +18,17 @@ export * from './EnableResponse'; export * from './Environment'; export * from './EnvironmentAndResources'; export * from './Frontend'; +export * from './GetSparklines200Response'; +export * from './GetSparklinesRequest'; export * from './GrantsRequest'; export * from './InviteRequest'; export * from './InviteTokenGenerateRequest'; +export * from './ListMemberships200Response'; +export * from './ListMemberships200ResponseMembershipsInner'; +export * from './ListOrganizationMembers200Response'; +export * from './ListOrganizationMembers200ResponseMembersInner'; +export * from './ListOrganizations200Response'; +export * from './ListOrganizations200ResponseOrganizationsInner'; export * from './LoginRequest'; export * from './Metrics'; export * from './MetricsSample'; @@ -31,6 +41,7 @@ export * from './RegenerateToken200Response'; export * from './RegenerateTokenRequest'; export * from './RegisterRequest'; export * from './RegisterResponse'; +export * from './RemoveOrganizationMemberRequest'; export * from './ResetPasswordRequest'; export * from './Share'; export * from './ShareRequest';