Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions mdl/backend/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,5 @@ type FullBackend interface {
PageMutationBackend
WorkflowMutationBackend
WidgetSerializationBackend
WidgetBuilderBackend
}
4 changes: 4 additions & 0 deletions mdl/backend/microflow.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ type MicroflowBackend interface {
DeleteMicroflow(id model.ID) error
MoveMicroflow(mf *microflows.Microflow) error

// ParseMicroflowFromRaw builds a Microflow from an already-unmarshalled
// BSON map. Used by diff-local and other callers that have raw map data.
ParseMicroflowFromRaw(raw map[string]any, unitID, containerID model.ID) *microflows.Microflow

ListNanoflows() ([]*microflows.Nanoflow, error)
GetNanoflow(id model.ID) (*microflows.Nanoflow, error)
CreateNanoflow(nf *microflows.Nanoflow) error
Expand Down
9 changes: 8 additions & 1 deletion mdl/backend/mock/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,8 @@ type MockBackend struct {
CreateMicroflowFunc func(mf *microflows.Microflow) error
UpdateMicroflowFunc func(mf *microflows.Microflow) error
DeleteMicroflowFunc func(id model.ID) error
MoveMicroflowFunc func(mf *microflows.Microflow) error
MoveMicroflowFunc func(mf *microflows.Microflow) error
ParseMicroflowFromRawFunc func(raw map[string]any, unitID, containerID model.ID) *microflows.Microflow
ListNanoflowsFunc func() ([]*microflows.Nanoflow, error)
GetNanoflowFunc func(id model.ID) (*microflows.Nanoflow, error)
CreateNanoflowFunc func(nf *microflows.Nanoflow) error
Expand Down Expand Up @@ -270,6 +271,12 @@ type MockBackend struct {
SerializeDataSourceFunc func(ds pages.DataSource) (any, error)
SerializeWorkflowActivityFunc func(a workflows.WorkflowActivity) (any, error)

// WidgetBuilderBackend
LoadWidgetTemplateFunc func(widgetID string, projectPath string) (backend.WidgetObjectBuilder, error)
SerializeWidgetToOpaqueFunc func(w pages.Widget) any
SerializeDataSourceToOpaqueFunc func(ds pages.DataSource) any
BuildCreateAttributeObjectFunc func(attributePath string, objectTypeID, propertyTypeID, valueTypeID string) (any, error)

// AgentEditorBackend
ListAgentEditorModelsFunc func() ([]*agenteditor.Model, error)
ListAgentEditorKnowledgeBasesFunc func() ([]*agenteditor.KnowledgeBase, error)
Expand Down
7 changes: 7 additions & 0 deletions mdl/backend/mock/mock_microflow.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,13 @@ func (m *MockBackend) MoveMicroflow(mf *microflows.Microflow) error {
return nil
}

func (m *MockBackend) ParseMicroflowFromRaw(raw map[string]any, unitID, containerID model.ID) *microflows.Microflow {
if m.ParseMicroflowFromRawFunc != nil {
return m.ParseMicroflowFromRawFunc(raw, unitID, containerID)
}
panic("mock ParseMicroflowFromRaw called but ParseMicroflowFromRawFunc is not set")
}

func (m *MockBackend) ListNanoflows() ([]*microflows.Nanoflow, error) {
if m.ListNanoflowsFunc != nil {
return m.ListNanoflowsFunc()
Expand Down
32 changes: 32 additions & 0 deletions mdl/backend/mock/mock_mutation.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,35 @@ func (m *MockBackend) SerializeWorkflowActivity(a workflows.WorkflowActivity) (a
}
return nil, nil
}

// ---------------------------------------------------------------------------
// WidgetBuilderBackend
// ---------------------------------------------------------------------------

func (m *MockBackend) LoadWidgetTemplate(widgetID string, projectPath string) (backend.WidgetObjectBuilder, error) {
if m.LoadWidgetTemplateFunc != nil {
return m.LoadWidgetTemplateFunc(widgetID, projectPath)
}
return nil, nil
}

func (m *MockBackend) SerializeWidgetToOpaque(w pages.Widget) any {
if m.SerializeWidgetToOpaqueFunc != nil {
return m.SerializeWidgetToOpaqueFunc(w)
}
return nil
}

func (m *MockBackend) SerializeDataSourceToOpaque(ds pages.DataSource) any {
if m.SerializeDataSourceToOpaqueFunc != nil {
return m.SerializeDataSourceToOpaqueFunc(ds)
}
return nil
}

func (m *MockBackend) BuildCreateAttributeObject(attributePath string, objectTypeID, propertyTypeID, valueTypeID string) (any, error) {
if m.BuildCreateAttributeObjectFunc != nil {
return m.BuildCreateAttributeObjectFunc(attributePath, objectTypeID, propertyTypeID, valueTypeID)
}
return nil, nil
}
15 changes: 9 additions & 6 deletions mdl/backend/mpr/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,9 @@ func (b *MprBackend) MoveMicroflow(mf *microflows.Microflow) error {
func (b *MprBackend) ListNanoflows() ([]*microflows.Nanoflow, error) {
return b.reader.ListNanoflows()
}
func (b *MprBackend) ParseMicroflowFromRaw(raw map[string]any, unitID, containerID model.ID) *microflows.Microflow {
return mpr.ParseMicroflowFromRaw(raw, unitID, containerID)
}
func (b *MprBackend) GetNanoflow(id model.ID) (*microflows.Nanoflow, error) {
return b.reader.GetNanoflow(id)
}
Expand Down Expand Up @@ -726,17 +729,17 @@ func (b *MprBackend) DeleteAgentEditorAgent(id string) error {
}

// ---------------------------------------------------------------------------
// PageMutationBackend
// PageMutationBackend — implemented in page_mutator.go
// ---------------------------------------------------------------------------

func (b *MprBackend) OpenPageForMutation(unitID model.ID) (backend.PageMutator, error) {
panic("MprBackend.OpenPageForMutation not yet implemented") // TODO: implement in PR #237
}
// OpenPageForMutation is implemented in page_mutator.go.

// ---------------------------------------------------------------------------
// WorkflowMutationBackend

// OpenWorkflowForMutation is implemented in workflow_mutator.go.
func (b *MprBackend) OpenWorkflowForMutation(unitID model.ID) (backend.WorkflowMutator, error) {
panic("MprBackend.OpenWorkflowForMutation not yet implemented") // TODO: implement in PR #237
return b.openWorkflowForMutation(unitID)
}

// ---------------------------------------------------------------------------
Expand All @@ -751,7 +754,7 @@ func (b *MprBackend) SerializeClientAction(a pages.ClientAction) (any, error) {
}

func (b *MprBackend) SerializeDataSource(ds pages.DataSource) (any, error) {
panic("MprBackend.SerializeDataSource not yet implemented") // TODO: implement in PR #237
return mpr.SerializeCustomWidgetDataSource(ds), nil
}

func (b *MprBackend) SerializeWorkflowActivity(a workflows.WorkflowActivity) (any, error) {
Expand Down
Loading
Loading