mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-29 22:06:38 +08:00
1b2e083aec
Introduce internal/repository for data access and cache-backed system config reads. Move business logic into logics.go across admin push, user, template, cache, system_config, and upload/handler packages. Remove Gin from internal/util by relocating request-scoped helpers to oauth/gin_context.go. Propagate request context for config lookups in user flows. Slim model entities and delete model-level DB/cache helpers. Wire handlers to logics/repository so targeted packages no longer call db.DB directly. Update admin router tests to use ErrorHandlerMiddleware.
22 lines
516 B
Go
22 lines
516 B
Go
// Copyright 2026 Arctel.net
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package oauth
|
|
|
|
import "github.com/gin-gonic/gin"
|
|
|
|
// GetFromContext 从 Gin 请求上下文获取指定类型的值。
|
|
func GetFromContext[T any](c *gin.Context, key string) (T, bool) {
|
|
value, exists := c.Get(key)
|
|
if !exists {
|
|
var zero T
|
|
return zero, false
|
|
}
|
|
typed, ok := value.(T)
|
|
return typed, ok
|
|
}
|
|
|
|
// SetToContext 设置值到 Gin 请求上下文。
|
|
func SetToContext[T any](c *gin.Context, key string, value T) {
|
|
c.Set(key, value)
|
|
} |