Files
frp-panel/biz/master/worker/install_workerd.go
2025-05-06 02:08:59 +00:00

39 lines
1.2 KiB
Go

package worker
import (
"github.com/VaalaCat/frp-panel/common"
"github.com/VaalaCat/frp-panel/pb"
"github.com/VaalaCat/frp-panel/services/app"
"github.com/VaalaCat/frp-panel/services/dao"
"github.com/VaalaCat/frp-panel/services/rpc"
"github.com/VaalaCat/frp-panel/utils/logger"
)
func InstallWorkerd(ctx *app.Context, req *pb.InstallWorkerdRequest) (*pb.InstallWorkerdResponse, error) {
var (
userInfo = common.GetUserInfo(ctx)
clientId = req.GetClientId()
)
logger.Logger(ctx).Infof("installw orkerd called with userInfo: %v, clientId: %s", userInfo, clientId)
_, err := dao.NewQuery(ctx).GetClientByClientID(userInfo, clientId)
if err != nil {
logger.Logger(ctx).WithError(err).Errorf("failed to get client by clientID: %s", clientId)
return nil, err
}
resp := &pb.InstallWorkerdResponse{}
if err := rpc.CallClientWrapper(ctx, clientId, pb.Event_EVENT_INSTALL_WORKERD, req, resp); err != nil {
logger.Logger(ctx).WithError(err).Errorf("failed to call install workerd with clientId: %s", clientId)
return nil, err
}
logger.Logger(ctx).Infof("install workerd success with clientId: %s", clientId)
return &pb.InstallWorkerdResponse{
Status: &pb.Status{
Code: pb.RespCode_RESP_CODE_SUCCESS,
Message: "ok",
},
}, nil
}