Documentation
¶
Index ¶
- func Bool(b bool) param.Opt[bool]
- func BoolPtr(v bool) *bool
- func DefaultClientOptions() []option.RequestOption
- func File(rdr io.Reader, filename string, contentType string) file
- func Float(f float64) param.Opt[float64]
- func FloatPtr(v float64) *float64
- func Int(i int64) param.Opt[int64]
- func IntPtr(v int64) *int64
- func Opt[T comparable](v T) param.Opt[T]
- func Ptr[T any](v T) *T
- func String(s string) param.Opt[string]
- func StringPtr(v string) *string
- func Time(t time.Time) param.Opt[time.Time]
- func TimePtr(v time.Time) *time.Time
- type APIKeyRevokeResponse
- type APIKeyRotateResponse
- type APIKeyScopeAttachParams
- type APIKeyScopeAttachResponse
- type APIKeyScopeDetachParams
- type APIKeyScopeDetachResponse
- type APIKeyScopeGetResponse
- type APIKeyScopeGetResponsePivot
- type APIKeyScopeService
- func (r *APIKeyScopeService) Attach(ctx context.Context, apiKey int64, body APIKeyScopeAttachParams, ...) (res *APIKeyScopeAttachResponse, err error)
- func (r *APIKeyScopeService) Detach(ctx context.Context, apiKey int64, body APIKeyScopeDetachParams, ...) (res *APIKeyScopeDetachResponse, err error)
- func (r *APIKeyScopeService) Get(ctx context.Context, apiKey int64, opts ...option.RequestOption) (res *[]APIKeyScopeGetResponse, err error)
- func (r *APIKeyScopeService) Sync(ctx context.Context, apiKey int64, body APIKeyScopeSyncParams, ...) (res *APIKeyScopeSyncResponse, err error)
- type APIKeyScopeSyncParams
- type APIKeyScopeSyncResponse
- type APIKeyService
- type AuthGetUserDetailsResponse
- type AuthLoginParams
- type AuthLoginResponse
- type AuthLogoutResponse
- type AuthRefreshTokenResponse
- type AuthRevokeTokenResponse
- type AuthService
- func (r *AuthService) GetUserDetails(ctx context.Context, opts ...option.RequestOption) (res *AuthGetUserDetailsResponse, err error)
- func (r *AuthService) Login(ctx context.Context, body AuthLoginParams, opts ...option.RequestOption) (res *AuthLoginResponse, err error)
- func (r *AuthService) Logout(ctx context.Context, opts ...option.RequestOption) (res *AuthLogoutResponse, err error)
- func (r *AuthService) RefreshToken(ctx context.Context, opts ...option.RequestOption) (res *AuthRefreshTokenResponse, err error)
- func (r *AuthService) RevokeToken(ctx context.Context, opts ...option.RequestOption) (res *AuthRevokeTokenResponse, err error)
- type Client
- func (r *Client) Delete(ctx context.Context, path string, params any, res any, ...) error
- func (r *Client) Execute(ctx context.Context, method string, path string, params any, res any, ...) error
- func (r *Client) Get(ctx context.Context, path string, params any, res any, ...) error
- func (r *Client) Patch(ctx context.Context, path string, params any, res any, ...) error
- func (r *Client) Post(ctx context.Context, path string, params any, res any, ...) error
- func (r *Client) Put(ctx context.Context, path string, params any, res any, ...) error
- type DecryptDecryptPayloadParams
- type DecryptDecryptPayloadParamsDataUnion
- type DecryptDecryptPayloadResponseUnion
- func (u DecryptDecryptPayloadResponseUnion) AsAnyArray() (v []any)
- func (u DecryptDecryptPayloadResponseUnion) AsAnyMap() (v map[string]any)
- func (u DecryptDecryptPayloadResponseUnion) AsString() (v string)
- func (u DecryptDecryptPayloadResponseUnion) RawJSON() string
- func (r *DecryptDecryptPayloadResponseUnion) UnmarshalJSON(data []byte) error
- type DecryptService
- type EncryptEncryptDataParams
- type EncryptEncryptDataParamsAccess
- type EncryptEncryptDataParamsAttributes
- type EncryptEncryptDataParamsDataUnion
- type EncryptEncryptDataResponseUnion
- func (u EncryptEncryptDataResponseUnion) AsAnyArray() (v []any)
- func (u EncryptEncryptDataResponseUnion) AsAnyMap() (v map[string]any)
- func (u EncryptEncryptDataResponseUnion) AsFloat() (v float64)
- func (u EncryptEncryptDataResponseUnion) AsString() (v string)
- func (u EncryptEncryptDataResponseUnion) RawJSON() string
- func (r *EncryptEncryptDataResponseUnion) UnmarshalJSON(data []byte) error
- type EncryptService
- type Error
- type ScopeDeleteResponse
- type ScopeGetResponse
- type ScopeListResponse
- type ScopeNewParams
- type ScopeNewResponse
- type ScopeService
- func (r *ScopeService) Delete(ctx context.Context, id int64, opts ...option.RequestOption) (res *ScopeDeleteResponse, err error)
- func (r *ScopeService) Get(ctx context.Context, id int64, opts ...option.RequestOption) (res *ScopeGetResponse, err error)
- func (r *ScopeService) List(ctx context.Context, opts ...option.RequestOption) (res *[]ScopeListResponse, err error)
- func (r *ScopeService) New(ctx context.Context, body ScopeNewParams, opts ...option.RequestOption) (res *ScopeNewResponse, err error)
- func (r *ScopeService) Update(ctx context.Context, id int64, body ScopeUpdateParams, ...) (res *ScopeUpdateResponse, err error)
- type ScopeUpdateParams
- type ScopeUpdateResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultClientOptions ¶
func DefaultClientOptions() []option.RequestOption
DefaultClientOptions read from the environment (QANAPI_API_KEY, QANAPI_SUBDOMAIN, QANAPI_BASE_URL). This should be used to initialize new clients.
func Opt ¶
func Opt[T comparable](v T) param.Opt[T]
Types ¶
type APIKeyRevokeResponse ¶
type APIKeyRevokeResponse struct {
Message string `json:"message"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Message respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (APIKeyRevokeResponse) RawJSON ¶
func (r APIKeyRevokeResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*APIKeyRevokeResponse) UnmarshalJSON ¶
func (r *APIKeyRevokeResponse) UnmarshalJSON(data []byte) error
type APIKeyRotateResponse ¶
type APIKeyRotateResponse struct {
APIKey string `json:"api_key"`
Message string `json:"message"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
APIKey respjson.Field
Message respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (APIKeyRotateResponse) RawJSON ¶
func (r APIKeyRotateResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*APIKeyRotateResponse) UnmarshalJSON ¶
func (r *APIKeyRotateResponse) UnmarshalJSON(data []byte) error
type APIKeyScopeAttachParams ¶
type APIKeyScopeAttachParams struct {
// List of scope IDs to attach
ScopeIDs []int64 `json:"scope_ids,omitzero,required"`
// contains filtered or unexported fields
}
func (APIKeyScopeAttachParams) MarshalJSON ¶
func (r APIKeyScopeAttachParams) MarshalJSON() (data []byte, err error)
func (*APIKeyScopeAttachParams) UnmarshalJSON ¶
func (r *APIKeyScopeAttachParams) UnmarshalJSON(data []byte) error
type APIKeyScopeAttachResponse ¶
type APIKeyScopeAttachResponse struct {
Message string `json:"message"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Message respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (APIKeyScopeAttachResponse) RawJSON ¶
func (r APIKeyScopeAttachResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*APIKeyScopeAttachResponse) UnmarshalJSON ¶
func (r *APIKeyScopeAttachResponse) UnmarshalJSON(data []byte) error
type APIKeyScopeDetachParams ¶
type APIKeyScopeDetachParams struct {
// List of scope IDs to detach
ScopeIDs []int64 `json:"scope_ids,omitzero,required"`
// contains filtered or unexported fields
}
func (APIKeyScopeDetachParams) MarshalJSON ¶
func (r APIKeyScopeDetachParams) MarshalJSON() (data []byte, err error)
func (*APIKeyScopeDetachParams) UnmarshalJSON ¶
func (r *APIKeyScopeDetachParams) UnmarshalJSON(data []byte) error
type APIKeyScopeDetachResponse ¶
type APIKeyScopeDetachResponse struct {
Message string `json:"message"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Message respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (APIKeyScopeDetachResponse) RawJSON ¶
func (r APIKeyScopeDetachResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*APIKeyScopeDetachResponse) UnmarshalJSON ¶
func (r *APIKeyScopeDetachResponse) UnmarshalJSON(data []byte) error
type APIKeyScopeGetResponse ¶
type APIKeyScopeGetResponse struct {
ID int64 `json:"id"`
CreatedAt time.Time `json:"created_at" format:"date-time"`
Name string `json:"name"`
Pivot APIKeyScopeGetResponsePivot `json:"pivot"`
Route string `json:"route"`
UpdatedAt time.Time `json:"updated_at" format:"date-time"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
CreatedAt respjson.Field
Name respjson.Field
Pivot respjson.Field
Route respjson.Field
UpdatedAt respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (APIKeyScopeGetResponse) RawJSON ¶
func (r APIKeyScopeGetResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*APIKeyScopeGetResponse) UnmarshalJSON ¶
func (r *APIKeyScopeGetResponse) UnmarshalJSON(data []byte) error
type APIKeyScopeGetResponsePivot ¶
type APIKeyScopeGetResponsePivot struct {
APIKeyID int64 `json:"api_key_id"`
ScopeID int64 `json:"scope_id"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
APIKeyID respjson.Field
ScopeID respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (APIKeyScopeGetResponsePivot) RawJSON ¶
func (r APIKeyScopeGetResponsePivot) RawJSON() string
Returns the unmodified JSON received from the API
func (*APIKeyScopeGetResponsePivot) UnmarshalJSON ¶
func (r *APIKeyScopeGetResponsePivot) UnmarshalJSON(data []byte) error
type APIKeyScopeService ¶
type APIKeyScopeService struct {
Options []option.RequestOption
}
APIKeyScopeService contains methods and other services that help with interacting with the qanapi API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAPIKeyScopeService method instead.
func NewAPIKeyScopeService ¶
func NewAPIKeyScopeService(opts ...option.RequestOption) (r APIKeyScopeService)
NewAPIKeyScopeService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*APIKeyScopeService) Attach ¶
func (r *APIKeyScopeService) Attach(ctx context.Context, apiKey int64, body APIKeyScopeAttachParams, opts ...option.RequestOption) (res *APIKeyScopeAttachResponse, err error)
Attach scopes to an API Key
func (*APIKeyScopeService) Detach ¶
func (r *APIKeyScopeService) Detach(ctx context.Context, apiKey int64, body APIKeyScopeDetachParams, opts ...option.RequestOption) (res *APIKeyScopeDetachResponse, err error)
Detach scopes from an API Key
func (*APIKeyScopeService) Get ¶
func (r *APIKeyScopeService) Get(ctx context.Context, apiKey int64, opts ...option.RequestOption) (res *[]APIKeyScopeGetResponse, err error)
Retrieve scopes associated with an API Key
func (*APIKeyScopeService) Sync ¶
func (r *APIKeyScopeService) Sync(ctx context.Context, apiKey int64, body APIKeyScopeSyncParams, opts ...option.RequestOption) (res *APIKeyScopeSyncResponse, err error)
Sync scopes of an API Key
type APIKeyScopeSyncParams ¶
type APIKeyScopeSyncParams struct {
// List of scope IDs to sync
ScopeIDs []int64 `json:"scope_ids,omitzero,required"`
// contains filtered or unexported fields
}
func (APIKeyScopeSyncParams) MarshalJSON ¶
func (r APIKeyScopeSyncParams) MarshalJSON() (data []byte, err error)
func (*APIKeyScopeSyncParams) UnmarshalJSON ¶
func (r *APIKeyScopeSyncParams) UnmarshalJSON(data []byte) error
type APIKeyScopeSyncResponse ¶
type APIKeyScopeSyncResponse struct {
Message string `json:"message"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Message respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (APIKeyScopeSyncResponse) RawJSON ¶
func (r APIKeyScopeSyncResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*APIKeyScopeSyncResponse) UnmarshalJSON ¶
func (r *APIKeyScopeSyncResponse) UnmarshalJSON(data []byte) error
type APIKeyService ¶
type APIKeyService struct {
Options []option.RequestOption
Scopes APIKeyScopeService
}
APIKeyService contains methods and other services that help with interacting with the qanapi API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAPIKeyService method instead.
func NewAPIKeyService ¶
func NewAPIKeyService(opts ...option.RequestOption) (r APIKeyService)
NewAPIKeyService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*APIKeyService) Revoke ¶
func (r *APIKeyService) Revoke(ctx context.Context, apiKey string, opts ...option.RequestOption) (res *APIKeyRevokeResponse, err error)
Revoke an API Key
func (*APIKeyService) Rotate ¶
func (r *APIKeyService) Rotate(ctx context.Context, apiKey string, opts ...option.RequestOption) (res *APIKeyRotateResponse, err error)
Rotate an API Key
type AuthGetUserDetailsResponse ¶
type AuthGetUserDetailsResponse struct {
ID int64 `json:"id"`
Email string `json:"email" format:"email"`
EmailVerifiedAt time.Time `json:"email_verified_at,nullable" format:"date-time"`
FirstLogin int64 `json:"first_login"`
GravatarURL string `json:"gravatar_url" format:"uri"`
Name string `json:"name"`
Roles []string `json:"roles"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
Email respjson.Field
EmailVerifiedAt respjson.Field
FirstLogin respjson.Field
GravatarURL respjson.Field
Name respjson.Field
Roles respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (AuthGetUserDetailsResponse) RawJSON ¶
func (r AuthGetUserDetailsResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*AuthGetUserDetailsResponse) UnmarshalJSON ¶
func (r *AuthGetUserDetailsResponse) UnmarshalJSON(data []byte) error
type AuthLoginParams ¶
type AuthLoginParams struct {
Email string `json:"email,required" format:"email"`
Password string `json:"password,required"`
// contains filtered or unexported fields
}
func (AuthLoginParams) MarshalJSON ¶
func (r AuthLoginParams) MarshalJSON() (data []byte, err error)
func (*AuthLoginParams) UnmarshalJSON ¶
func (r *AuthLoginParams) UnmarshalJSON(data []byte) error
type AuthLoginResponse ¶
type AuthLoginResponse struct {
// JWT Bearer token
AccessToken string `json:"access_token"`
// Token expiration in seconds
ExpiresIn int64 `json:"expires_in"`
// Token Type
TokenType string `json:"token_type"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AccessToken respjson.Field
ExpiresIn respjson.Field
TokenType respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (AuthLoginResponse) RawJSON ¶
func (r AuthLoginResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*AuthLoginResponse) UnmarshalJSON ¶
func (r *AuthLoginResponse) UnmarshalJSON(data []byte) error
type AuthLogoutResponse ¶
type AuthLogoutResponse struct {
Message string `json:"message"`
User string `json:"user" format:"email"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Message respjson.Field
User respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (AuthLogoutResponse) RawJSON ¶
func (r AuthLogoutResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*AuthLogoutResponse) UnmarshalJSON ¶
func (r *AuthLogoutResponse) UnmarshalJSON(data []byte) error
type AuthRefreshTokenResponse ¶
type AuthRefreshTokenResponse struct {
// JWT access token
AccessToken string `json:"access_token"`
// Token expiration time in seconds
ExpiresIn int64 `json:"expires_in"`
TokenType string `json:"token_type"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AccessToken respjson.Field
ExpiresIn respjson.Field
TokenType respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (AuthRefreshTokenResponse) RawJSON ¶
func (r AuthRefreshTokenResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*AuthRefreshTokenResponse) UnmarshalJSON ¶
func (r *AuthRefreshTokenResponse) UnmarshalJSON(data []byte) error
type AuthRevokeTokenResponse ¶
type AuthRevokeTokenResponse struct {
Message string `json:"message"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Message respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (AuthRevokeTokenResponse) RawJSON ¶
func (r AuthRevokeTokenResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*AuthRevokeTokenResponse) UnmarshalJSON ¶
func (r *AuthRevokeTokenResponse) UnmarshalJSON(data []byte) error
type AuthService ¶
type AuthService struct {
Options []option.RequestOption
}
AuthService contains methods and other services that help with interacting with the qanapi API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAuthService method instead.
func NewAuthService ¶
func NewAuthService(opts ...option.RequestOption) (r AuthService)
NewAuthService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*AuthService) GetUserDetails ¶
func (r *AuthService) GetUserDetails(ctx context.Context, opts ...option.RequestOption) (res *AuthGetUserDetailsResponse, err error)
Retrieve user profile and roles
func (*AuthService) Login ¶
func (r *AuthService) Login(ctx context.Context, body AuthLoginParams, opts ...option.RequestOption) (res *AuthLoginResponse, err error)
Authenticate user and return JWT
func (*AuthService) Logout ¶
func (r *AuthService) Logout(ctx context.Context, opts ...option.RequestOption) (res *AuthLogoutResponse, err error)
Log out the current user
func (*AuthService) RefreshToken ¶
func (r *AuthService) RefreshToken(ctx context.Context, opts ...option.RequestOption) (res *AuthRefreshTokenResponse, err error)
Refresh access token using refresh token
func (*AuthService) RevokeToken ¶
func (r *AuthService) RevokeToken(ctx context.Context, opts ...option.RequestOption) (res *AuthRevokeTokenResponse, err error)
Revoke the current token
type Client ¶
type Client struct {
Options []option.RequestOption
Auth AuthService
Encrypt EncryptService
Decrypt DecryptService
APIKeys APIKeyService
Scopes ScopeService
}
Client creates a struct with services and top level methods that help with interacting with the qanapi API. You should not instantiate this client directly, and instead use the NewClient method instead.
func NewClient ¶
func NewClient(opts ...option.RequestOption) (r Client)
NewClient generates a new client with the default option read from the environment (QANAPI_API_KEY, QANAPI_SUBDOMAIN, QANAPI_BASE_URL). The option passed in as arguments are applied after these default arguments, and all option will be passed down to the services and requests that this client makes.
func (*Client) Delete ¶
func (r *Client) Delete(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error
Delete makes a DELETE request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
func (*Client) Execute ¶
func (r *Client) Execute(ctx context.Context, method string, path string, params any, res any, opts ...option.RequestOption) error
Execute makes a request with the given context, method, URL, request params, response, and request options. This is useful for hitting undocumented endpoints while retaining the base URL, auth, retries, and other options from the client.
If a byte slice or an io.Reader is supplied to params, it will be used as-is for the request body.
The params is by default serialized into the body using encoding/json. If your type implements a MarshalJSON function, it will be used instead to serialize the request. If a URLQuery method is implemented, the returned [url.Values] will be used as query strings to the url.
If your params struct uses param.Field, you must provide either [MarshalJSON], [URLQuery], and/or [MarshalForm] functions. It is undefined behavior to use a struct uses param.Field without specifying how it is serialized.
Any "…Params" object defined in this library can be used as the request argument. Note that 'path' arguments will not be forwarded into the url.
The response body will be deserialized into the res variable, depending on its type:
- A pointer to a *http.Response is populated by the raw response.
- A pointer to a byte array will be populated with the contents of the request body.
- A pointer to any other type uses this library's default JSON decoding, which respects UnmarshalJSON if it is defined on the type.
- A nil value will not read the response body.
For even greater flexibility, see option.WithResponseInto and option.WithResponseBodyInto.
func (*Client) Get ¶
func (r *Client) Get(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error
Get makes a GET request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
func (*Client) Patch ¶
func (r *Client) Patch(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error
Patch makes a PATCH request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
type DecryptDecryptPayloadParams ¶
type DecryptDecryptPayloadParams struct {
// The encrypted payload to decrypt.
//
// - Can be a string or an object/array with encrypted fields.
// - Decryption is selective if `sensitiveFields` is provided.
Data DecryptDecryptPayloadParamsDataUnion `json:"data,omitzero,required"`
// Laravel-style dot-notated paths to fields to decrypt.
//
// - Same syntax and behavior as in EncryptRequest.
// - If omitted, all string values matching encryption prefix are attempted.
//
// Examples:
//
// - `user.ssn`
// - `employees.*.payroll.token`
SensitiveFields []string `json:"sensitiveFields,omitzero"`
// contains filtered or unexported fields
}
func (DecryptDecryptPayloadParams) MarshalJSON ¶
func (r DecryptDecryptPayloadParams) MarshalJSON() (data []byte, err error)
func (*DecryptDecryptPayloadParams) UnmarshalJSON ¶
func (r *DecryptDecryptPayloadParams) UnmarshalJSON(data []byte) error
type DecryptDecryptPayloadParamsDataUnion ¶
type DecryptDecryptPayloadParamsDataUnion struct {
OfString param.Opt[string] `json:",omitzero,inline"`
OfAnyMap map[string]any `json:",omitzero,inline"`
OfAnyArray []any `json:",omitzero,inline"`
// contains filtered or unexported fields
}
Only one field can be non-zero.
Use param.IsOmitted to confirm if a field is set.
func (DecryptDecryptPayloadParamsDataUnion) MarshalJSON ¶
func (u DecryptDecryptPayloadParamsDataUnion) MarshalJSON() ([]byte, error)
func (*DecryptDecryptPayloadParamsDataUnion) UnmarshalJSON ¶
func (u *DecryptDecryptPayloadParamsDataUnion) UnmarshalJSON(data []byte) error
type DecryptDecryptPayloadResponseUnion ¶
type DecryptDecryptPayloadResponseUnion struct {
// This field will be present if the value is a [string] instead of an object.
OfString string `json:",inline"`
// This field will be present if the value is a [any] instead of an object.
OfDecryptDecryptPayloadResponseMapItem any `json:",inline"`
// This field will be present if the value is a [[]any] instead of an object.
OfAnyArray []any `json:",inline"`
JSON struct {
OfString respjson.Field
OfDecryptDecryptPayloadResponseMapItem respjson.Field
OfAnyArray respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
DecryptDecryptPayloadResponseUnion contains all possible properties and values from [string], [map[string]any], [[]any].
Use the methods beginning with 'As' to cast the union to one of its variants.
If the underlying value is not a json object, one of the following properties will be valid: OfString OfDecryptDecryptPayloadResponseMapItem OfAnyArray]
func (DecryptDecryptPayloadResponseUnion) AsAnyArray ¶
func (u DecryptDecryptPayloadResponseUnion) AsAnyArray() (v []any)
func (DecryptDecryptPayloadResponseUnion) AsAnyMap ¶
func (u DecryptDecryptPayloadResponseUnion) AsAnyMap() (v map[string]any)
func (DecryptDecryptPayloadResponseUnion) AsString ¶
func (u DecryptDecryptPayloadResponseUnion) AsString() (v string)
func (DecryptDecryptPayloadResponseUnion) RawJSON ¶
func (u DecryptDecryptPayloadResponseUnion) RawJSON() string
Returns the unmodified JSON received from the API
func (*DecryptDecryptPayloadResponseUnion) UnmarshalJSON ¶
func (r *DecryptDecryptPayloadResponseUnion) UnmarshalJSON(data []byte) error
type DecryptService ¶
type DecryptService struct {
Options []option.RequestOption
}
DecryptService contains methods and other services that help with interacting with the qanapi API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDecryptService method instead.
func NewDecryptService ¶
func NewDecryptService(opts ...option.RequestOption) (r DecryptService)
NewDecryptService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*DecryptService) DecryptPayload ¶
func (r *DecryptService) DecryptPayload(ctx context.Context, body DecryptDecryptPayloadParams, opts ...option.RequestOption) (res *DecryptDecryptPayloadResponseUnion, err error)
Decrypt encrypted payload
type EncryptEncryptDataParams ¶
type EncryptEncryptDataParams struct {
// The actual data to encrypt.
//
// - Can be a scalar (string/number), object, or array.
// - If the value is an object or array, only the specified `sensitiveFields` are
// encrypted.
Data EncryptEncryptDataParamsDataUnion `json:"data,omitzero,required"`
Access EncryptEncryptDataParamsAccess `json:"access,omitzero"`
// Optional metadata describing the data's context.
Attributes EncryptEncryptDataParamsAttributes `json:"attributes,omitzero"`
// Laravel-style dot-notated paths to fields that should be encrypted.
//
// Supports:
//
// - Dot notation for nested fields: `user.profile.ssn`
// - Wildcard `*` for arrays or dynamic keys: `users.*.token`
//
// Examples:
//
// - `password`
// - `user.credentials.secret`
// - `accounts.*.secret`
// - `teams.*.members.*.email`
SensitiveFields []string `json:"sensitiveFields,omitzero"`
// contains filtered or unexported fields
}
func (EncryptEncryptDataParams) MarshalJSON ¶
func (r EncryptEncryptDataParams) MarshalJSON() (data []byte, err error)
func (*EncryptEncryptDataParams) UnmarshalJSON ¶
func (r *EncryptEncryptDataParams) UnmarshalJSON(data []byte) error
type EncryptEncryptDataParamsAccess ¶
type EncryptEncryptDataParamsAccess struct {
// Access control list — list of user roles authorized to decrypt this data.
ACL []string `json:"acl,omitzero"`
// contains filtered or unexported fields
}
func (EncryptEncryptDataParamsAccess) MarshalJSON ¶
func (r EncryptEncryptDataParamsAccess) MarshalJSON() (data []byte, err error)
func (*EncryptEncryptDataParamsAccess) UnmarshalJSON ¶
func (r *EncryptEncryptDataParamsAccess) UnmarshalJSON(data []byte) error
type EncryptEncryptDataParamsAttributes ¶
type EncryptEncryptDataParamsAttributes struct {
Owner param.Opt[string] `json:"owner,omitzero" format:"email"`
// Any of "public", "internal", "confidential", "restricted".
Classification string `json:"classification,omitzero"`
Tags []string `json:"tags,omitzero"`
// contains filtered or unexported fields
}
Optional metadata describing the data's context.
func (EncryptEncryptDataParamsAttributes) MarshalJSON ¶
func (r EncryptEncryptDataParamsAttributes) MarshalJSON() (data []byte, err error)
func (*EncryptEncryptDataParamsAttributes) UnmarshalJSON ¶
func (r *EncryptEncryptDataParamsAttributes) UnmarshalJSON(data []byte) error
type EncryptEncryptDataParamsDataUnion ¶
type EncryptEncryptDataParamsDataUnion struct {
OfString param.Opt[string] `json:",omitzero,inline"`
OfFloat param.Opt[float64] `json:",omitzero,inline"`
OfAnyMap map[string]any `json:",omitzero,inline"`
OfAnyArray []any `json:",omitzero,inline"`
// contains filtered or unexported fields
}
Only one field can be non-zero.
Use param.IsOmitted to confirm if a field is set.
func (EncryptEncryptDataParamsDataUnion) MarshalJSON ¶
func (u EncryptEncryptDataParamsDataUnion) MarshalJSON() ([]byte, error)
func (*EncryptEncryptDataParamsDataUnion) UnmarshalJSON ¶
func (u *EncryptEncryptDataParamsDataUnion) UnmarshalJSON(data []byte) error
type EncryptEncryptDataResponseUnion ¶
type EncryptEncryptDataResponseUnion struct {
// This field will be present if the value is a [string] instead of an object.
OfString string `json:",inline"`
// This field will be present if the value is a [float64] instead of an object.
OfFloat float64 `json:",inline"`
// This field will be present if the value is a [any] instead of an object.
OfEncryptEncryptDataResponseMapItem any `json:",inline"`
// This field will be present if the value is a [[]any] instead of an object.
OfAnyArray []any `json:",inline"`
JSON struct {
OfString respjson.Field
OfFloat respjson.Field
OfEncryptEncryptDataResponseMapItem respjson.Field
OfAnyArray respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
EncryptEncryptDataResponseUnion contains all possible properties and values from [string], [float64], [map[string]any], [[]any].
Use the methods beginning with 'As' to cast the union to one of its variants.
If the underlying value is not a json object, one of the following properties will be valid: OfString OfFloat OfEncryptEncryptDataResponseMapItem OfAnyArray]
func (EncryptEncryptDataResponseUnion) AsAnyArray ¶
func (u EncryptEncryptDataResponseUnion) AsAnyArray() (v []any)
func (EncryptEncryptDataResponseUnion) AsAnyMap ¶
func (u EncryptEncryptDataResponseUnion) AsAnyMap() (v map[string]any)
func (EncryptEncryptDataResponseUnion) AsFloat ¶
func (u EncryptEncryptDataResponseUnion) AsFloat() (v float64)
func (EncryptEncryptDataResponseUnion) AsString ¶
func (u EncryptEncryptDataResponseUnion) AsString() (v string)
func (EncryptEncryptDataResponseUnion) RawJSON ¶
func (u EncryptEncryptDataResponseUnion) RawJSON() string
Returns the unmodified JSON received from the API
func (*EncryptEncryptDataResponseUnion) UnmarshalJSON ¶
func (r *EncryptEncryptDataResponseUnion) UnmarshalJSON(data []byte) error
type EncryptService ¶
type EncryptService struct {
Options []option.RequestOption
}
EncryptService contains methods and other services that help with interacting with the qanapi API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewEncryptService method instead.
func NewEncryptService ¶
func NewEncryptService(opts ...option.RequestOption) (r EncryptService)
NewEncryptService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*EncryptService) EncryptData ¶
func (r *EncryptService) EncryptData(ctx context.Context, body EncryptEncryptDataParams, opts ...option.RequestOption) (res *EncryptEncryptDataResponseUnion, err error)
Encrypt data with optional ACL
type ScopeDeleteResponse ¶
type ScopeDeleteResponse struct {
Message string `json:"message"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Message respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ScopeDeleteResponse) RawJSON ¶
func (r ScopeDeleteResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*ScopeDeleteResponse) UnmarshalJSON ¶
func (r *ScopeDeleteResponse) UnmarshalJSON(data []byte) error
type ScopeGetResponse ¶
type ScopeGetResponse struct {
ID int64 `json:"id"`
CreatedAt time.Time `json:"created_at" format:"date-time"`
Name string `json:"name"`
Route string `json:"route"`
UpdatedAt time.Time `json:"updated_at" format:"date-time"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
CreatedAt respjson.Field
Name respjson.Field
Route respjson.Field
UpdatedAt respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ScopeGetResponse) RawJSON ¶
func (r ScopeGetResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*ScopeGetResponse) UnmarshalJSON ¶
func (r *ScopeGetResponse) UnmarshalJSON(data []byte) error
type ScopeListResponse ¶
type ScopeListResponse struct {
ID int64 `json:"id"`
CreatedAt time.Time `json:"created_at" format:"date-time"`
Name string `json:"name"`
Route string `json:"route"`
UpdatedAt time.Time `json:"updated_at" format:"date-time"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
CreatedAt respjson.Field
Name respjson.Field
Route respjson.Field
UpdatedAt respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ScopeListResponse) RawJSON ¶
func (r ScopeListResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*ScopeListResponse) UnmarshalJSON ¶
func (r *ScopeListResponse) UnmarshalJSON(data []byte) error
type ScopeNewParams ¶
type ScopeNewParams struct {
Name string `json:"name,required"`
Route string `json:"route,required"`
// contains filtered or unexported fields
}
func (ScopeNewParams) MarshalJSON ¶
func (r ScopeNewParams) MarshalJSON() (data []byte, err error)
func (*ScopeNewParams) UnmarshalJSON ¶
func (r *ScopeNewParams) UnmarshalJSON(data []byte) error
type ScopeNewResponse ¶
type ScopeNewResponse struct {
ID int64 `json:"id"`
CreatedAt time.Time `json:"created_at" format:"date-time"`
Name string `json:"name"`
Route string `json:"route"`
UpdatedAt time.Time `json:"updated_at" format:"date-time"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
CreatedAt respjson.Field
Name respjson.Field
Route respjson.Field
UpdatedAt respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ScopeNewResponse) RawJSON ¶
func (r ScopeNewResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*ScopeNewResponse) UnmarshalJSON ¶
func (r *ScopeNewResponse) UnmarshalJSON(data []byte) error
type ScopeService ¶
type ScopeService struct {
Options []option.RequestOption
}
ScopeService contains methods and other services that help with interacting with the qanapi API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewScopeService method instead.
func NewScopeService ¶
func NewScopeService(opts ...option.RequestOption) (r ScopeService)
NewScopeService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*ScopeService) Delete ¶
func (r *ScopeService) Delete(ctx context.Context, id int64, opts ...option.RequestOption) (res *ScopeDeleteResponse, err error)
Delete a scope
func (*ScopeService) Get ¶
func (r *ScopeService) Get(ctx context.Context, id int64, opts ...option.RequestOption) (res *ScopeGetResponse, err error)
Get a specific scope
func (*ScopeService) List ¶
func (r *ScopeService) List(ctx context.Context, opts ...option.RequestOption) (res *[]ScopeListResponse, err error)
List all scopes
func (*ScopeService) New ¶
func (r *ScopeService) New(ctx context.Context, body ScopeNewParams, opts ...option.RequestOption) (res *ScopeNewResponse, err error)
Create a new scope
func (*ScopeService) Update ¶
func (r *ScopeService) Update(ctx context.Context, id int64, body ScopeUpdateParams, opts ...option.RequestOption) (res *ScopeUpdateResponse, err error)
Update a scope
type ScopeUpdateParams ¶
type ScopeUpdateParams struct {
Name param.Opt[string] `json:"name,omitzero"`
Route param.Opt[string] `json:"route,omitzero"`
// contains filtered or unexported fields
}
func (ScopeUpdateParams) MarshalJSON ¶
func (r ScopeUpdateParams) MarshalJSON() (data []byte, err error)
func (*ScopeUpdateParams) UnmarshalJSON ¶
func (r *ScopeUpdateParams) UnmarshalJSON(data []byte) error
type ScopeUpdateResponse ¶
type ScopeUpdateResponse struct {
ID int64 `json:"id"`
CreatedAt time.Time `json:"created_at" format:"date-time"`
Name string `json:"name"`
Route string `json:"route"`
UpdatedAt time.Time `json:"updated_at" format:"date-time"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
CreatedAt respjson.Field
Name respjson.Field
Route respjson.Field
UpdatedAt respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ScopeUpdateResponse) RawJSON ¶
func (r ScopeUpdateResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*ScopeUpdateResponse) UnmarshalJSON ¶
func (r *ScopeUpdateResponse) UnmarshalJSON(data []byte) error
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
encoding/json
Package json implements encoding and decoding of JSON as defined in RFC 7159.
|
Package json implements encoding and decoding of JSON as defined in RFC 7159. |
|
encoding/json/shims
This package provides shims over Go 1.2{2,3} APIs which are missing from Go 1.22, and used by the Go 1.24 encoding/json package.
|
This package provides shims over Go 1.2{2,3} APIs which are missing from Go 1.22, and used by the Go 1.24 encoding/json package. |
|
packages
|
|
|
shared
|
|