Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 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)
}
return nil
Comment thread
retran marked this conversation as resolved.
Outdated
}

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