.
This commit is contained in:
87
internal/api/auth_api.go
Normal file
87
internal/api/auth_api.go
Normal file
@@ -0,0 +1,87 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"ssq-desk/internal/service"
|
||||
"ssq-desk/internal/storage/repository"
|
||||
)
|
||||
|
||||
// AuthAPI 授权码 API
|
||||
type AuthAPI struct {
|
||||
authService *service.AuthService
|
||||
}
|
||||
|
||||
// NewAuthAPI 创建授权码 API
|
||||
func NewAuthAPI() (*AuthAPI, error) {
|
||||
repo, err := repository.NewSQLiteAuthRepository()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
authService := service.NewAuthService(repo)
|
||||
|
||||
return &AuthAPI{
|
||||
authService: authService,
|
||||
}, nil
|
||||
}
|
||||
|
||||
// ActivateLicense 激活授权码
|
||||
func (api *AuthAPI) ActivateLicense(licenseCode string) (map[string]interface{}, error) {
|
||||
if api.authService == nil {
|
||||
newAPI, err := NewAuthAPI()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
api.authService = newAPI.authService
|
||||
}
|
||||
|
||||
err := api.authService.ValidateLicense(licenseCode)
|
||||
if err != nil {
|
||||
return map[string]interface{}{
|
||||
"success": false,
|
||||
"message": err.Error(),
|
||||
}, nil
|
||||
}
|
||||
|
||||
status, err := api.authService.CheckAuthStatus()
|
||||
if err != nil {
|
||||
return map[string]interface{}{
|
||||
"success": false,
|
||||
"message": err.Error(),
|
||||
}, nil
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
"success": true,
|
||||
"message": "激活成功",
|
||||
"data": status,
|
||||
}, nil
|
||||
}
|
||||
|
||||
// GetAuthStatus 获取授权状态
|
||||
func (api *AuthAPI) GetAuthStatus() (map[string]interface{}, error) {
|
||||
if api.authService == nil {
|
||||
newAPI, err := NewAuthAPI()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
api.authService = newAPI.authService
|
||||
}
|
||||
|
||||
status, err := api.authService.CheckAuthStatus()
|
||||
if err != nil {
|
||||
return map[string]interface{}{
|
||||
"success": false,
|
||||
"message": err.Error(),
|
||||
}, nil
|
||||
}
|
||||
|
||||
return map[string]interface{}{
|
||||
"success": true,
|
||||
"data": status,
|
||||
}, nil
|
||||
}
|
||||
|
||||
// GetDeviceID 获取设备ID
|
||||
func (api *AuthAPI) GetDeviceID() (string, error) {
|
||||
return service.GetDeviceID()
|
||||
}
|
||||
Reference in New Issue
Block a user