fix: Correct userID propagation for agent-triggered workflows (#603)
This commit is contained in:
parent
3c7dfc906f
commit
efbc82e8b3
|
|
@ -19,7 +19,6 @@ package database
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strconv"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/spf13/cast"
|
"github.com/spf13/cast"
|
||||||
|
|
@ -63,7 +62,7 @@ func (d *DatabaseRepository) Execute(ctx context.Context, request *nodedatabase.
|
||||||
OperateType: database.OperateType_Custom,
|
OperateType: database.OperateType_Custom,
|
||||||
SQL: &request.SQL,
|
SQL: &request.SQL,
|
||||||
TableType: tableType,
|
TableType: tableType,
|
||||||
UserID: strconv.FormatInt(request.UserID, 10),
|
UserID: request.UserID,
|
||||||
ConnectorID: ptr.Of(request.ConnectorID),
|
ConnectorID: ptr.Of(request.ConnectorID),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -106,7 +105,7 @@ func (d *DatabaseRepository) Delete(ctx context.Context, request *nodedatabase.D
|
||||||
DatabaseID: databaseInfoID,
|
DatabaseID: databaseInfoID,
|
||||||
OperateType: database.OperateType_Delete,
|
OperateType: database.OperateType_Delete,
|
||||||
TableType: tableType,
|
TableType: tableType,
|
||||||
UserID: strconv.FormatInt(request.UserID, 10),
|
UserID: request.UserID,
|
||||||
ConnectorID: ptr.Of(request.ConnectorID),
|
ConnectorID: ptr.Of(request.ConnectorID),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -142,7 +141,7 @@ func (d *DatabaseRepository) Query(ctx context.Context, request *nodedatabase.Qu
|
||||||
DatabaseID: databaseInfoID,
|
DatabaseID: databaseInfoID,
|
||||||
OperateType: database.OperateType_Select,
|
OperateType: database.OperateType_Select,
|
||||||
TableType: tableType,
|
TableType: tableType,
|
||||||
UserID: strconv.FormatInt(request.UserID, 10),
|
UserID: request.UserID,
|
||||||
ConnectorID: ptr.Of(request.ConnectorID),
|
ConnectorID: ptr.Of(request.ConnectorID),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -199,6 +198,7 @@ func (d *DatabaseRepository) Update(ctx context.Context, request *nodedatabase.U
|
||||||
OperateType: database.OperateType_Update,
|
OperateType: database.OperateType_Update,
|
||||||
SQLParams: make([]*database.SQLParamVal, 0),
|
SQLParams: make([]*database.SQLParamVal, 0),
|
||||||
TableType: tableType,
|
TableType: tableType,
|
||||||
|
UserID: request.UserID,
|
||||||
ConnectorID: ptr.Of(request.ConnectorID),
|
ConnectorID: ptr.Of(request.ConnectorID),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -246,7 +246,7 @@ func (d *DatabaseRepository) Insert(ctx context.Context, request *nodedatabase.I
|
||||||
DatabaseID: databaseInfoID,
|
DatabaseID: databaseInfoID,
|
||||||
OperateType: database.OperateType_Insert,
|
OperateType: database.OperateType_Insert,
|
||||||
TableType: tableType,
|
TableType: tableType,
|
||||||
UserID: strconv.FormatInt(request.UserID, 10),
|
UserID: request.UserID,
|
||||||
ConnectorID: ptr.Of(request.ConnectorID),
|
ConnectorID: ptr.Of(request.ConnectorID),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ type CustomSQLRequest struct {
|
||||||
SQL string
|
SQL string
|
||||||
Params []SQLParam
|
Params []SQLParam
|
||||||
IsDebugRun bool
|
IsDebugRun bool
|
||||||
UserID int64
|
UserID string
|
||||||
ConnectorID int64
|
ConnectorID int64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -91,7 +91,7 @@ type DeleteRequest struct {
|
||||||
DatabaseInfoID int64
|
DatabaseInfoID int64
|
||||||
ConditionGroup *ConditionGroup
|
ConditionGroup *ConditionGroup
|
||||||
IsDebugRun bool
|
IsDebugRun bool
|
||||||
UserID int64
|
UserID string
|
||||||
ConnectorID int64
|
ConnectorID int64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -102,7 +102,7 @@ type QueryRequest struct {
|
||||||
ConditionGroup *ConditionGroup
|
ConditionGroup *ConditionGroup
|
||||||
OrderClauses []*OrderClause
|
OrderClauses []*OrderClause
|
||||||
IsDebugRun bool
|
IsDebugRun bool
|
||||||
UserID int64
|
UserID string
|
||||||
ConnectorID int64
|
ConnectorID int64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -115,7 +115,7 @@ type UpdateRequest struct {
|
||||||
ConditionGroup *ConditionGroup
|
ConditionGroup *ConditionGroup
|
||||||
Fields map[string]any
|
Fields map[string]any
|
||||||
IsDebugRun bool
|
IsDebugRun bool
|
||||||
UserID int64
|
UserID string
|
||||||
ConnectorID int64
|
ConnectorID int64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -123,7 +123,7 @@ type InsertRequest struct {
|
||||||
DatabaseInfoID int64
|
DatabaseInfoID int64
|
||||||
Fields map[string]any
|
Fields map[string]any
|
||||||
IsDebugRun bool
|
IsDebugRun bool
|
||||||
UserID int64
|
UserID string
|
||||||
ConnectorID int64
|
ConnectorID int64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -415,12 +415,16 @@ func isDebugExecute(ctx context.Context) bool {
|
||||||
return execCtx.RootCtx.ExeCfg.Mode == vo.ExecuteModeDebug || execCtx.RootCtx.ExeCfg.Mode == vo.ExecuteModeNodeDebug
|
return execCtx.RootCtx.ExeCfg.Mode == vo.ExecuteModeDebug || execCtx.RootCtx.ExeCfg.Mode == vo.ExecuteModeNodeDebug
|
||||||
}
|
}
|
||||||
|
|
||||||
func getExecUserID(ctx context.Context) int64 {
|
func getExecUserID(ctx context.Context) string {
|
||||||
execCtx := execute.GetExeCtx(ctx)
|
execCtx := execute.GetExeCtx(ctx)
|
||||||
if execCtx == nil {
|
if execCtx == nil {
|
||||||
panic(fmt.Errorf("unable to get exe context"))
|
panic(fmt.Errorf("unable to get exe context"))
|
||||||
}
|
}
|
||||||
return execCtx.RootCtx.ExeCfg.Operator
|
if execCtx.RootCtx.ExeCfg.AgentID != nil {
|
||||||
|
return execCtx.RootCtx.ExeCfg.ConnectorUID
|
||||||
|
}
|
||||||
|
uIDStr := strconv.FormatInt(execCtx.RootCtx.ExeCfg.Operator, 10)
|
||||||
|
return uIDStr
|
||||||
}
|
}
|
||||||
|
|
||||||
func getConnectorID(ctx context.Context) int64 {
|
func getConnectorID(ctx context.Context) int64 {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue