init push
This commit is contained in:
48
backend/domain/api_token.go
Normal file
48
backend/domain/api_token.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user