Changeset 0.28.0.1 (#173)
This commit is contained in:
@@ -133,7 +133,7 @@ type WorkflowChannelStatus struct {
|
||||
CurrentStage int `json:"current_stage"`
|
||||
StageData json.RawMessage `json:"stage_data"`
|
||||
Status string `json:"status"`
|
||||
LastActivityAt *time.Time `json:"last_activity_at"`
|
||||
LastActivityAt *string `json:"last_activity_at"`
|
||||
}
|
||||
|
||||
// GetStatus returns the workflow state for a channel.
|
||||
@@ -391,19 +391,19 @@ func (h *WorkflowInstanceHandler) tryRoundRobin(ctx context.Context, stage model
|
||||
bestUserID = members[0].UserID // fallback to first member
|
||||
|
||||
rows, err := database.DB.QueryContext(ctx, database.Q(`
|
||||
SELECT m.user_id, MAX(wa.claimed_at) as last_claim
|
||||
SELECT m.user_id, COALESCE(MAX(wa.claimed_at), '1970-01-01T00:00:00Z') as last_claim
|
||||
FROM team_members m
|
||||
LEFT JOIN workflow_assignments wa ON wa.assigned_to = m.user_id AND wa.team_id = $1
|
||||
WHERE m.team_id = $2
|
||||
GROUP BY m.user_id
|
||||
ORDER BY last_claim ASC NULLS FIRST
|
||||
ORDER BY last_claim ASC
|
||||
LIMIT 1
|
||||
`), *stage.AssignmentTeamID, *stage.AssignmentTeamID)
|
||||
if err == nil {
|
||||
defer rows.Close()
|
||||
if rows.Next() {
|
||||
var uid string
|
||||
var lastClaim *time.Time
|
||||
var lastClaim string // COALESCE returns TEXT on both dialects
|
||||
if err := rows.Scan(&uid, &lastClaim); err == nil {
|
||||
bestUserID = uid
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user