| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package domain_gateway
- import (
- "git.sxidc.com/go-framework/baize/framework/core/api"
- "git.sxidc.com/go-framework/baize/framework/gateway"
- "git.sxidc.com/go-tools/utils/strutils"
- "github.com/pkg/errors"
- "net/http"
- )
- func SqlExecutorGateway(baseUrlNoUrlPrefix string, builder *gateway.Builder) {
- builder.
- Url(http.MethodPost, "/sql/execute").
- Request(func(c *api.Context, historyRequests []gateway.BuilderRequest, resultMap map[string]any) (gateway.BuilderRequest, error) {
- err := gateway.AddJsonBodyTenantIDAndUserID(c, "", "executorId")
- if err != nil {
- return nil, err
- }
- jsonBody, err := c.GetJsonBody()
- if err != nil {
- return nil, err
- }
- userInfo := c.GetUserInfo()
- if userInfo == nil {
- jsonBody.Set("executorName", "guest")
- } else {
- jsonBody.Set("executorName", userInfo.GetName)
- }
- urlPrefixValue := jsonBody.Get("urlPrefix")
- if urlPrefixValue == nil {
- return nil, errors.New("没有传递服务名")
- }
- urlPrefix, ok := urlPrefixValue.(string)
- if !ok {
- return nil, errors.New("服务名不是string类型")
- }
- jsonBody.Delete("urlPrefix")
- return &gateway.PostRequest{
- Url: baseUrlNoUrlPrefix + "/" + urlPrefix + "/api/sql/execute",
- Body: jsonBody.Map(),
- }, nil
- }, nil).
- Build()
- builder.
- Url(http.MethodGet, "/sql/execute/log").
- Request(func(c *api.Context, historyRequests []gateway.BuilderRequest, resultMap map[string]any) (gateway.BuilderRequest, error) {
- err := gateway.AddQueryParamsTenantIDAndUserID(c, "", "executorId")
- if err != nil {
- return nil, err
- }
- queryParams := c.GetQueryParams()
- urlPrefix := queryParams.Get("urlPrefix")
- if strutils.IsStringEmpty(urlPrefix) {
- return nil, errors.New("没有传递服务名")
- }
- queryParams.Delete("urlPrefix")
- return &gateway.GetRequest{
- Url: baseUrlNoUrlPrefix + "/" + urlPrefix + "/api/sql/execute/log",
- QueryParams: queryParams.Map(),
- }, nil
- }, nil).
- Build()
- }
|