From aca435a71c8d8ab9bf06b81c44bcc340f441356e Mon Sep 17 00:00:00 2001 From: Aditya Choudhari Date: Mon, 26 Jan 2026 16:49:58 -0800 Subject: [PATCH 1/3] chore: init workflow stores --- apps/workspace-engine/oapi/openapi.json | 1 + .../oapi/spec/schemas/workflows.jsonnet | 2 +- apps/workspace-engine/pkg/oapi/oapi.gen.go | 2 +- apps/workspace-engine/pkg/oapi/persistence.go | 16 ++++++++ .../store/repository/entity_registry.go | 4 ++ .../pkg/workspace/store/repository/repo.go | 11 ++++- .../pkg/workspace/store/store.go | 8 ++++ .../store/workflow_task_templates.go | 41 +++++++++++++++++++ .../pkg/workspace/store/workflow_tasks.go | 41 +++++++++++++++++++ .../pkg/workspace/store/workflow_templates.go | 41 +++++++++++++++++++ .../pkg/workspace/store/workflows.go | 41 +++++++++++++++++++ 11 files changed, 205 insertions(+), 3 deletions(-) create mode 100644 apps/workspace-engine/pkg/workspace/store/workflow_task_templates.go create mode 100644 apps/workspace-engine/pkg/workspace/store/workflow_tasks.go create mode 100644 apps/workspace-engine/pkg/workspace/store/workflow_templates.go create mode 100644 apps/workspace-engine/pkg/workspace/store/workflows.go diff --git a/apps/workspace-engine/oapi/openapi.json b/apps/workspace-engine/oapi/openapi.json index 46be2bcb2..3a8b42989 100644 --- a/apps/workspace-engine/oapi/openapi.json +++ b/apps/workspace-engine/oapi/openapi.json @@ -2447,6 +2447,7 @@ } }, "required": [ + "id", "name", "jobAgent" ], diff --git a/apps/workspace-engine/oapi/spec/schemas/workflows.jsonnet b/apps/workspace-engine/oapi/spec/schemas/workflows.jsonnet index 9d8230ed6..d6db55869 100644 --- a/apps/workspace-engine/oapi/spec/schemas/workflows.jsonnet +++ b/apps/workspace-engine/oapi/spec/schemas/workflows.jsonnet @@ -3,7 +3,7 @@ local openapi = import '../lib/openapi.libsonnet'; { WorkflowTaskTemplate: { type: 'object', - required: ['name', 'jobAgent'], + required: ['id', 'name', 'jobAgent'], properties: { name: { type: 'string' }, id: { type: 'string' }, diff --git a/apps/workspace-engine/pkg/oapi/oapi.gen.go b/apps/workspace-engine/pkg/oapi/oapi.gen.go index f93ecf8df..e54e92fbc 100644 --- a/apps/workspace-engine/pkg/oapi/oapi.gen.go +++ b/apps/workspace-engine/pkg/oapi/oapi.gen.go @@ -1308,7 +1308,7 @@ type WorkflowTask struct { // WorkflowTaskTemplate defines model for WorkflowTaskTemplate. type WorkflowTaskTemplate struct { - Id *string `json:"id,omitempty"` + Id string `json:"id"` JobAgent struct { Config map[string]interface{} `json:"config"` Id string `json:"id"` diff --git a/apps/workspace-engine/pkg/oapi/persistence.go b/apps/workspace-engine/pkg/oapi/persistence.go index 0429bfe5f..9c6325e71 100644 --- a/apps/workspace-engine/pkg/oapi/persistence.go +++ b/apps/workspace-engine/pkg/oapi/persistence.go @@ -72,3 +72,19 @@ func (dvv *DeploymentVariableValue) CompactionKey() (string, string) { func (jv *JobVerification) CompactionKey() (string, string) { return "job_verification", jv.Id } + +func (wt *WorkflowTemplate) CompactionKey() (string, string) { + return "workflow_template", wt.Id +} + +func (wtt *WorkflowTaskTemplate) CompactionKey() (string, string) { + return "workflow_task_template", wtt.Id +} + +func (w *Workflow) CompactionKey() (string, string) { + return "workflow", w.Id +} + +func (wt *WorkflowTask) CompactionKey() (string, string) { + return "workflow_task", wt.Id +} diff --git a/apps/workspace-engine/pkg/workspace/store/repository/entity_registry.go b/apps/workspace-engine/pkg/workspace/store/repository/entity_registry.go index d8760f323..9cafd7be1 100644 --- a/apps/workspace-engine/pkg/workspace/store/repository/entity_registry.go +++ b/apps/workspace-engine/pkg/workspace/store/repository/entity_registry.go @@ -36,6 +36,10 @@ func initGlobalRegistry() { globalRegistry.Register("relationship_rule", func() persistence.Entity { return &oapi.RelationshipRule{} }) globalRegistry.Register("github_entity", func() persistence.Entity { return &oapi.GithubEntity{} }) globalRegistry.Register("job_verification", func() persistence.Entity { return &oapi.JobVerification{} }) + globalRegistry.Register("workflow_template", func() persistence.Entity { return &oapi.WorkflowTemplate{} }) + globalRegistry.Register("workflow_task_template", func() persistence.Entity { return &oapi.WorkflowTaskTemplate{} }) + globalRegistry.Register("workflow", func() persistence.Entity { return &oapi.Workflow{} }) + globalRegistry.Register("workflow_task", func() persistence.Entity { return &oapi.WorkflowTask{} }) }) } diff --git a/apps/workspace-engine/pkg/workspace/store/repository/repo.go b/apps/workspace-engine/pkg/workspace/store/repository/repo.go index 4f84bb8fa..ef31fb005 100644 --- a/apps/workspace-engine/pkg/workspace/store/repository/repo.go +++ b/apps/workspace-engine/pkg/workspace/store/repository/repo.go @@ -29,7 +29,7 @@ func createMemDBStore[E persistence.Entity](router *persistence.RepositoryRouter _, key := keyer.CompactionKey() return key } - return indexstore.NewStore[E](db, entityType, fn) + return indexstore.NewStore(db, entityType, fn) } func New(wsId string) *InMemoryStore { @@ -61,6 +61,10 @@ func New(wsId string) *InMemoryStore { UserApprovalRecords: createTypedStore[*oapi.UserApprovalRecord](router, "user_approval_record"), RelationshipRules: createTypedStore[*oapi.RelationshipRule](router, "relationship_rule"), GithubEntities: createTypedStore[*oapi.GithubEntity](router, "github_entity"), + WorkflowTemplates: createTypedStore[*oapi.WorkflowTemplate](router, "workflow_template"), + WorkflowTaskTemplates: createTypedStore[*oapi.WorkflowTaskTemplate](router, "workflow_task_template"), + Workflows: createTypedStore[*oapi.Workflow](router, "workflow"), + WorkflowTasks: createTypedStore[*oapi.WorkflowTask](router, "workflow_task"), } } @@ -93,6 +97,11 @@ type InMemoryStore struct { GithubEntities cmap.ConcurrentMap[string, *oapi.GithubEntity] UserApprovalRecords cmap.ConcurrentMap[string, *oapi.UserApprovalRecord] RelationshipRules cmap.ConcurrentMap[string, *oapi.RelationshipRule] + + WorkflowTemplates cmap.ConcurrentMap[string, *oapi.WorkflowTemplate] + WorkflowTaskTemplates cmap.ConcurrentMap[string, *oapi.WorkflowTaskTemplate] + Workflows cmap.ConcurrentMap[string, *oapi.Workflow] + WorkflowTasks cmap.ConcurrentMap[string, *oapi.WorkflowTask] } func (s *InMemoryStore) Router() *persistence.RepositoryRouter { diff --git a/apps/workspace-engine/pkg/workspace/store/store.go b/apps/workspace-engine/pkg/workspace/store/store.go index 0e376f288..ef8afb0d4 100644 --- a/apps/workspace-engine/pkg/workspace/store/store.go +++ b/apps/workspace-engine/pkg/workspace/store/store.go @@ -35,6 +35,10 @@ func New(wsId string, changeset *statechange.ChangeSet[any]) *Store { store.GithubEntities = NewGithubEntities(store) store.Relations = NewRelations(store) store.JobVerifications = NewJobVerifications(store) + store.WorkflowTemplates = NewWorkflowTemplates(store) + store.WorkflowTaskTemplates = NewWorkflowTaskTemplates(store) + store.Workflows = NewWorkflows(store) + store.WorkflowTasks = NewWorkflowTasks(store) return store } @@ -65,6 +69,10 @@ type Store struct { GithubEntities *GithubEntities Relations *Relations JobVerifications *JobVerifications + WorkflowTemplates *WorkflowTemplates + WorkflowTaskTemplates *WorkflowTaskTemplates + Workflows *Workflows + WorkflowTasks *WorkflowTasks } func (s *Store) ID() string { diff --git a/apps/workspace-engine/pkg/workspace/store/workflow_task_templates.go b/apps/workspace-engine/pkg/workspace/store/workflow_task_templates.go new file mode 100644 index 000000000..59232c30c --- /dev/null +++ b/apps/workspace-engine/pkg/workspace/store/workflow_task_templates.go @@ -0,0 +1,41 @@ +package store + +import ( + "context" + "workspace-engine/pkg/oapi" + "workspace-engine/pkg/workspace/store/repository" +) + +func NewWorkflowTaskTemplates(store *Store) *WorkflowTaskTemplates { + return &WorkflowTaskTemplates{ + repo: store.repo, + store: store, + } +} + +type WorkflowTaskTemplates struct { + repo *repository.InMemoryStore + store *Store +} + +func (w *WorkflowTaskTemplates) Items() map[string]*oapi.WorkflowTaskTemplate { + return w.repo.WorkflowTaskTemplates.Items() +} + +func (w *WorkflowTaskTemplates) Get(id string) (*oapi.WorkflowTaskTemplate, bool) { + return w.repo.WorkflowTaskTemplates.Get(id) +} + +func (w *WorkflowTaskTemplates) Upsert(ctx context.Context, id string, workflowTaskTemplate *oapi.WorkflowTaskTemplate) { + w.repo.WorkflowTaskTemplates.Set(id, workflowTaskTemplate) + w.store.changeset.RecordUpsert(workflowTaskTemplate) +} + +func (w *WorkflowTaskTemplates) Remove(ctx context.Context, id string) { + workflowTaskTemplate, ok := w.repo.WorkflowTaskTemplates.Get(id) + if !ok || workflowTaskTemplate == nil { + return + } + w.repo.WorkflowTaskTemplates.Remove(id) + w.store.changeset.RecordDelete(workflowTaskTemplate) +} diff --git a/apps/workspace-engine/pkg/workspace/store/workflow_tasks.go b/apps/workspace-engine/pkg/workspace/store/workflow_tasks.go new file mode 100644 index 000000000..27112c050 --- /dev/null +++ b/apps/workspace-engine/pkg/workspace/store/workflow_tasks.go @@ -0,0 +1,41 @@ +package store + +import ( + "context" + "workspace-engine/pkg/oapi" + "workspace-engine/pkg/workspace/store/repository" +) + +func NewWorkflowTasks(store *Store) *WorkflowTasks { + return &WorkflowTasks{ + repo: store.repo, + store: store, + } +} + +type WorkflowTasks struct { + repo *repository.InMemoryStore + store *Store +} + +func (w *WorkflowTasks) Items() map[string]*oapi.WorkflowTask { + return w.repo.WorkflowTasks.Items() +} + +func (w *WorkflowTasks) Get(id string) (*oapi.WorkflowTask, bool) { + return w.repo.WorkflowTasks.Get(id) +} + +func (w *WorkflowTasks) Upsert(ctx context.Context, id string, workflowTask *oapi.WorkflowTask) { + w.repo.WorkflowTasks.Set(id, workflowTask) + w.store.changeset.RecordUpsert(workflowTask) +} + +func (w *WorkflowTasks) Remove(ctx context.Context, id string) { + workflowTask, ok := w.repo.WorkflowTasks.Get(id) + if !ok || workflowTask == nil { + return + } + w.repo.WorkflowTasks.Remove(id) + w.store.changeset.RecordDelete(workflowTask) +} diff --git a/apps/workspace-engine/pkg/workspace/store/workflow_templates.go b/apps/workspace-engine/pkg/workspace/store/workflow_templates.go new file mode 100644 index 000000000..28351a995 --- /dev/null +++ b/apps/workspace-engine/pkg/workspace/store/workflow_templates.go @@ -0,0 +1,41 @@ +package store + +import ( + "context" + "workspace-engine/pkg/oapi" + "workspace-engine/pkg/workspace/store/repository" +) + +func NewWorkflowTemplates(store *Store) *WorkflowTemplates { + return &WorkflowTemplates{ + repo: store.repo, + store: store, + } +} + +type WorkflowTemplates struct { + repo *repository.InMemoryStore + store *Store +} + +func (w *WorkflowTemplates) Items() map[string]*oapi.WorkflowTemplate { + return w.repo.WorkflowTemplates.Items() +} + +func (w *WorkflowTemplates) Get(id string) (*oapi.WorkflowTemplate, bool) { + return w.repo.WorkflowTemplates.Get(id) +} + +func (w *WorkflowTemplates) Upsert(ctx context.Context, id string, workflowTemplate *oapi.WorkflowTemplate) { + w.repo.WorkflowTemplates.Set(id, workflowTemplate) + w.store.changeset.RecordUpsert(workflowTemplate) +} + +func (w *WorkflowTemplates) Remove(ctx context.Context, id string) { + workflowTemplate, ok := w.repo.WorkflowTemplates.Get(id) + if !ok || workflowTemplate == nil { + return + } + w.repo.WorkflowTemplates.Remove(id) + w.store.changeset.RecordDelete(workflowTemplate) +} diff --git a/apps/workspace-engine/pkg/workspace/store/workflows.go b/apps/workspace-engine/pkg/workspace/store/workflows.go new file mode 100644 index 000000000..27b291585 --- /dev/null +++ b/apps/workspace-engine/pkg/workspace/store/workflows.go @@ -0,0 +1,41 @@ +package store + +import ( + "context" + "workspace-engine/pkg/oapi" + "workspace-engine/pkg/workspace/store/repository" +) + +func NewWorkflows(store *Store) *Workflows { + return &Workflows{ + repo: store.repo, + store: store, + } +} + +type Workflows struct { + repo *repository.InMemoryStore + store *Store +} + +func (w *Workflows) Items() map[string]*oapi.Workflow { + return w.repo.Workflows.Items() +} + +func (w *Workflows) Get(id string) (*oapi.Workflow, bool) { + return w.repo.Workflows.Get(id) +} + +func (w *Workflows) Upsert(ctx context.Context, id string, workflow *oapi.Workflow) { + w.repo.Workflows.Set(id, workflow) + w.store.changeset.RecordUpsert(workflow) +} + +func (w *Workflows) Remove(ctx context.Context, id string) { + workflow, ok := w.repo.Workflows.Get(id) + if !ok || workflow == nil { + return + } + w.repo.Workflows.Remove(id) + w.store.changeset.RecordDelete(workflow) +} From bf3fe88e0519d049aa59fe45e7159663fef72d26 Mon Sep 17 00:00:00 2001 From: Aditya Choudhari Date: Tue, 27 Jan 2026 10:07:00 -0800 Subject: [PATCH 2/3] rename --- apps/workspace-engine/pkg/oapi/persistence.go | 8 ++++---- .../pkg/workspace/store/repository/entity_registry.go | 4 ++-- .../pkg/workspace/store/repository/repo.go | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/workspace-engine/pkg/oapi/persistence.go b/apps/workspace-engine/pkg/oapi/persistence.go index 9c6325e71..9e9d722d1 100644 --- a/apps/workspace-engine/pkg/oapi/persistence.go +++ b/apps/workspace-engine/pkg/oapi/persistence.go @@ -77,14 +77,14 @@ func (wt *WorkflowTemplate) CompactionKey() (string, string) { return "workflow_template", wt.Id } -func (wtt *WorkflowTaskTemplate) CompactionKey() (string, string) { - return "workflow_task_template", wtt.Id +func (wtt *WorkflowStepTemplate) CompactionKey() (string, string) { + return "workflow_step_template", wtt.Id } func (w *Workflow) CompactionKey() (string, string) { return "workflow", w.Id } -func (wt *WorkflowTask) CompactionKey() (string, string) { - return "workflow_task", wt.Id +func (wt *WorkflowStep) CompactionKey() (string, string) { + return "workflow_step", wt.Id } diff --git a/apps/workspace-engine/pkg/workspace/store/repository/entity_registry.go b/apps/workspace-engine/pkg/workspace/store/repository/entity_registry.go index 9cafd7be1..b28bde080 100644 --- a/apps/workspace-engine/pkg/workspace/store/repository/entity_registry.go +++ b/apps/workspace-engine/pkg/workspace/store/repository/entity_registry.go @@ -37,9 +37,9 @@ func initGlobalRegistry() { globalRegistry.Register("github_entity", func() persistence.Entity { return &oapi.GithubEntity{} }) globalRegistry.Register("job_verification", func() persistence.Entity { return &oapi.JobVerification{} }) globalRegistry.Register("workflow_template", func() persistence.Entity { return &oapi.WorkflowTemplate{} }) - globalRegistry.Register("workflow_task_template", func() persistence.Entity { return &oapi.WorkflowTaskTemplate{} }) + globalRegistry.Register("workflow_step_template", func() persistence.Entity { return &oapi.WorkflowStepTemplate{} }) globalRegistry.Register("workflow", func() persistence.Entity { return &oapi.Workflow{} }) - globalRegistry.Register("workflow_task", func() persistence.Entity { return &oapi.WorkflowTask{} }) + globalRegistry.Register("workflow_step", func() persistence.Entity { return &oapi.WorkflowStep{} }) }) } diff --git a/apps/workspace-engine/pkg/workspace/store/repository/repo.go b/apps/workspace-engine/pkg/workspace/store/repository/repo.go index ef31fb005..1e5a55d61 100644 --- a/apps/workspace-engine/pkg/workspace/store/repository/repo.go +++ b/apps/workspace-engine/pkg/workspace/store/repository/repo.go @@ -62,9 +62,9 @@ func New(wsId string) *InMemoryStore { RelationshipRules: createTypedStore[*oapi.RelationshipRule](router, "relationship_rule"), GithubEntities: createTypedStore[*oapi.GithubEntity](router, "github_entity"), WorkflowTemplates: createTypedStore[*oapi.WorkflowTemplate](router, "workflow_template"), - WorkflowTaskTemplates: createTypedStore[*oapi.WorkflowTaskTemplate](router, "workflow_task_template"), + WorkflowStepTemplates: createTypedStore[*oapi.WorkflowStepTemplate](router, "workflow_step_template"), Workflows: createTypedStore[*oapi.Workflow](router, "workflow"), - WorkflowTasks: createTypedStore[*oapi.WorkflowTask](router, "workflow_task"), + WorkflowSteps: createTypedStore[*oapi.WorkflowStep](router, "workflow_step"), } } @@ -99,9 +99,9 @@ type InMemoryStore struct { RelationshipRules cmap.ConcurrentMap[string, *oapi.RelationshipRule] WorkflowTemplates cmap.ConcurrentMap[string, *oapi.WorkflowTemplate] - WorkflowTaskTemplates cmap.ConcurrentMap[string, *oapi.WorkflowTaskTemplate] + WorkflowStepTemplates cmap.ConcurrentMap[string, *oapi.WorkflowStepTemplate] Workflows cmap.ConcurrentMap[string, *oapi.Workflow] - WorkflowTasks cmap.ConcurrentMap[string, *oapi.WorkflowTask] + WorkflowSteps cmap.ConcurrentMap[string, *oapi.WorkflowStep] } func (s *InMemoryStore) Router() *persistence.RepositoryRouter { From bf47de33f881d28814905c9b9ee25349bdc06dcf Mon Sep 17 00:00:00 2001 From: Aditya Choudhari Date: Tue, 27 Jan 2026 10:13:31 -0800 Subject: [PATCH 3/3] more cleanup --- .../pkg/workspace/store/store.go | 8 ++--- .../store/workflow_task_templates.go | 30 +++++++++---------- .../pkg/workspace/store/workflow_tasks.go | 30 +++++++++---------- .../pkg/workspace/store/workflow_templates.go | 4 +-- .../pkg/workspace/store/workflows.go | 4 +-- 5 files changed, 38 insertions(+), 38 deletions(-) diff --git a/apps/workspace-engine/pkg/workspace/store/store.go b/apps/workspace-engine/pkg/workspace/store/store.go index ef8afb0d4..b81ccb3fc 100644 --- a/apps/workspace-engine/pkg/workspace/store/store.go +++ b/apps/workspace-engine/pkg/workspace/store/store.go @@ -36,9 +36,9 @@ func New(wsId string, changeset *statechange.ChangeSet[any]) *Store { store.Relations = NewRelations(store) store.JobVerifications = NewJobVerifications(store) store.WorkflowTemplates = NewWorkflowTemplates(store) - store.WorkflowTaskTemplates = NewWorkflowTaskTemplates(store) + store.WorkflowStepTemplates = NewWorkflowStepTemplates(store) store.Workflows = NewWorkflows(store) - store.WorkflowTasks = NewWorkflowTasks(store) + store.WorkflowSteps = NewWorkflowSteps(store) return store } @@ -70,9 +70,9 @@ type Store struct { Relations *Relations JobVerifications *JobVerifications WorkflowTemplates *WorkflowTemplates - WorkflowTaskTemplates *WorkflowTaskTemplates + WorkflowStepTemplates *WorkflowStepTemplates Workflows *Workflows - WorkflowTasks *WorkflowTasks + WorkflowSteps *WorkflowSteps } func (s *Store) ID() string { diff --git a/apps/workspace-engine/pkg/workspace/store/workflow_task_templates.go b/apps/workspace-engine/pkg/workspace/store/workflow_task_templates.go index 59232c30c..dbf01f43f 100644 --- a/apps/workspace-engine/pkg/workspace/store/workflow_task_templates.go +++ b/apps/workspace-engine/pkg/workspace/store/workflow_task_templates.go @@ -6,36 +6,36 @@ import ( "workspace-engine/pkg/workspace/store/repository" ) -func NewWorkflowTaskTemplates(store *Store) *WorkflowTaskTemplates { - return &WorkflowTaskTemplates{ +func NewWorkflowStepTemplates(store *Store) *WorkflowStepTemplates { + return &WorkflowStepTemplates{ repo: store.repo, store: store, } } -type WorkflowTaskTemplates struct { +type WorkflowStepTemplates struct { repo *repository.InMemoryStore store *Store } -func (w *WorkflowTaskTemplates) Items() map[string]*oapi.WorkflowTaskTemplate { - return w.repo.WorkflowTaskTemplates.Items() +func (w *WorkflowStepTemplates) Items() map[string]*oapi.WorkflowStepTemplate { + return w.repo.WorkflowStepTemplates.Items() } -func (w *WorkflowTaskTemplates) Get(id string) (*oapi.WorkflowTaskTemplate, bool) { - return w.repo.WorkflowTaskTemplates.Get(id) +func (w *WorkflowStepTemplates) Get(id string) (*oapi.WorkflowStepTemplate, bool) { + return w.repo.WorkflowStepTemplates.Get(id) } -func (w *WorkflowTaskTemplates) Upsert(ctx context.Context, id string, workflowTaskTemplate *oapi.WorkflowTaskTemplate) { - w.repo.WorkflowTaskTemplates.Set(id, workflowTaskTemplate) - w.store.changeset.RecordUpsert(workflowTaskTemplate) +func (w *WorkflowStepTemplates) Upsert(ctx context.Context, workflowStepTemplate *oapi.WorkflowStepTemplate) { + w.repo.WorkflowStepTemplates.Set(workflowStepTemplate.Id, workflowStepTemplate) + w.store.changeset.RecordUpsert(workflowStepTemplate) } -func (w *WorkflowTaskTemplates) Remove(ctx context.Context, id string) { - workflowTaskTemplate, ok := w.repo.WorkflowTaskTemplates.Get(id) - if !ok || workflowTaskTemplate == nil { +func (w *WorkflowStepTemplates) Remove(ctx context.Context, id string) { + workflowStepTemplate, ok := w.repo.WorkflowStepTemplates.Get(id) + if !ok || workflowStepTemplate == nil { return } - w.repo.WorkflowTaskTemplates.Remove(id) - w.store.changeset.RecordDelete(workflowTaskTemplate) + w.repo.WorkflowStepTemplates.Remove(id) + w.store.changeset.RecordDelete(workflowStepTemplate) } diff --git a/apps/workspace-engine/pkg/workspace/store/workflow_tasks.go b/apps/workspace-engine/pkg/workspace/store/workflow_tasks.go index 27112c050..e662fc37f 100644 --- a/apps/workspace-engine/pkg/workspace/store/workflow_tasks.go +++ b/apps/workspace-engine/pkg/workspace/store/workflow_tasks.go @@ -6,36 +6,36 @@ import ( "workspace-engine/pkg/workspace/store/repository" ) -func NewWorkflowTasks(store *Store) *WorkflowTasks { - return &WorkflowTasks{ +func NewWorkflowSteps(store *Store) *WorkflowSteps { + return &WorkflowSteps{ repo: store.repo, store: store, } } -type WorkflowTasks struct { +type WorkflowSteps struct { repo *repository.InMemoryStore store *Store } -func (w *WorkflowTasks) Items() map[string]*oapi.WorkflowTask { - return w.repo.WorkflowTasks.Items() +func (w *WorkflowSteps) Items() map[string]*oapi.WorkflowStep { + return w.repo.WorkflowSteps.Items() } -func (w *WorkflowTasks) Get(id string) (*oapi.WorkflowTask, bool) { - return w.repo.WorkflowTasks.Get(id) +func (w *WorkflowSteps) Get(id string) (*oapi.WorkflowStep, bool) { + return w.repo.WorkflowSteps.Get(id) } -func (w *WorkflowTasks) Upsert(ctx context.Context, id string, workflowTask *oapi.WorkflowTask) { - w.repo.WorkflowTasks.Set(id, workflowTask) - w.store.changeset.RecordUpsert(workflowTask) +func (w *WorkflowSteps) Upsert(ctx context.Context, workflowStep *oapi.WorkflowStep) { + w.repo.WorkflowSteps.Set(workflowStep.Id, workflowStep) + w.store.changeset.RecordUpsert(workflowStep) } -func (w *WorkflowTasks) Remove(ctx context.Context, id string) { - workflowTask, ok := w.repo.WorkflowTasks.Get(id) - if !ok || workflowTask == nil { +func (w *WorkflowSteps) Remove(ctx context.Context, id string) { + workflowStep, ok := w.repo.WorkflowSteps.Get(id) + if !ok || workflowStep == nil { return } - w.repo.WorkflowTasks.Remove(id) - w.store.changeset.RecordDelete(workflowTask) + w.repo.WorkflowSteps.Remove(id) + w.store.changeset.RecordDelete(workflowStep) } diff --git a/apps/workspace-engine/pkg/workspace/store/workflow_templates.go b/apps/workspace-engine/pkg/workspace/store/workflow_templates.go index 28351a995..10e248dea 100644 --- a/apps/workspace-engine/pkg/workspace/store/workflow_templates.go +++ b/apps/workspace-engine/pkg/workspace/store/workflow_templates.go @@ -26,8 +26,8 @@ func (w *WorkflowTemplates) Get(id string) (*oapi.WorkflowTemplate, bool) { return w.repo.WorkflowTemplates.Get(id) } -func (w *WorkflowTemplates) Upsert(ctx context.Context, id string, workflowTemplate *oapi.WorkflowTemplate) { - w.repo.WorkflowTemplates.Set(id, workflowTemplate) +func (w *WorkflowTemplates) Upsert(ctx context.Context, workflowTemplate *oapi.WorkflowTemplate) { + w.repo.WorkflowTemplates.Set(workflowTemplate.Id, workflowTemplate) w.store.changeset.RecordUpsert(workflowTemplate) } diff --git a/apps/workspace-engine/pkg/workspace/store/workflows.go b/apps/workspace-engine/pkg/workspace/store/workflows.go index 27b291585..99a3b52e7 100644 --- a/apps/workspace-engine/pkg/workspace/store/workflows.go +++ b/apps/workspace-engine/pkg/workspace/store/workflows.go @@ -26,8 +26,8 @@ func (w *Workflows) Get(id string) (*oapi.Workflow, bool) { return w.repo.Workflows.Get(id) } -func (w *Workflows) Upsert(ctx context.Context, id string, workflow *oapi.Workflow) { - w.repo.Workflows.Set(id, workflow) +func (w *Workflows) Upsert(ctx context.Context, workflow *oapi.Workflow) { + w.repo.Workflows.Set(workflow.Id, workflow) w.store.changeset.RecordUpsert(workflow) }