@@ -619,7 +619,8 @@ func (cu *CloudbeaverUsecase) GraphQLDistributor() echo.MiddlewareFunc {
619619 if ! cloudbeaverHandle .NeedModifyRemoteRes {
620620 cloudbeaverNext = func (c echo.Context ) ([]byte , error ) {
621621 resp , ok = c .Get (cloudbeaver .AuditResultKey ).(cloudbeaver.AuditResults )
622- if ok && ! resp .IsSuccess {
622+ isExecuteAnyway := cu .isExecuteAnyway (params ) // 是否为“仍要执行”触发
623+ if ok && ! resp .IsSuccess && ! isExecuteAnyway {
623624 err = cu .SaveCbOpLog (c , dbService , params , resp .Results , resp .IsSuccess , nil )
624625 if err != nil {
625626 cu .log .Errorf ("save cb operation log err: %v" , err )
@@ -773,8 +774,8 @@ func convertToResp(ctx context.Context, resp cloudbeaver.AuditResults) interface
773774 }
774775 }
775776
776- messageStr := strings .Join (messages , ", " )
777- executionFailedMessageStr := strings .Join (executionFailedMessage , ", " )
777+ messageStr := "审核未通过:" + strings .Join (messages , "; " )
778+ executionFailedMessageStr := strings .Join (executionFailedMessage , "; " )
778779 name := "SQL Audit Failed"
779780
780781 return struct {
@@ -958,6 +959,29 @@ func (cu *CloudbeaverUsecase) isEnableWorkflowExec(dbService *DBService) bool {
958959 return dbService .SQLEConfig .AuditEnabled && dbService .SQLEConfig .SQLQueryConfig .WorkflowExecEnabled
959960}
960961
962+ func (cu * CloudbeaverUsecase ) isExecuteAnyway (params * graphql.RawParams ) bool {
963+ if params == nil || params .Variables == nil {
964+ return false
965+ }
966+
967+ v , exist := params .Variables ["isExecuteAnyway" ]
968+ if ! exist || v == nil {
969+ return false
970+ }
971+
972+ switch val := v .(type ) {
973+ case bool :
974+ return val
975+ case string :
976+ b , err := strconv .ParseBool (val )
977+ if err == nil {
978+ return b
979+ }
980+ }
981+
982+ return false
983+ }
984+
961985func (cu * CloudbeaverUsecase ) getDbService (ctx context.Context , params * graphql.RawParams ) (* DBService , error ) {
962986 var connectionId interface {}
963987 var connectionIdStr string
0 commit comments