2020-09-16 20:29:18 +08:00
|
|
|
package services
|
|
|
|
|
|
2020-11-24 15:02:44 +08:00
|
|
|
import (
|
|
|
|
|
"context"
|
|
|
|
|
"github.com/TeaOSLab/EdgeAPI/internal/errors"
|
|
|
|
|
rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils"
|
|
|
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
|
|
|
|
|
)
|
|
|
|
|
|
2020-09-16 20:29:18 +08:00
|
|
|
type BaseService struct {
|
|
|
|
|
}
|
2020-11-24 15:02:44 +08:00
|
|
|
|
|
|
|
|
// 校验管理员和用户
|
|
|
|
|
func (this *BaseService) ValidateAdminAndUser(ctx context.Context) (adminId int64, userId int64, err error) {
|
|
|
|
|
reqUserType, reqUserId, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin, rpcutils.UserTypeUser)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
adminId = int64(0)
|
|
|
|
|
userId = int64(0)
|
|
|
|
|
switch reqUserType {
|
|
|
|
|
case rpcutils.UserTypeAdmin:
|
|
|
|
|
adminId = reqUserId
|
|
|
|
|
case rpcutils.UserTypeUser:
|
|
|
|
|
userId = reqUserId
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 返回成功
|
|
|
|
|
func (this *BaseService) Success() (*pb.RPCSuccess, error) {
|
2020-11-24 17:36:47 +08:00
|
|
|
return &pb.RPCSuccess{}, nil
|
2020-11-24 15:02:44 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 返回数字
|
2020-11-24 17:36:47 +08:00
|
|
|
func (this *BaseService) SuccessCount(count int64) (*pb.RPCCountResponse, error) {
|
2020-11-24 15:02:44 +08:00
|
|
|
return &pb.RPCCountResponse{Count: count}, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 返回权限错误
|
|
|
|
|
func (this *BaseService) PermissionError() error {
|
|
|
|
|
return errors.New("Permission Denied")
|
|
|
|
|
}
|