yjp 1 gadu atpakaļ
vecāks
revīzija
7047721c83

+ 31 - 38
convenient/gwtools/entity_crud.go

@@ -78,18 +78,17 @@ func (params *EntityCRUDParams) crud(builder *gateway.Builder) {
 
 		copyBuilder := builder.Url(http.MethodPost, domainPath+"/create")
 
-		var postRequestCallback gateway.RequestResponseCallback
-		if createOptions.afterBuilderCallback != nil {
-			postRequestCallback = func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+		postRequestCallback := func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+			if createOptions.afterBuilderCallback != nil {
 				innerBuilder, err := createOptions.afterBuilderCallback(copyBuilder, c)
 				if err != nil {
 					return err
 				}
 
 				copyBuilder = innerBuilder
-
-				return nil
 			}
+
+			return nil
 		}
 
 		copyBuilder.
@@ -125,33 +124,31 @@ func (params *EntityCRUDParams) crud(builder *gateway.Builder) {
 
 		copyBuilder := builder.Url(http.MethodDelete, domainPath+"/delete")
 
-		var queryParamsFormOption gateway.DeleteRequestOption
-		if deleteOptions.beforeBuilderCallback != nil {
-			queryParamsFormOption = gateway.DeleteRequestWithQueryParamsForm(
-				func(c *api.Context, historyRequest []gateway.BuilderRequest, resultMap map[string]any) (map[string]string, error) {
+		queryParamsFormOption := gateway.DeleteRequestWithQueryParamsForm(
+			func(c *api.Context, historyRequest []gateway.BuilderRequest, resultMap map[string]any) (map[string]string, error) {
+				if deleteOptions.beforeBuilderCallback != nil {
 					innerBuilder, err := deleteOptions.beforeBuilderCallback(copyBuilder, c)
 					if err != nil {
 						return nil, err
 					}
 
 					copyBuilder = innerBuilder
+				}
 
-					return c.GetQueryParams().Map(), nil
-				})
-		}
+				return c.GetQueryParams().Map(), nil
+			})
 
-		var deleteRequestCallback gateway.RequestResponseCallback
-		if deleteOptions.afterBuilderCallback != nil {
-			deleteRequestCallback = func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+		deleteRequestCallback := func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+			if deleteOptions.afterBuilderCallback != nil {
 				innerBuilder, err := deleteOptions.afterBuilderCallback(copyBuilder, c)
 				if err != nil {
 					return err
 				}
 
 				copyBuilder = innerBuilder
-
-				return nil
 			}
+
+			return nil
 		}
 
 		copyBuilder.
@@ -165,18 +162,17 @@ func (params *EntityCRUDParams) crud(builder *gateway.Builder) {
 
 		copyBuilder := builder.Url(http.MethodPut, domainPath+"/update")
 
-		var putRequestCallback gateway.RequestResponseCallback
-		if updateOptions.afterBuilderCallback != nil {
-			putRequestCallback = func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+		putRequestCallback := func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+			if updateOptions.afterBuilderCallback != nil {
 				innerBuilder, err := updateOptions.afterBuilderCallback(copyBuilder, c)
 				if err != nil {
 					return err
 				}
 
 				copyBuilder = innerBuilder
-
-				return nil
 			}
+
+			return nil
 		}
 
 		copyBuilder.Put(gateway.NewPutRequest(params.ServiceVersionedUrl+domainPath+"/update",
@@ -211,18 +207,17 @@ func (params *EntityCRUDParams) crud(builder *gateway.Builder) {
 
 		copyBuilder := builder.Url(http.MethodGet, domainPath+"/query")
 
-		var getRequestCallback gateway.RequestResponseCallback
-		if queryOptions.afterBuilderCallback != nil {
-			getRequestCallback = func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+		getRequestCallback := func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+			if queryOptions.afterBuilderCallback != nil {
 				innerBuilder, err := queryOptions.afterBuilderCallback(copyBuilder, c)
 				if err != nil {
 					return err
 				}
 
 				copyBuilder = innerBuilder
-
-				return nil
 			}
+
+			return nil
 		}
 
 		copyBuilder.Get(gateway.NewGetRequest(params.ServiceVersionedUrl+domainPath+"/query",
@@ -252,32 +247,30 @@ func (params *EntityCRUDParams) crud(builder *gateway.Builder) {
 
 		copyBuilder := builder.Url(http.MethodGet, domainPath+"/get")
 
-		var formQueryParamsOption gateway.GetRequestOption
-		if getByIDOptions.beforeBuilderCallback != nil {
-			formQueryParamsOption = gateway.GetRequestWithQueryParamsForm(func(c *api.Context, historyRequest []gateway.BuilderRequest, resultMap map[string]any) (map[string]string, error) {
+		formQueryParamsOption := gateway.GetRequestWithQueryParamsForm(func(c *api.Context, historyRequest []gateway.BuilderRequest, resultMap map[string]any) (map[string]string, error) {
+			if getByIDOptions.beforeBuilderCallback != nil {
 				innerBuilder, err := getByIDOptions.beforeBuilderCallback(copyBuilder, c)
 				if err != nil {
 					return nil, err
 				}
 
 				copyBuilder = innerBuilder
+			}
 
-				return c.GetQueryParams().Map(), nil
-			})
-		}
+			return c.GetQueryParams().Map(), nil
+		})
 
-		var getRequestCallback gateway.RequestResponseCallback
-		if getByIDOptions.afterBuilderCallback != nil {
-			getRequestCallback = func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+		getRequestCallback := func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+			if getByIDOptions.afterBuilderCallback != nil {
 				innerBuilder, err := getByIDOptions.afterBuilderCallback(copyBuilder, c)
 				if err != nil {
 					return err
 				}
 
 				copyBuilder = innerBuilder
-
-				return nil
 			}
+
+			return nil
 		}
 
 		copyBuilder.

+ 22 - 26
convenient/gwtools/value_object_crud.go

@@ -66,18 +66,17 @@ func (params *ValueObjectCRUDParams) crud(builder *gateway.Builder) {
 
 		copyBuilder := builder.Url(http.MethodPost, domainPath+"/create")
 
-		var postRequestCallback gateway.RequestResponseCallback
-		if createOptions.afterBuilderCallback != nil {
-			postRequestCallback = func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+		postRequestCallback := func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+			if createOptions.afterBuilderCallback != nil {
 				innerBuilder, err := createOptions.afterBuilderCallback(copyBuilder, c)
 				if err != nil {
 					return err
 				}
 
 				copyBuilder = innerBuilder
-
-				return nil
 			}
+
+			return nil
 		}
 
 		copyBuilder.Post(gateway.NewPostRequest(params.ServiceVersionedUrl+domainPath+"/create",
@@ -112,37 +111,35 @@ func (params *ValueObjectCRUDParams) crud(builder *gateway.Builder) {
 
 		copyBuilder := builder.Url(http.MethodPost, domainPath+"/delete")
 
-		var formBodyOption gateway.PostRequestOption
-		if deleteOptions.beforeBuilderCallback != nil {
-			formBodyOption = gateway.PostRequestWithBodyForm(func(c *api.Context, historyRequest []gateway.BuilderRequest, resultMap map[string]any) (any, error) {
+		formBodyOption := gateway.PostRequestWithBodyForm(func(c *api.Context, historyRequest []gateway.BuilderRequest, resultMap map[string]any) (any, error) {
+			jsonBody, err := c.GetJsonBody()
+			if err != nil {
+				return nil, err
+			}
+
+			if deleteOptions.beforeBuilderCallback != nil {
 				innerBuilder, err := deleteOptions.beforeBuilderCallback(copyBuilder, c)
 				if err != nil {
 					return nil, err
 				}
 
 				copyBuilder = innerBuilder
+			}
 
-				jsonBody, err := c.GetJsonBody()
-				if err != nil {
-					return nil, err
-				}
-
-				return jsonBody.Map(), nil
-			})
-		}
+			return jsonBody.Map(), nil
+		})
 
-		var postRequestCallback gateway.RequestResponseCallback
-		if deleteOptions.afterBuilderCallback != nil {
-			postRequestCallback = func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+		postRequestCallback := func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+			if deleteOptions.afterBuilderCallback != nil {
 				innerBuilder, err := deleteOptions.afterBuilderCallback(copyBuilder, c)
 				if err != nil {
 					return err
 				}
 
 				copyBuilder = innerBuilder
-
-				return nil
 			}
+
+			return nil
 		}
 
 		copyBuilder.
@@ -156,18 +153,17 @@ func (params *ValueObjectCRUDParams) crud(builder *gateway.Builder) {
 
 		copyBuilder := builder.Url(http.MethodGet, domainPath+"/query")
 
-		var getRequestCallback gateway.RequestResponseCallback
-		if queryOptions.afterBuilderCallback != nil {
-			getRequestCallback = func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+		getRequestCallback := func(c *api.Context, response *http_client.Response, historyRequests []gateway.BuilderRequest, resultMap map[string]any) error {
+			if queryOptions.afterBuilderCallback != nil {
 				innerBuilder, err := queryOptions.afterBuilderCallback(copyBuilder, c)
 				if err != nil {
 					return err
 				}
 
 				copyBuilder = innerBuilder
-
-				return nil
 			}
+
+			return nil
 		}
 
 		copyBuilder.Get(gateway.NewGetRequest(params.ServiceVersionedUrl+domainPath+"/query",

+ 1 - 1
framework/gateway/builder_request.go

@@ -23,7 +23,7 @@ func FormJsonBodyWithTenantIDAndUserIDFunc(tenantIDFieldName string, userIDField
 			return nil, err
 		}
 
-		return jsonBody.Bytes(), nil
+		return jsonBody.Map(), nil
 	}
 }