Skip to content

Commit d2799a3

Browse files
committed
Move metadata from core to its own package
1 parent 8e566f3 commit d2799a3

26 files changed

+89
-75
lines changed

internal/core/metadata.go renamed to backend/metadata/metadata.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package core
1+
package metadata
22

33
type WorkflowMetadata map[string]string
44

backend/mysql/mysql.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"time"
1313

1414
"github.com/cschleiden/go-workflows/backend"
15+
"github.com/cschleiden/go-workflows/backend/metadata"
1516
"github.com/cschleiden/go-workflows/converter"
1617
"github.com/cschleiden/go-workflows/internal/contextpropagation"
1718
"github.com/cschleiden/go-workflows/internal/core"
@@ -385,7 +386,7 @@ func (b *mysqlBackend) GetWorkflowTask(ctx context.Context) (*backend.WorkflowTa
385386
wfi = core.NewWorkflowInstance(instanceID, executionID)
386387
}
387388

388-
var metadata *core.WorkflowMetadata
389+
var metadata *metadata.WorkflowMetadata
389390
if metadataJson.Valid {
390391
if err := json.Unmarshal([]byte(metadataJson.String), &metadata); err != nil {
391392
return nil, fmt.Errorf("parsing workflow metadata: %w", err)

backend/redis/instance.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"time"
88

99
"github.com/cschleiden/go-workflows/backend"
10+
"github.com/cschleiden/go-workflows/backend/metadata"
1011
"github.com/cschleiden/go-workflows/internal/core"
1112
"github.com/cschleiden/go-workflows/internal/history"
1213
"github.com/cschleiden/go-workflows/workflow"
@@ -127,15 +128,15 @@ type instanceState struct {
127128
Instance *core.WorkflowInstance `json:"instance,omitempty"`
128129
State core.WorkflowInstanceState `json:"state,omitempty"`
129130

130-
Metadata *core.WorkflowMetadata `json:"metadata,omitempty"`
131+
Metadata *metadata.WorkflowMetadata `json:"metadata,omitempty"`
131132

132133
CreatedAt time.Time `json:"created_at,omitempty"`
133134
CompletedAt *time.Time `json:"completed_at,omitempty"`
134135

135136
LastSequenceID int64 `json:"last_sequence_id,omitempty"`
136137
}
137138

138-
func createInstanceP(ctx context.Context, p redis.Pipeliner, instance *core.WorkflowInstance, metadata *core.WorkflowMetadata, ignoreDuplicate bool) error {
139+
func createInstanceP(ctx context.Context, p redis.Pipeliner, instance *core.WorkflowInstance, metadata *metadata.WorkflowMetadata, ignoreDuplicate bool) error {
139140
key := instanceKey(instance)
140141

141142
createdAt := time.Now()

backend/sqlite/sqlite.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"time"
1313

1414
"github.com/cschleiden/go-workflows/backend"
15+
"github.com/cschleiden/go-workflows/backend/metadata"
1516
"github.com/cschleiden/go-workflows/converter"
1617
"github.com/cschleiden/go-workflows/internal/contextpropagation"
1718
"github.com/cschleiden/go-workflows/internal/core"
@@ -324,7 +325,7 @@ func (sb *sqliteBackend) GetWorkflowTask(ctx context.Context) (*backend.Workflow
324325
wfi = core.NewWorkflowInstance(instanceID, executionID)
325326
}
326327

327-
var metadata *core.WorkflowMetadata
328+
var metadata *metadata.WorkflowMetadata
328329
if metadataJson.Valid {
329330
if err := json.Unmarshal([]byte(metadataJson.String), &metadata); err != nil {
330331
return nil, fmt.Errorf("parsing workflow metadata: %w", err)

backend/tasks.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package backend
22

33
import (
4+
"github.com/cschleiden/go-workflows/backend/metadata"
45
"github.com/cschleiden/go-workflows/internal/core"
56
"github.com/cschleiden/go-workflows/internal/history"
67
)
@@ -14,7 +15,7 @@ type WorkflowTask struct {
1415

1516
WorkflowInstanceState core.WorkflowInstanceState
1617

17-
Metadata *core.WorkflowMetadata
18+
Metadata *metadata.WorkflowMetadata
1819

1920
// LastSequenceID is the sequence ID of the newest event in the workflow instances's history
2021
LastSequenceID int64

backend/test/backendtest.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"time"
88

99
"github.com/cschleiden/go-workflows/backend"
10+
"github.com/cschleiden/go-workflows/backend/metadata"
1011
"github.com/cschleiden/go-workflows/client"
1112
"github.com/cschleiden/go-workflows/diag"
1213
"github.com/cschleiden/go-workflows/internal/core"
@@ -233,7 +234,7 @@ func BackendTest(t *testing.T, setup func(options ...backend.BackendOption) Test
233234
startedEvent := history.NewHistoryEvent(1, time.Now(), history.EventType_WorkflowExecutionStarted, &history.ExecutionStartedAttributes{
234235
Name: "some-workflow",
235236
Inputs: []payload.Payload{},
236-
Metadata: &core.WorkflowMetadata{},
237+
Metadata: &metadata.WorkflowMetadata{},
237238
})
238239

239240
wfi := core.NewWorkflowInstance(uuid.NewString(), uuid.NewString())

internal/command/continueasnew.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package command
22

33
import (
44
"github.com/benbjohnson/clock"
5+
"github.com/cschleiden/go-workflows/backend/metadata"
56
"github.com/cschleiden/go-workflows/internal/core"
67
"github.com/cschleiden/go-workflows/internal/history"
78
"github.com/cschleiden/go-workflows/internal/payload"
@@ -13,14 +14,14 @@ type ContinueAsNewCommand struct {
1314

1415
Instance *core.WorkflowInstance
1516
Name string
16-
Metadata *core.WorkflowMetadata
17+
Metadata *metadata.WorkflowMetadata
1718
Inputs []payload.Payload
1819
Result payload.Payload
1920
}
2021

2122
var _ Command = (*ContinueAsNewCommand)(nil)
2223

23-
func NewContinueAsNewCommand(id int64, instance *core.WorkflowInstance, result payload.Payload, name string, metadata *core.WorkflowMetadata, inputs []payload.Payload) *ContinueAsNewCommand {
24+
func NewContinueAsNewCommand(id int64, instance *core.WorkflowInstance, result payload.Payload, name string, metadata *metadata.WorkflowMetadata, inputs []payload.Payload) *ContinueAsNewCommand {
2425
return &ContinueAsNewCommand{
2526
command: command{
2627
id: id,

internal/command/schedule_activity.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package command
22

33
import (
44
"github.com/benbjohnson/clock"
5-
"github.com/cschleiden/go-workflows/internal/core"
5+
"github.com/cschleiden/go-workflows/backend/metadata"
66
"github.com/cschleiden/go-workflows/internal/history"
77
"github.com/cschleiden/go-workflows/internal/payload"
88
)
@@ -12,12 +12,12 @@ type ScheduleActivityCommand struct {
1212

1313
Name string
1414
Inputs []payload.Payload
15-
Metadata *core.WorkflowMetadata
15+
Metadata *metadata.WorkflowMetadata
1616
}
1717

1818
var _ Command = (*ScheduleActivityCommand)(nil)
1919

20-
func NewScheduleActivityCommand(id int64, name string, inputs []payload.Payload, metadata *core.WorkflowMetadata) *ScheduleActivityCommand {
20+
func NewScheduleActivityCommand(id int64, name string, inputs []payload.Payload, metadata *metadata.WorkflowMetadata) *ScheduleActivityCommand {
2121
return &ScheduleActivityCommand{
2222
command: command{
2323
id: id,

internal/command/schedule_activity_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"testing"
55

66
"github.com/benbjohnson/clock"
7-
"github.com/cschleiden/go-workflows/internal/core"
7+
"github.com/cschleiden/go-workflows/backend/metadata"
88
"github.com/cschleiden/go-workflows/internal/history"
99
"github.com/cschleiden/go-workflows/internal/payload"
1010
"github.com/stretchr/testify/require"
@@ -37,7 +37,7 @@ func TestScheduleActivityCommand_StateTransitions(t *testing.T) {
3737
for _, tt := range tests {
3838
t.Run(tt.name, func(t *testing.T) {
3939
clock := clock.NewMock()
40-
cmd := NewScheduleActivityCommand(1, "activity", []payload.Payload{}, &core.WorkflowMetadata{})
40+
cmd := NewScheduleActivityCommand(1, "activity", []payload.Payload{}, &metadata.WorkflowMetadata{})
4141

4242
tt.f(t, cmd, clock)
4343
})

internal/command/schedule_subworkflow.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package command
22

33
import (
44
"github.com/benbjohnson/clock"
5+
"github.com/cschleiden/go-workflows/backend/metadata"
56
"github.com/cschleiden/go-workflows/internal/core"
67
"github.com/cschleiden/go-workflows/internal/history"
78
"github.com/cschleiden/go-workflows/internal/payload"
@@ -12,7 +13,7 @@ type ScheduleSubWorkflowCommand struct {
1213
cancelableCommand
1314

1415
Instance *core.WorkflowInstance
15-
Metadata *core.WorkflowMetadata
16+
Metadata *metadata.WorkflowMetadata
1617

1718
Name string
1819
Inputs []payload.Payload
@@ -21,7 +22,7 @@ type ScheduleSubWorkflowCommand struct {
2122
var _ CancelableCommand = (*ScheduleSubWorkflowCommand)(nil)
2223

2324
func NewScheduleSubWorkflowCommand(
24-
id int64, parentInstance *core.WorkflowInstance, subWorkflowInstanceID, name string, inputs []payload.Payload, metadata *core.WorkflowMetadata,
25+
id int64, parentInstance *core.WorkflowInstance, subWorkflowInstanceID, name string, inputs []payload.Payload, metadata *metadata.WorkflowMetadata,
2526
) *ScheduleSubWorkflowCommand {
2627
if subWorkflowInstanceID == "" {
2728
subWorkflowInstanceID = uuid.New().String()

0 commit comments

Comments
 (0)