yjp před 5 dny
rodič
revize
6bf9207b19

+ 2 - 2
convenient/gwtools/entity_crud/entity_crud.go

@@ -137,7 +137,7 @@ func (simple *Simple) bind(builder *gateway.Builder) {
 	if !deleteOptions.disable {
 		deleteMiddlewares := append(globalOptions.middlewares, deleteOptions.middlewares...)
 
-		builder.DeleteRouteWithDeleteUserInfo("/"+simple.ServiceShortName+domainPath+"/delete"+deleteOptions.urlPattern,
+		builder.DeleteRouteWithTenantIDAndDeleteUserInfo("/"+simple.ServiceShortName+domainPath+"/delete"+deleteOptions.urlPattern,
 			func(requestBuilder *gateway.RequestBuilder) {
 				if deleteOptions.responseSuccessCallback != nil {
 					requestBuilder.ResponseSuccessCallback(func(c *gateway.RequestBuilderContext) {
@@ -194,7 +194,7 @@ func (simple *Simple) bind(builder *gateway.Builder) {
 	if !updateOptions.disable {
 		updateMiddlewares := append(globalOptions.middlewares, updateOptions.middlewares...)
 
-		builder.PutRouteWithUpdateUserInfo("/"+simple.ServiceShortName+domainPath+"/update"+updateOptions.urlPattern,
+		builder.PutRouteWithTenantIDAndUpdateUserInfo("/"+simple.ServiceShortName+domainPath+"/update"+updateOptions.urlPattern,
 			func(requestBuilder *gateway.RequestBuilder) {
 				if updateOptions.responseSuccessCallback != nil {
 					requestBuilder.ResponseSuccessCallback(func(c *gateway.RequestBuilderContext) {

+ 1 - 1
convenient/gwtools/value_object_crud/value_object_crud.go

@@ -122,7 +122,7 @@ func (simple *Simple) bind(builder *gateway.Builder) {
 	if !deleteOptions.disable {
 		deleteMiddlewares := append(globalOptions.middlewares, deleteOptions.middlewares...)
 
-		builder.PostRoute("/"+simple.ServiceShortName+domainPath+"/delete"+deleteOptions.urlPattern,
+		builder.PostRouteWithTenantID("/"+simple.ServiceShortName+domainPath+"/delete"+deleteOptions.urlPattern,
 			func(requestBuilder *gateway.RequestBuilder) {
 				if deleteOptions.responseSuccessCallback != nil {
 					requestBuilder.ResponseSuccessCallback(func(c *gateway.RequestBuilderContext) {

+ 5 - 4
convenient/value_object_crud/service.go

@@ -1,6 +1,8 @@
 package value_object_crud
 
 import (
+	"reflect"
+
 	"git.sxidc.com/go-framework/baize/framework/binding"
 	"git.sxidc.com/go-framework/baize/framework/core/api"
 	"git.sxidc.com/go-framework/baize/framework/core/api/request"
@@ -12,7 +14,6 @@ import (
 	"git.sxidc.com/go-framework/baize/framework/core/infrastructure/database/sql"
 	"git.sxidc.com/go-framework/baize/framework/core/tag/sql/sql_mapping"
 	"github.com/pkg/errors"
-	"reflect"
 )
 
 func Create(tableName string, callbacks *CreateCallbacks, needTx bool) binding.ServiceFunc[any] {
@@ -90,7 +91,7 @@ func Create(tableName string, callbacks *CreateCallbacks, needTx bool) binding.S
 	}
 }
 
-func Delete(tableName string, callbacks *DeleteCallbacks, needTx bool) binding.ServiceFunc[any] {
+func Delete(tableName string, callbacks *DeleteCallbacks, needTx bool, scopeFields ...string) binding.ServiceFunc[any] {
 	return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (any, error) {
 		object := objects[0]
 		if object == nil {
@@ -121,7 +122,7 @@ func Delete(tableName string, callbacks *DeleteCallbacks, needTx bool) binding.S
 					return err
 				}
 
-				err = database.DeleteEntity(tx, tableName, valueObject)
+				err = database.DeleteEntityWithScope(tx, tableName, valueObject, scopeFields...)
 				if err != nil {
 					return err
 				}
@@ -142,7 +143,7 @@ func Delete(tableName string, callbacks *DeleteCallbacks, needTx bool) binding.S
 				return nil, callbackOnDeleteErrorReturn(callbacks, c, params, valueObject, make(map[string]any), err, i)
 			}
 
-			err = database.DeleteEntity(dbExecutor, tableName, valueObject)
+			err = database.DeleteEntityWithScope(dbExecutor, tableName, valueObject, scopeFields...)
 			if err != nil {
 				return nil, callbackOnDeleteErrorReturn(callbacks, c, params, valueObject, make(map[string]any), err, i)
 			}

+ 8 - 1
convenient/value_object_crud/simple.go

@@ -65,7 +65,7 @@ func (simple *Simple[I]) bind(binder *binding.Binder) {
 			RequestParams:         simple.DeleteJsonBody,
 			BindRequestParamsFunc: request.BindJsonBody,
 			Objects:               []domain.Object{simple.ValueObject},
-			ServiceFunc:           Delete(tableName, deleteOptions.callbacks, deleteOptions.needTx),
+			ServiceFunc:           Delete(tableName, deleteOptions.callbacks, deleteOptions.needTx, globalOptions.scopeFields...),
 		}, deleteMiddlewares...)
 	}
 
@@ -119,6 +119,7 @@ type QueryOption[I any] func(options *QueryOptions[I])
 
 type GlobalOptions struct {
 	middlewares []binding.Middleware
+	scopeFields []string
 }
 
 type CreateOptions struct {
@@ -175,6 +176,12 @@ func WithGlobalMiddlewares(middlewares ...binding.Middleware) GlobalOption {
 	}
 }
 
+func WithGlobalScopeFields(scopeFields ...string) GlobalOption {
+	return func(options *GlobalOptions) {
+		options.scopeFields = scopeFields
+	}
+}
+
 func WithDisableCreate() CreateOption {
 	return func(options *CreateOptions) {
 		options.disable = true