create_api_logic.go 997 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package api
  2. import (
  3. "context"
  4. "github.com/suyuan32/simple-admin-core/api/internal/svc"
  5. "github.com/suyuan32/simple-admin-core/api/internal/types"
  6. "github.com/suyuan32/simple-admin-core/rpc/types/core"
  7. "github.com/zeromicro/go-zero/core/logx"
  8. )
  9. type CreateApiLogic struct {
  10. logx.Logger
  11. ctx context.Context
  12. svcCtx *svc.ServiceContext
  13. }
  14. func NewCreateApiLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateApiLogic {
  15. return &CreateApiLogic{
  16. Logger: logx.WithContext(ctx),
  17. ctx: ctx,
  18. svcCtx: svcCtx,
  19. }
  20. }
  21. func (l *CreateApiLogic) CreateApi(req *types.ApiInfo) (resp *types.BaseMsgResp, err error) {
  22. data, err := l.svcCtx.CoreRpc.CreateApi(l.ctx,
  23. &core.ApiInfo{
  24. Path: req.Path,
  25. Description: req.Description,
  26. ApiGroup: req.Group,
  27. Method: req.Method,
  28. IsRequired: req.IsRequired,
  29. ServiceName: req.ServiceName,
  30. })
  31. if err != nil {
  32. return nil, err
  33. }
  34. return &types.BaseMsgResp{Msg: l.svcCtx.Trans.Trans(l.ctx, data.Msg)}, nil
  35. }