Help us shape the future of Go! Take the 2026 Go Developer Survey

values

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2024 License: BSD-3-Clause Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Controller

type Controller struct {
	Service *Service
}

func (*Controller) Get

func (*Controller) Remove

func (x *Controller) Remove(_ context.Context, c *app.RequestContext)

func (*Controller) Set

type DynamicValues

type DynamicValues struct {
	// session period (seconds)
	// User inactivity for 1 hour, session will end
	SessionTTL time.Duration `yaml:"session_ttl"`
	// login lockout time
	// Locked for 15 minutes
	LoginTTL time.Duration `yaml:"login_ttl"`
	// Maximum number of login failures for a user
	// If you fail to log in 5 times consecutively within a limited time (lockout time),
	// your account will be locked
	LoginFailures int64 `yaml:"login_failures"`
	// Maximum number of login failures for the user's host IP
	// If the same host IP fails to log in 10 times continuously, the IP will be locked (period is the login_ttl)
	IpLoginFailures int64 `yaml:"ip_login_failures"`
	// IP whitelist
	// Whitelisting IPs does not restrict login failure lockouts
	IpWhitelist []string `yaml:"ip_whitelist"`
	// IP blacklist
	// will ban all access
	IpBlacklist []string `yaml:"ip_blacklist"`
	// password strength
	// 0: unlimited
	// 1: uppercase and lowercase letters
	// 2: uppercase and lowercase letters, numbers
	// 3: uppercase and lowercase letters, numbers, special characters
	PwdStrategy int `yaml:"pwd_strategy"`
	// password validity period
	// After the password expires, it is mandatory to change the password, 0: permanently valid
	PwdTTL time.Duration `yaml:"pwd_ttl"`
	// Public Cloud
	// Supported: Tencent Cloud `tencent`
	// Plan: AWS `aws`
	Cloud string `yaml:"cloud"`
	// Tencent Cloud API Secret Id
	// It is recommended to use CAM to assign the required permissions
	TencentSecretId string `yaml:"tencent_secret_id"`
	// Tencent Cloud API Secret Key
	TencentSecretKey string `yaml:"tencent_secret_key" secret:"*"`
	// Tencent Cloud COS bucket name
	TencentCosBucket string `yaml:"tencent_cos_bucket"`
	// Tencent Cloud COS bucket region, for example: ap-guangzhou
	TencentCosRegion string `yaml:"tencent_cos_region"`
	// Tencent Cloud COS bucket pre-signature validity period, unit: second
	TencentCosExpired int64 `yaml:"tencent_cos_expired"`
	// Tencent Cloud COS bucket upload size limit, unit: KB
	TencentCosLimit int64 `yaml:"tencent_cos_limit"`
	// Office collaboration platform
	Collaboration string `yaml:"collaboration"`
	// Enterprise Collaboration
	// Lark App ID
	LarkAppId string `yaml:"lark_app_id"`
	// Lark application key
	LarkAppSecret string `yaml:"lark_app_secret" secret:"*"`
	// Lark event subscription security verification data key
	LarkEncryptKey string `yaml:"lark_encrypt_key" secret:"*"`
	// Lark Event Subscription Verification Token
	LarkVerificationToken string `yaml:"lark_verification_token" secret:"*"`
	// Third-party registration-free authorization code redirection address
	RedirectUrl string `yaml:"redirect_url"`
	// Public email service SMTP address
	EmailHost string `yaml:"email_host"`
	// Public email SMTP port number (SSL)
	EmailPort int `yaml:"email_port"`
	// Public email username
	EmailUsername string `yaml:"email_username"`
	// Public email password
	EmailPassword string `yaml:"email_password" secret:"*"`
	// ApiGateway url
	ApiGatewayUrl string `yaml:"api_gateway_url"`
	// Openapi application authentication key
	// API gateway application authentication https://cloud.tencent.com/document/product/628/55088
	ApiGatewayKey string `yaml:"api_gateway_key"`
	// Openapi Application Authentication Secret
	ApiGatewaySecret string `yaml:"api_gateway_secret" secret:"*"`
	// RestControls
	RestControls map[string]*RestControl `yaml:"rest_controls"`
	// Rest Txn Timeout
	RestTxnTimeout time.Duration `yaml:"rest_txn_timeout"`
}

type GetDto

type GetDto struct {
	Keys []string `query:"keys" vd:"omitempty,dive,alphanum"`
}

type Option

type Option func(x *Service)

func SetCipher

func SetCipher(v *cipher.Cipher) Option

func SetKeyValue

func SetKeyValue(v nats.KeyValue) Option

func SetType added in v0.4.5

func SetType(v reflect.Type) Option

type RemoveDto

type RemoveDto struct {
	Key string `path:"key,required" vd:"alphanum"`
}

type RestControl

type RestControl struct {
	Keys       []string `yaml:"keys"`
	Sensitives []string `yaml:"sensitives"`
	Status     bool     `yaml:"status"`
	Event      bool     `yaml:"event"`
}

type Service

type Service struct {
	Type     reflect.Type
	KeyValue nats.KeyValue
	Cipher   *cipher.Cipher
}

func New

func New(options ...Option) *Service

func (*Service) Fetch

func (x *Service) Fetch(v interface{}) (err error)

func (*Service) Get

func (x *Service) Get(keys ...string) (data map[string]interface{}, err error)

func (*Service) Remove

func (x *Service) Remove(keys ...string) (err error)

func (*Service) Set

func (x *Service) Set(update map[string]interface{}) (err error)

func (*Service) Sync

func (x *Service) Sync(v interface{}, update chan interface{}) (err error)

func (*Service) Update

func (x *Service) Update(data interface{}) (err error)

type SetDto

type SetDto struct {
	Update map[string]interface{} `json:"update" vd:"gt=0,dive,keys,alphanum,endkeys,required"`
}

Jump to

Keyboard shortcuts

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