// Copyright 2022 ROC. All rights reserved. // Use of this source code is governed by a MIT style // license that can be found in the LICENSE file. package web import ( "github.com/alimy/mir/v3" "github.com/gin-gonic/gin" api "github.com/rocboss/paopao-ce/auto/api/v1" "github.com/rocboss/paopao-ce/internal/model/web" "github.com/rocboss/paopao-ce/internal/servants/base" "github.com/rocboss/paopao-ce/internal/servants/chain" "github.com/rocboss/paopao-ce/pkg/xerror" ) var ( _ api.Admin = (*adminSrv)(nil) _ api.AdminBinding = (*adminBinding)(nil) _ api.AdminRender = (*adminRender)(nil) ) type adminSrv struct { api.UnimplementedAdminServant *base.DaoServant } type adminBinding struct { *api.UnimplementedAdminBinding } type adminRender struct { *api.UnimplementedAdminRender } func (s *adminSrv) Chain() gin.HandlersChain { return gin.HandlersChain{chain.JWT(), chain.Admin()} } func (s *adminSrv) ChangeUserStatus(req *web.ChangeUserStatusReq) mir.Error { user, err := s.Ds.GetUserByID(req.ID) if err != nil || user.Model == nil || user.ID <= 0 { return _errNoExistUsername } // 执行更新 user.Status = req.Status if err := s.Ds.UpdateUser(user); err != nil { return xerror.ServerError } return nil } func newAdminSrv(s *base.DaoServant) api.Admin { return &adminSrv{ DaoServant: s, } } func newAdminBinding() api.AdminBinding { return &adminBinding{ UnimplementedAdminBinding: &api.UnimplementedAdminBinding{ BindAny: base.NewBindAnyFn(), }, } } func newAdminRender() api.AdminRender { return &adminRender{ UnimplementedAdminRender: &api.UnimplementedAdminRender{ RenderAny: base.RenderAny, }, } }