utils

package
v1.3.9 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2022 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClientIP

func ClientIP(r *http.Request) string

ClientIP get client ip

func ExtractPagingParams

func ExtractPagingParams(req *restful.Request, minPageSize, maxPageSize int) (int, int, error)

ExtractPagingParams extract `page` and `pageSize` params from request

func FirstLower

func FirstLower(s string) string

FirstLower Sets the first letter of the string to lowercase.

func FirstUpper

func FirstUpper(s string) string

FirstUpper Sets the first letter of the string to upper.

func GenerateVersion

func GenerateVersion(pre string) string

GenerateVersion Generate version numbers by time

func GetDefaultUIType

func GetDefaultUIType(apiType string, haveOptions bool, subType string, haveSub bool) string

GetDefaultUIType Set the default mapping for API Schema Type

func GetDexConnectors added in v1.3.0

func GetDexConnectors(ctx context.Context, k8sClient client.Client) ([]map[string]interface{}, error)

GetDexConnectors returns the dex connectors for Dex connector controller

func RenderLabel

func RenderLabel(source interface{}) string

RenderLabel render option label

func StringsContain

func StringsContain(items []string, source string) bool

StringsContain strings contain

Types

type Condition added in v1.3.0

type Condition struct {
	// JSONKey specifies the path of the field, support the peer and subordinate fields.
	JSONKey string `json:"jsonKey"`
	// Op options includes `==` 、`!=` and `in`, default is `==`
	// +optional
	Op string `json:"op,omitempty"`
	// Value specifies the prospective value.
	Value interface{} `json:"value"`
	// Action options includes `enable` or `disable`, default is `enable`
	// +optional
	Action string `json:"action,omitempty"`
}

Condition control whether fields are enabled or disabled by certain conditions.

type GroupOption

type GroupOption struct {
	Label string   `json:"label"`
	Keys  []string `json:"keys"`
}

GroupOption define multiple data structure composition options.

type MemoryCacheStore added in v1.3.0

type MemoryCacheStore struct {
	// contains filtered or unexported fields
}

MemoryCacheStore a sample memory cache instance, if data set cache duration, will auto clear after timeout. But, Expired cleanup is not necessarily accurate, it has a 3-second window.

func NewMemoryCacheStore added in v1.3.0

func NewMemoryCacheStore(ctx context.Context) *MemoryCacheStore

NewMemoryCacheStore memory cache store

func (*MemoryCacheStore) Delete added in v1.3.0

func (m *MemoryCacheStore) Delete(key interface{})

Delete cache data from store

func (*MemoryCacheStore) Get added in v1.3.0

func (m *MemoryCacheStore) Get(key interface{}) (value interface{})

Get cache data from store, if not exist or timeout, will return nil

func (*MemoryCacheStore) Put added in v1.3.0

func (m *MemoryCacheStore) Put(key, value interface{}, cacheDuration time.Duration)

Put cache data, if cacheDuration>0, store will clear data after timeout.

type Option

type Option struct {
	Label string      `json:"label"`
	Value interface{} `json:"value"`
}

Option select option

type ResponseCapture

type ResponseCapture struct {
	http.ResponseWriter
	// contains filtered or unexported fields
}

ResponseCapture capture response and get response info

func NewResponseCapture

func NewResponseCapture(w http.ResponseWriter) *ResponseCapture

NewResponseCapture new response capture

func (ResponseCapture) Bytes

func (c ResponseCapture) Bytes() []byte

Bytes return response body bytes

func (ResponseCapture) Header

func (c ResponseCapture) Header() http.Header

Header return response writer header

func (ResponseCapture) StatusCode

func (c ResponseCapture) StatusCode() int

StatusCode return status code

func (ResponseCapture) Write

func (c ResponseCapture) Write(data []byte) (int, error)

Write write data to response writer and body

func (*ResponseCapture) WriteHeader

func (c *ResponseCapture) WriteHeader(statusCode int)

WriteHeader write header to response writer

type Style added in v1.2.4

type Style struct {
	// ColSpan the width of a responsive layout
	ColSpan int `json:"colSpan"`
}

Style ui style

type UIParameter

type UIParameter struct {
	Sort        uint      `json:"sort"`
	Label       string    `json:"label"`
	Description string    `json:"description"`
	Validate    *Validate `json:"validate,omitempty"`
	JSONKey     string    `json:"jsonKey"`
	UIType      string    `json:"uiType"`
	Style       *Style    `json:"style,omitempty"`
	// means disable parameter in ui
	Disable *bool `json:"disable,omitempty"`
	// Conditions: control whether fields are enabled or disabled by certain conditions.
	// Rules:
	// if all conditions are not matching, the parameter will be disabled
	// if there are no conditions, and disable==false the parameter will be enabled.
	// if one disable action condition is matched, the parameter will be disabled.
	// if all enable actions conditions are matched, the parameter will be enabled.
	// +optional
	Conditions              []Condition    `json:"conditions,omitempty"`
	SubParameterGroupOption []GroupOption  `json:"subParameterGroupOption,omitempty"`
	SubParameters           []*UIParameter `json:"subParameters,omitempty"`
	AdditionalParameter     *UIParameter   `json:"additionalParameter,omitempty"`
	Additional              *bool          `json:"additional,omitempty"`
}

UIParameter Structured import table simple UI model

type UISchema added in v1.2.4

type UISchema []*UIParameter

UISchema ui schema

type Validate

type Validate struct {
	Required     bool        `json:"required,omitempty"`
	Max          *float64    `json:"max,omitempty"`
	MaxLength    *uint64     `json:"maxLength,omitempty"`
	Min          *float64    `json:"min,omitempty"`
	MinLength    uint64      `json:"minLength,omitempty"`
	Pattern      string      `json:"pattern,omitempty"`
	Options      []Option    `json:"options,omitempty"`
	DefaultValue interface{} `json:"defaultValue,omitempty"`
	// the parameter cannot be changed twice.
	Immutable bool `json:"immutable"`
}

Validate parameter validate rule

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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