ctxx

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2025 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// 上下文键名定义 - 统一用于内部上下文管理和RPC调用间传递
	// RPC上下文传递键名定义
	TenantKey            = "tenant_id"
	UserKey              = "user_id"
	RequestKey           = "request_id"
	MerchantKey          = "merchant_id"
	TenantIsolationKey   = "tenant_isolation"
	MerchantIsolationKey = "merchant_isolation"
	AppTypeKey           = "app_type"
)

Variables

This section is empty.

Functions

func CopyMetaInfo

func CopyMetaInfo(fromCtx, toCtx context.Context) context.Context

CopyMetaInfo 从源 context 复制 metainfo 到目标 context

func GetAllMetaInfo

func GetAllMetaInfo(ctx context.Context) map[string]string

GetAllMetaInfo 获取所有 metainfo 信息

func GetAppType

func GetAppType(ctx context.Context) string

GetAppType 获取 appType

func GetMerchantID

func GetMerchantID(ctx context.Context) string

GetMerchantID retrieves merchant ID from the context

func GetMetaInfo

func GetMetaInfo(ctx context.Context, key string) string

GetMetaInfo 获取 metainfo 值,支持 fallback 机制

func GetMetaInfoOrDefault

func GetMetaInfoOrDefault(ctx context.Context, key, defaultValue string) string

GetMetaInfoOrDefault 获取 metainfo 值,如果不存在则返回默认值

func GetMetaInfoWithFallback

func GetMetaInfoWithFallback(ctx context.Context, primaryKey string, fallbackKeys ...string) string

GetMetaInfoWithFallback 获取 metainfo 值,支持自定义 fallback 键名

func GetRequestID

func GetRequestID(ctx context.Context) string

GetRequestID retrieves request ID from the context

func GetTenantID

func GetTenantID(ctx context.Context) string

GetTenantID retrieves tenant ID from the context

func GetUserID

func GetUserID(ctx context.Context) string

GetUserID retrieves user ID from the context

func HasMetaInfo

func HasMetaInfo(ctx context.Context, key string) bool

HasMetaInfo 检查 context 中是否存在指定的 metainfo

func IsAdmin

func IsAdmin(ctx context.Context) *bool

func IsMerchantIsolationEnabled

func IsMerchantIsolationEnabled(ctx context.Context) bool

IsMerchantIsolationEnabled checks if merchant isolation is enabled for the context

func IsTenantIsolationEnabled

func IsTenantIsolationEnabled(ctx context.Context) bool

IsTenantIsolationEnabled checks if tenant isolation is enabled for the context

func SetMetaInfo

func SetMetaInfo(ctx context.Context, key string, value string) context.Context

SetMetaInfo 设置 metainfo 值,同时设置到 context 和 metainfo 中

func SetMultipleMetaInfo

func SetMultipleMetaInfo(ctx context.Context, values map[string]string) context.Context

SetMultipleMetaInfo 批量设置 metainfo 值

func WithAppType

func WithAppType(ctx context.Context, appType string) context.Context

WithAppType 设置 appType

func WithIsAdmin

func WithIsAdmin(ctx context.Context, isAdmin bool) context.Context

func WithMerchantID

func WithMerchantID(ctx context.Context, merchantID string) context.Context

WithMerchantID adds merchant ID to the context

func WithMerchantIsolation

func WithMerchantIsolation(ctx context.Context, enabled bool) context.Context

WithMerchantIsolation enables or disables merchant isolation for the context

func WithRequestID

func WithRequestID(ctx context.Context, requestID string) context.Context

WithRequestID adds request ID to the context

func WithTenantID

func WithTenantID(ctx context.Context, tenantID string) context.Context

WithTenant adds tenant ID to the context

func WithTenantIsolation

func WithTenantIsolation(ctx context.Context, enabled bool) context.Context

WithTenantIsolation enables or disables tenant isolation for the context

func WithUserID

func WithUserID(ctx context.Context, userID string) context.Context

WithUserID adds user ID to the context

Types

type ContextInfo

type ContextInfo struct {
	TenantID   string
	UserID     string
	RequestID  string
	MerchantID string
	AppType    string
}

ContextInfo holds all context information

func GetContextInfo

func GetContextInfo(ctx context.Context) *ContextInfo

GetContextInfo retrieves all context information

Jump to

Keyboard shortcuts

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