apiutil

package
v0.16.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 11, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const BearerPrefix = "Bearer "

BearerPrefix represents the token prefix for Bearer authentication scheme.

View Source
const ClientPrefix = "Client "

ClientPrefix represents the key prefix for Client authentication scheme.

Variables

View Source
var (
	// ErrValidation indicates that an error was returned by the API.
	ErrValidation = errors.New("something went wrong with the request")

	// ErrBearerToken indicates missing or invalid bearer user token.
	ErrBearerToken = errors.New("missing or invalid bearer user token")

	// ErrBearerKey indicates missing or invalid bearer entity key.
	ErrBearerKey = errors.New("missing or invalid bearer entity key")

	// ErrMissingID indicates missing entity ID.
	ErrMissingID = errors.New("missing entity id")

	// ErrMissingClientID indicates missing client ID.
	ErrMissingClientID = errors.New("missing cient id")

	// ErrMissingChannelID indicates missing client ID.
	ErrMissingChannelID = errors.New("missing channel id")

	// ErrMissingConnectionType indicates missing connection tpye.
	ErrMissingConnectionType = errors.New("missing connection type")

	// ErrMissingParentGroupID indicates missing parent group ID.
	ErrMissingParentGroupID = errors.New("missing parent group id")

	// ErrMissingChildrenGroupIDs indicates missing children group IDs.
	ErrMissingChildrenGroupIDs = errors.New("missing children group ids")

	// ErrSelfParentingNotAllowed indicates child id is same as parent id.
	ErrSelfParentingNotAllowed = errors.New("self parenting not allowed")

	// ErrInvalidChildGroupID indicates invalid child group ID.
	ErrInvalidChildGroupID = errors.New("invalid child group id")

	// ErrInvalidAuthKey indicates invalid auth key.
	ErrInvalidAuthKey = errors.New("invalid auth key")

	// ErrInvalidIDFormat indicates an invalid ID format.
	ErrInvalidIDFormat = errors.New("invalid id format provided")

	// ErrNameSize indicates that name size exceeds the max.
	ErrNameSize = errors.New("invalid name size")

	// ErrEmailSize indicates that email size exceeds the max.
	ErrEmailSize = errors.New("invalid email size")

	// ErrInvalidRole indicates that an invalid role.
	ErrInvalidRole = errors.New("invalid client role")

	// ErrLimitSize indicates that an invalid limit.
	ErrLimitSize = errors.New("invalid limit size")

	// ErrLevel indicates that an invalid level.
	ErrLevel = errors.New("invalid level")

	// ErrOffsetSize indicates an invalid offset.
	ErrOffsetSize = errors.New("invalid offset size")

	// ErrInvalidOrder indicates an invalid list order.
	ErrInvalidOrder = errors.New("invalid list order provided")

	// ErrInvalidDirection indicates an invalid list direction.
	ErrInvalidDirection = errors.New("invalid list direction provided")

	// ErrInvalidMemberKind indicates an invalid member kind.
	ErrInvalidMemberKind = errors.New("invalid member kind")

	// ErrEmptyList indicates that entity data is empty.
	ErrEmptyList = errors.New("empty list provided")

	// ErrMissingRoleName indicates that role name are empty.
	ErrMissingRoleName = errors.New("empty role name")

	// ErrMissingRoleOperations indicates that role operations are empty.
	ErrMissingRoleOperations = errors.New("empty role operations")

	// ErrMissingRoleMembers indicates that role members are empty.
	ErrMissingRoleMembers = errors.New("empty role members")

	// ErrMalformedPolicy indicates that policies are malformed.
	ErrMalformedPolicy = errors.New("malformed policy")

	// ErrMissingPolicySub indicates that policies are subject.
	ErrMissingPolicySub = errors.New("malformed policy subject")

	// ErrMissingPolicyObj indicates missing policies object.
	ErrMissingPolicyObj = errors.New("malformed policy object")

	// ErrMalformedPolicyAct indicates missing policies action.
	ErrMalformedPolicyAct = errors.New("malformed policy action")

	// ErrMissingPolicyEntityType indicates missing policies entity type.
	ErrMissingPolicyEntityType = errors.New("missing policy entity type")

	// ErrMalformedPolicyPer indicates missing policies relation.
	ErrMalformedPolicyPer = errors.New("malformed policy permission")

	// ErrMissingCertData indicates missing cert data (ttl).
	ErrMissingCertData = errors.New("missing certificate data")

	// ErrInvalidCertData indicates invalid cert data (ttl).
	ErrInvalidCertData = errors.New("invalid certificate data")

	// ErrInvalidTopic indicates an invalid subscription topic.
	ErrInvalidTopic = errors.New("invalid Subscription topic")

	// ErrInvalidContact indicates an invalid subscription contract.
	ErrInvalidContact = errors.New("invalid Subscription contact")

	// ErrMissingEmail indicates missing email.
	ErrMissingEmail = errors.New("missing email")

	// ErrInvalidEmail indicates missing email.
	ErrInvalidEmail = errors.New("invalid email")

	// ErrMissingHost indicates missing host.
	ErrMissingHost = errors.New("missing host")

	// ErrMissingPass indicates missing password.
	ErrMissingPass = errors.New("missing password")

	// ErrMissingConfPass indicates missing conf password.
	ErrMissingConfPass = errors.New("missing conf password")

	// ErrInvalidResetPass indicates an invalid reset password.
	ErrInvalidResetPass = errors.New("invalid reset password")

	// ErrInvalidComparator indicates an invalid comparator.
	ErrInvalidComparator = errors.New("invalid comparator")

	// ErrMissingMemberType indicates missing group member type.
	ErrMissingMemberType = errors.New("missing group member type")

	// ErrMissingMemberKind indicates missing group member kind.
	ErrMissingMemberKind = errors.New("missing group member kind")

	// ErrMissingRelation indicates missing relation.
	ErrMissingRelation = errors.New("missing relation")

	// ErrInvalidRelation indicates an invalid relation.
	ErrInvalidRelation = errors.New("invalid relation")

	// ErrInvalidAPIKey indicates an invalid API key type.
	ErrInvalidAPIKey = errors.New("invalid api key type")

	// ErrBootstrapState indicates an invalid bootstrap state.
	ErrBootstrapState = errors.New("invalid bootstrap state")

	// ErrInvitationState indicates an invalid invitation state.
	ErrInvitationState = errors.New("invalid invitation state")

	// ErrMissingIdentity indicates missing entity Identity.
	ErrMissingIdentity = errors.New("missing entity identity")

	// ErrMissingSecret indicates missing secret.
	ErrMissingSecret = errors.New("missing secret")

	// ErrPasswordFormat indicates weak password.
	ErrPasswordFormat = errors.New("password does not meet the requirements")

	// ErrMissingName indicates missing identity name.
	ErrMissingName = errors.New("missing identity name")

	// ErrMissingName indicates missing alias.
	ErrMissingAlias = errors.New("missing alias")

	// ErrInvalidLevel indicates an invalid group level.
	ErrInvalidLevel = errors.New("invalid group level (should be between 0 and 5)")

	// ErrNotFoundParam indicates that the parameter was not found in the query.
	ErrNotFoundParam = errors.New("parameter not found in the query")

	// ErrInvalidQueryParams indicates invalid query parameters.
	ErrInvalidQueryParams = errors.New("invalid query parameters")

	// ErrInvalidVisibilityType indicates invalid visibility type.
	ErrInvalidVisibilityType = errors.New("invalid visibility type")

	// ErrUnsupportedContentType indicates unacceptable or lack of Content-Type.
	ErrUnsupportedContentType = errors.New("unsupported content type")

	// ErrRollbackTx indicates failed to rollback transaction.
	ErrRollbackTx = errors.New("failed to rollback transaction")

	// ErrInvalidAggregation indicates invalid aggregation value.
	ErrInvalidAggregation = errors.New("invalid aggregation value")

	// ErrInvalidInterval indicates invalid interval value.
	ErrInvalidInterval = errors.New("invalid interval value")

	// ErrMissingFrom indicates missing from value.
	ErrMissingFrom = errors.New("missing from time value")

	// ErrMissingTo indicates missing to value.
	ErrMissingTo = errors.New("missing to time value")

	// ErrEmptyMessage indicates empty message.
	ErrEmptyMessage = errors.New("empty message")

	// ErrMissingEntityType indicates missing entity type.
	ErrMissingEntityType = errors.New("missing entity type")

	// ErrInvalidEntityType indicates invalid entity type.
	ErrInvalidEntityType = errors.New("invalid entity type")

	// ErrInvalidTimeFormat indicates invalid time format i.e not unix time.
	ErrInvalidTimeFormat = errors.New("invalid time format use unix time")

	// ErrEmptySearchQuery indicates search query should not be empty.
	ErrEmptySearchQuery = errors.New("search query must not be empty")

	// ErrLenSearchQuery indicates search query length.
	ErrLenSearchQuery = errors.New("search query must be at least 3 characters")

	// ErrMissingDomainID indicates missing domainID.
	ErrMissingDomainID = errors.New("missing domainID")

	// ErrMissingUsername indicates missing user name.
	ErrMissingUsername = errors.New("missing username")

	// ErrInvalidUsername indicates missing user name.
	ErrInvalidUsername = errors.New("invalid username")

	// ErrMissingFirstName indicates missing first name.
	ErrMissingFirstName = errors.New("missing first name")

	// ErrMissingLastName indicates missing last name.
	ErrMissingLastName = errors.New("missing last name")

	// ErrInvalidProfilePictureURL indicates that the profile picture url is invalid.
	ErrInvalidProfilePictureURL = errors.New("invalid profile picture url")

	ErrMultipleEntitiesFilter = errors.New("multiple entities are provided in filter are not supported")
)

