first commit

Co-Authored-By: Codex <noreply@openai.com>
This commit is contained in:
HouYunFei
2026-05-19 07:53:53 +08:00
commit 472bf8b732
133 changed files with 16869 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
package middleware
import (
"net/http"
"strings"
"github.com/basketikun/infinite-canvas/handler"
"github.com/basketikun/infinite-canvas/model"
"github.com/basketikun/infinite-canvas/service"
"github.com/gin-gonic/gin"
)
func AdminAuth(c *gin.Context) {
user, ok := authUser(c)
if !ok || user.Role != model.UserRoleAdmin {
handler.Fail(c.Writer, "未登录或权限不足")
c.Abort()
return
}
c.Request = c.Request.WithContext(service.WithUser(c.Request.Context(), user))
c.Next()
}
func OptionalAuth(c *gin.Context) {
if user, ok := authUser(c); ok {
c.Request = c.Request.WithContext(service.WithUser(c.Request.Context(), user))
}
c.Next()
}
func NotFoundJSON(c *gin.Context) {
c.JSON(http.StatusNotFound, gin.H{"code": 1, "data": nil, "msg": "接口不存在"})
}
func authUser(c *gin.Context) (model.AuthUser, bool) {
token := strings.TrimPrefix(c.GetHeader("Authorization"), "Bearer ")
if strings.TrimSpace(token) == "" {
return model.AuthUser{}, false
}
return service.CurrentAuthUser(token)
}