mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-18 03:40:26 +08:00
初步实现安装界面
This commit is contained in:
@@ -52,9 +52,10 @@ func (this *AdminService) CreateAdminLog(ctx context.Context, req *pb.CreateAdmi
|
||||
return nil, err
|
||||
}
|
||||
err = models.SharedLogDAO.CreateAdminLog(userId, req.Level, req.Description, req.Action, req.Ip)
|
||||
return &pb.CreateAdminLogResponse{
|
||||
IsOk: err != nil,
|
||||
}, err
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &pb.CreateAdminLogResponse{}, nil
|
||||
}
|
||||
|
||||
func (this *AdminService) CheckAdminExists(ctx context.Context, req *pb.CheckAdminExistsRequest) (*pb.CheckAdminExistsResponse, error) {
|
||||
@@ -95,3 +96,28 @@ func (this *AdminService) FindAdminFullname(ctx context.Context, req *pb.FindAdm
|
||||
Fullname: fullname,
|
||||
}, nil
|
||||
}
|
||||
|
||||
// 创建或修改管理员
|
||||
func (this *AdminService) CreateOrUpdateAdmin(ctx context.Context, req *pb.CreateOrUpdateAdminRequest) (*pb.CreateOrUpdateAdminResponse, error) {
|
||||
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin, rpcutils.UserTypeAPI)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
adminId, err := models.SharedAdminDAO.FindAdminIdWithUsername(req.Username)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if adminId > 0 {
|
||||
err = models.SharedAdminDAO.UpdateAdminPassword(adminId, req.Password)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &pb.CreateOrUpdateAdminResponse{AdminId: adminId}, nil
|
||||
}
|
||||
adminId, err = models.SharedAdminDAO.CreateAdmin(req.Username, req.Password, "管理员")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &pb.CreateOrUpdateAdminResponse{AdminId: adminId}, nil
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package services
|
||||
|
||||
import (
|
||||
"context"
|
||||
teaconst "github.com/TeaOSLab/EdgeAPI/internal/const"
|
||||
"github.com/TeaOSLab/EdgeAPI/internal/db/models"
|
||||
rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils"
|
||||
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
|
||||
@@ -180,3 +181,13 @@ func (this *APINodeService) FindEnabledAPINode(ctx context.Context, req *pb.Find
|
||||
}
|
||||
return &pb.FindEnabledAPINodeResponse{Node: result}, nil
|
||||
}
|
||||
|
||||
// 获取当前API节点的版本
|
||||
func (this *APINodeService) FindCurrentAPINodeVersion(ctx context.Context, req *pb.FindCurrentAPINodeVersionRequest) (*pb.FindCurrentAPINodeVersionResponse, error) {
|
||||
_, _, err := rpcutils.ValidateRequest(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &pb.FindCurrentAPINodeVersionResponse{Version: teaconst.Version}, nil
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ const (
|
||||
UserTypeStat = "stat"
|
||||
UserTypeDNS = "dns"
|
||||
UserTypeLog = "log"
|
||||
UserTypeAPI = "api"
|
||||
)
|
||||
|
||||
// 校验请求
|
||||
@@ -51,23 +52,7 @@ func ValidateRequest(ctx context.Context, userTypes ...UserType) (userType UserT
|
||||
}
|
||||
nodeUserId := int64(0)
|
||||
if apiToken == nil {
|
||||
// 我们从节点中获取
|
||||
node, err := models.SharedNodeDAO.FindEnabledNodeWithUniqueId(nodeId)
|
||||
if err != nil {
|
||||
return UserTypeNone, 0, err
|
||||
}
|
||||
if node == nil {
|
||||
return UserTypeNone, 0, err
|
||||
}
|
||||
|
||||
nodeUserId = int64(node.Id)
|
||||
apiToken = &models.ApiToken{
|
||||
Id: 0,
|
||||
NodeId: nodeId,
|
||||
Secret: node.Secret,
|
||||
Role: "node",
|
||||
State: 1,
|
||||
}
|
||||
return UserTypeNode, 0, errors.New("context: invalid api token")
|
||||
}
|
||||
|
||||
tokens := md.Get("token")
|
||||
|
||||
Reference in New Issue
Block a user