Errors defined in this file are used by the LoggingErrorEncoder decorator to distinguish and log API request validation errors and avoid that service errors are logged twice.

Functions

func ExtractBearerToken

func ExtractBearerToken(r *http.Request) string

ExtractBearerToken returns value of the bearer token. If there is no bearer token - an empty value is returned.

func ExtractClientSecret

func ExtractClientSecret(r *http.Request) string

ExtractClientSecret returns value of the client secret. If it's not present - an empty value is returned.

func LoggingErrorEncoder

func LoggingErrorEncoder(logger *slog.Logger, enc kithttp.ErrorEncoder) kithttp.ErrorEncoder

LoggingErrorEncoder is a go-kit error encoder logging decorator.

func ReadBoolQuery

func ReadBoolQuery(r *http.Request, key string, def bool) (bool, error)

ReadBoolQuery reads boolean query parameters in a given http request.

func ReadMetadataQuery

func ReadMetadataQuery(r *http.Request, key string, def map[string]interface{}) (map[string]interface{}, error)

ReadMetadataQuery reads the value of json http query parameters for a given key.

func ReadNumQuery

func ReadNumQuery[N number](r *http.Request, key string, def N) (N, error)

ReadNumQuery returns a numeric value.

func ReadStringQuery

func ReadStringQuery(r *http.Request, key, def string) (string, error)

ReadStringQuery reads the value of string http query parameters for a given key.

Types

type ErrorRes

type ErrorRes struct {
	Err string `json:"error"`
	Msg string `json:"message"`
}

ErrorRes represents the HTTP error response body.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL