utils

package
v0.65.0 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2025 License: Apache-2.0 Imports: 17 Imported by: 1

Documentation

Index

Constants

View Source
const (
	OperatorEmpty    = "empty"
	OperatorNotEmpty = "notempty"
	OperatorIn       = "in"
	OperatorNotIn    = "notin"
	OperatorLike     = "like"
	OperatorNotLike  = "notlike"
	DefaultLimit     = 50
	DefaultOffset    = 0
)
View Source
const (
	RSAKeySize = 2048
)

Variables

View Source
var NewString = uuid.NewString

NewString is type alias to `github.com/google/uuid`.NewString

Functions

func AddGroupInQuery added in v0.51.0

func AddGroupInQuery(query *goqu.SelectDataset, rql *rql.Query, allowedGroupByColumns []string) (*goqu.SelectDataset, error)

func AddRQLFiltersInQuery added in v0.51.0

func AddRQLFiltersInQuery(query *goqu.SelectDataset, rqlInput *rql.Query, rqlFilerSupportedColumns []string, checkStruct interface{}) (*goqu.SelectDataset, error)

func AddRQLSearchInQuery added in v0.51.0

func AddRQLSearchInQuery(query *goqu.SelectDataset, rql *rql.Query, rqlSearchSupportedColumns []string) (*goqu.SelectDataset, error)

func AddRQLSortInQuery added in v0.51.0

func AddRQLSortInQuery(query *goqu.SelectDataset, rql *rql.Query) (*goqu.SelectDataset, error)

func AppendIfUnique

func AppendIfUnique[T comparable](slice1 []T, slice2 []T) []T

func AsTimeFromEpoch added in v0.8.39

func AsTimeFromEpoch(unixEpoch int64) time.Time

func Bool added in v0.41.0

func Bool(v bool) *bool

Bool returns a pointer to the bool value passed in.

func BoolValue added in v0.41.0

func BoolValue(v *bool) bool

BoolValue returns the value of the bool pointer passed in or false if the pointer is nil.

func BuildToken

func BuildToken(rsaKey jwk.Key, issuer, sub string,
	validity time.Duration, customClaims map[string]string) ([]byte, error)

BuildToken creates a signed jwt using provided private key Ensure the key contains kid else the operation fails

func Contains

func Contains[T comparable](s []T, e T) bool

func ContainsAny added in v0.8.19

func ContainsAny[T comparable](s []T, e []T) bool

func ContainsFunc added in v0.7.5

func ContainsFunc[T any](s []T, f func(T) bool) bool

func CreateJWKWithKID

func CreateJWKWithKID(id string) (jwk.Key, error)

func CreateJWKs

func CreateJWKs(numOfKeys int) (jwk.Set, error)

func Deduplicate added in v0.8.3

func Deduplicate[T comparable](s []T) []T

func ExtractDomainFromEmail added in v0.8.41

func ExtractDomainFromEmail(email string) string

func Filter added in v0.7.5

func Filter[T any](s []T, f func(T) bool) []T

func FindFirst added in v0.8.14

func FindFirst[T any](s []T, f func(T) bool) (T, bool)

func GetPublicKeySet

func GetPublicKeySet(ctx context.Context, privateKeySet jwk.Set) (jwk.Set, error)

GetPublicKeySet convert private to public

func Intersection added in v0.8.19

func Intersection(s1, s2 []string) (inter []string)

func IsNullUUID

func IsNullUUID(key string) bool

IsNullUUID returns true if passed string is a null uuid or is not a valid uuid defined by `github.com/google/uuid`.Parse and `github.com/google/uuid`.Nil respectively else return false

func IsValidEmail

func IsValidEmail(str string) bool

func IsValidUUID

func IsValidUUID(key string) bool

IsValidUUID returns true if passed string in uuid format defined by `github.com/google/uuid`.Parse else return false

func Map added in v0.7.5

func Map[T1, T2 any](s []T1, f func(T1) T2) []T2

func NewRQLQuery added in v0.54.0

func NewRQLQuery(search string, offset int, limit int, filters []rql.Filter, sortItems []rql.Sort, groupBy []string) *rql.Query

func ProcessStringDataType added in v0.51.0

func ProcessStringDataType(filter rql.Filter, query *goqu.SelectDataset) *goqu.SelectDataset

func TransformProtoToRQL added in v0.51.0

func TransformProtoToRQL(q *frontierv1beta1.RQLRequest, checkStruct interface{}) (*rql.Query, error)

Types

type Group added in v0.51.0

type Group struct {
	Name string      `json:"name"`
	Data []GroupData `json:"data"`
}

type GroupData added in v0.51.0

type GroupData struct {
	Name  string `json:"name"`
	Count int    `json:"count"`
}

type Page added in v0.51.0

type Page struct {
	// todo: update pkg/pagination/pagination.go to align with this
	Limit      int   `json:"limit"`
	Offset     int   `json:"offset"`
	TotalCount int64 `json:"total_count"`
}

func AddRQLPaginationInQuery added in v0.51.0

func AddRQLPaginationInQuery(query *goqu.SelectDataset, rql *rql.Query) (*goqu.SelectDataset, Page)

Jump to

Keyboard shortcuts

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