Remove obsolete schema fields and share workflow traversal
This commit is contained in:
@@ -469,13 +469,6 @@ func emitItem(ctx context.Context, tx *sql.Tx, emit emitFunc, kind, id, actor st
|
||||
})
|
||||
}
|
||||
|
||||
func formatTimePtr(t *time.Time) any {
|
||||
if t == nil {
|
||||
return nil
|
||||
}
|
||||
return formatTime(*t)
|
||||
}
|
||||
|
||||
func parseTimePtr(s sql.NullString) (*time.Time, error) {
|
||||
if !s.Valid {
|
||||
return nil, nil
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
ALTER TABLE inbox_items DROP COLUMN priority;
|
||||
ALTER TABLE inbox_items DROP COLUMN blocking;
|
||||
ALTER TABLE inbox_items DROP COLUMN snoozed_until;
|
||||
ALTER TABLE inbox_responses DROP COLUMN snooze_until;
|
||||
ALTER TABLE agent_sessions DROP COLUMN workflow_stage;
|
||||
@@ -146,29 +146,13 @@ func TeamProblems(members []api.TeamMember) []string {
|
||||
}
|
||||
|
||||
func Ends(def api.WorkflowDefinition) []string {
|
||||
return ends(api.WorkflowStep{Order: &def.Steps})
|
||||
}
|
||||
|
||||
func ends(s api.WorkflowStep) []string {
|
||||
switch {
|
||||
case s.Order != nil:
|
||||
if len(*s.Order) == 0 {
|
||||
return []string{}
|
||||
}
|
||||
return ends((*s.Order)[len(*s.Order)-1])
|
||||
case s.Parallel != nil:
|
||||
out := []string{}
|
||||
for _, b := range *s.Parallel {
|
||||
out = append(out, ends(b)...)
|
||||
}
|
||||
return out
|
||||
}
|
||||
return []string{s.Stage}
|
||||
return build(def).ends
|
||||
}
|
||||
|
||||
type graph struct {
|
||||
stages []api.WorkflowStep
|
||||
after map[string][]string
|
||||
ends []string
|
||||
}
|
||||
|
||||
func (g *graph) walk(s api.WorkflowStep, before []string) []string {
|
||||
@@ -192,7 +176,7 @@ func (g *graph) walk(s api.WorkflowStep, before []string) []string {
|
||||
|
||||
func build(def api.WorkflowDefinition) graph {
|
||||
g := graph{after: map[string][]string{}}
|
||||
g.walk(api.WorkflowStep{Order: &def.Steps}, []string{})
|
||||
g.ends = g.walk(api.WorkflowStep{Order: &def.Steps}, []string{})
|
||||
return g
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user