init push

This commit is contained in:
2026-05-21 19:52:45 +08:00
commit e3f75311ab
1280 changed files with 179173 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
package domain
import (
"context"
"time"
"github.com/chaitin/panda-wiki/consts"
)
type APIToken struct {
ID string `json:"id" gorm:"primaryKey"`
Name string `json:"name" gorm:"not null"`
UserID string `json:"user_id" gorm:"not null"`
Token string `json:"token" gorm:"uniqueIndex;not null"`
KbId string `json:"kb_id" gorm:"not null"`
Permission consts.UserKBPermission `json:"permission" gorm:"not null"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
func (APIToken) TableName() string {
return "api_tokens"
}
type CtxAuthInfo struct {
IsToken bool
Permission consts.UserKBPermission
UserId string
KBId string
}
type contextKey string
const (
CtxAuthInfoKey contextKey = "ctx_auth_info"
)
func GetAuthInfoFromCtx(c context.Context) *CtxAuthInfo {
v := c.Value(CtxAuthInfoKey)
if v == nil {
return nil
}
ctxAuthInfo, ok := v.(*CtxAuthInfo)
if !ok {
return nil
}
return ctxAuthInfo
}