Documentation
¶
Index ¶
- Constants
- Variables
- func GetAppID(ctx context.Context) string
- func GetAppIDFromGin(c *gin.Context) string
- func GetCorrelationID(ctx context.Context) string
- func GetCorrelationIDFromGin(c *gin.Context) string
- func GetEmail(ctx context.Context) string
- func GetEmailFromGin(c *gin.Context) string
- func GetPermissions(ctx context.Context) ([]string, error)
- func GetPermissionsFromGin(c *gin.Context) []string
- func GetRoles(ctx context.Context) []string
- func GetRolesFromGin(c *gin.Context) []string
- func GetTenantDomain(ctx context.Context) string
- func GetTenantID(ctx context.Context) (string, error)
- func GetTenantIDFromGin(c *gin.Context) string
- func GetUserID(ctx context.Context) (string, error)
- func GetUserIDFromGin(c *gin.Context) string
- func GinToStdContext(c *gin.Context) context.Context
- func HasAllRolesFromGin(c *gin.Context, roles ...string) bool
- func HasAnyRole(c *gin.Context, roles ...string) bool
- func HasAnyRoleFromGin(c *gin.Context, roles ...string) bool
- func HasRole(c *gin.Context, role string) bool
- func HasRoleFromGin(c *gin.Context, role string) bool
- func MustGetTenantID(ctx context.Context) string
- func MustGetUserID(ctx context.Context) string
- func SetUserContext(c *gin.Context, user *UserContext)
- func ToGinContext(c *gin.Context, rc *RequestContext)
- func WithAppID(ctx context.Context, appID string) context.Context
- func WithCorrelationID(ctx context.Context, correlationID string) context.Context
- func WithEmail(ctx context.Context, email string) context.Context
- func WithPermissions(ctx context.Context, permissions []string) context.Context
- func WithRequestContext(ctx context.Context, rc *RequestContext) context.Context
- func WithRoles(ctx context.Context, roles []string) context.Context
- func WithTenantDomain(ctx context.Context, domain string) context.Context
- func WithTenantID(ctx context.Context, tenantID string) context.Context
- func WithUserID(ctx context.Context, userID string) context.Context
- type RequestContext
- type UserContext
Constants ¶
const ( UserIDKey contextKey = "user_id" TenantIDKey contextKey = "tenant_id" AppIDKey contextKey = "app_id" RolesKey contextKey = "roles" PermissionsKey contextKey = "permissions" EmailKey contextKey = "email" CorrelationIDKey contextKey = "correlation_id" TenantDomainKey contextKey = "tenant_domain" )
const GinContextKey = "request_context"
GinContextKey is the key for storing context in gin.Context
Variables ¶
Functions ¶
func GetAppIDFromGin ¶
GetAppIDFromGin retrieves app ID from gin context
func GetCorrelationID ¶
GetCorrelationID retrieves correlation ID from context
func GetCorrelationIDFromGin ¶
GetCorrelationIDFromGin retrieves correlation ID from gin context
func GetEmailFromGin ¶
GetEmailFromGin retrieves email from gin context
func GetPermissions ¶
GetPermissions retrieves permissions from context
func GetPermissionsFromGin ¶
GetPermissionsFromGin retrieves permissions from gin context
func GetRolesFromGin ¶
GetRolesFromGin retrieves roles from gin context
func GetTenantDomain ¶
GetTenantDomain retrieves tenant domain from context
func GetTenantID ¶
GetTenantID retrieves tenant ID from context
func GetTenantIDFromGin ¶
GetTenantIDFromGin retrieves tenant ID from gin context
func GetUserIDFromGin ¶
GetUserIDFromGin retrieves user ID from gin context
func GinToStdContext ¶
GinToStdContext converts gin.Context to standard context.Context with request context
func HasAllRolesFromGin ¶
HasAllRolesFromGin checks if user has all of the specified roles in gin context
func HasAnyRole ¶
HasAnyRole checks if user has any of the roles in Gin context
func HasAnyRoleFromGin ¶
HasAnyRoleFromGin checks if user has any of the specified roles in gin context
func HasRoleFromGin ¶
HasRoleFromGin checks if user has a specific role in gin context
func MustGetTenantID ¶
MustGetTenantID retrieves tenant ID or panics
func MustGetUserID ¶
MustGetUserID retrieves user ID or panics
func SetUserContext ¶
func SetUserContext(c *gin.Context, user *UserContext)
SetUserContext sets user context in Gin context
func ToGinContext ¶
func ToGinContext(c *gin.Context, rc *RequestContext)
ToGinContext stores request context in gin.Context
func WithCorrelationID ¶
WithCorrelationID adds correlation ID to context
func WithPermissions ¶
WithPermissions adds permissions to context
func WithRequestContext ¶
func WithRequestContext(ctx context.Context, rc *RequestContext) context.Context
WithRequestContext adds full request context
func WithTenantDomain ¶
WithTenantDomain adds tenant domain to context
func WithTenantID ¶
WithTenantID adds tenant ID to context
Types ¶
type RequestContext ¶
type RequestContext struct {
UserID string
TenantID string
AppID string
Email string
Roles []string
Permissions []string
CorrelationID string
TenantDomain string
}
RequestContext holds all context information for a request
func FromGinContext ¶
func FromGinContext(c *gin.Context) *RequestContext
FromGinContext retrieves request context from gin.Context
func GetRequestContext ¶
func GetRequestContext(ctx context.Context) *RequestContext
GetRequestContext retrieves full request context
type UserContext ¶
type UserContext = RequestContext
UserContext is an alias for RequestContext for backward compatibility
func GetUserContext ¶
func GetUserContext(c *gin.Context) (*UserContext, error)
GetUserContext extracts user context from Gin context