Files
YouduWiki/backend/api/auth/v1/auth.go
2026-05-21 19:52:45 +08:00

49 lines
1.7 KiB
Go

package v1
import (
"time"
"github.com/chaitin/panda-wiki/consts"
)
type AuthGetReq struct {
KBID string `json:"kb_id,omitempty" query:"kb_id"`
SourceType consts.SourceType `query:"source_type" json:"source_type" validate:"required,oneof=github"`
}
type AuthGetResp struct {
ClientID string `json:"client_id"`
ClientSecret string `json:"client_secret"`
Proxy string `json:"proxy"`
SourceType consts.SourceType `json:"source_type"`
Auths []AuthItem `json:"auths"`
}
type AuthItem struct {
ID uint `gorm:"primaryKey;column:id" json:"id,omitempty"`
Username string `gorm:"column:username;not null" json:"username,omitempty"`
AvatarUrl string `json:"avatar_url"`
IP string `gorm:"column:ip;not null" json:"ip,omitempty"`
SourceType consts.SourceType `gorm:"column:source_type;not null" json:"source_type,omitempty"`
LastLoginTime time.Time `gorm:"column:last_login_time" json:"last_login_time,omitempty"`
CreatedAt time.Time `gorm:"column:created_at;not null;default:now()" json:"created_at"`
}
type AuthSetReq struct {
KBID string `json:"kb_id,omitempty"`
SourceType consts.SourceType `query:"source_type" json:"source_type" validate:"required,oneof=github"`
ClientID string `json:"client_id"`
ClientSecret string `json:"client_secret"`
Proxy string `json:"proxy"`
}
type AuthSetResp struct{}
type AuthDeleteReq struct {
ID int64 `query:"id" json:"id"`
KbID string `query:"kb_id" json:"kb_id"`
}
type AuthDeleteResp struct {
}