Files
zeekay 7d727874d5 chore: rebrand Formance Payments -> Hanzo Payments (hanzo-fi)
- go.mod module path + all self-imports: github.com/formancehq/payments -> github.com/hanzo-fi/payments
  (1590 .go files / 3152 refs; 20 modules: root, pkg/client, pkg/domain, 18 ce/plugins).
  External dep kept: formancehq/go-libs.
- plugins: each ce/plugins/* consumed a *published* pkg/domain; added local
  'replace .../pkg/domain => ../../../pkg/domain' (consistent with root) so every
  standalone plugin module builds in-monorepo. compile-plugin.sh MOD var rebranded too.
- branding: README, LICENSE (dual MIT+EE; upstream copyright retained + Hanzo added),
  goreleaser (release images -> registry.hanzo.ai/hanzo-fi, OCI labels, homepage),
  proto go_package, renovate, speakeasy gen.yaml, connector-template *.gotpl.
- CI: removed Numary/Formance workflows + composite action; added canonical hanzo.yml +
  cicd.yml (hanzoai/ci, gated HANZO_CI_ENABLED) + secretless ci.yml (go build/vet).
- kept as data/compat keys: wire capability enums ALLOW_FORMANCE_*, generated SDK type
  client.Formance, domain field FormanceRedirectURL, OTEL_SERVICE_NAME, upstream base image.
- verified: go build ./... (default + -tags ee) + all 20 nested modules green.
2026-07-05 13:08:55 -07:00

76 lines
1.9 KiB
Go

package workflow
import (
"github.com/hanzo-fi/payments/internal/connectors/engine/activities"
"github.com/hanzo-fi/payments/pkg/domain/models"
errorsutils "github.com/hanzo-fi/payments/pkg/domain/errors"
"go.temporal.io/api/enums/v1"
"go.temporal.io/sdk/workflow"
)
func (w Workflow) updateTasksError(
ctx workflow.Context,
taskID models.TaskID,
connectorID *models.ConnectorID,
cause error,
) error {
cause = errorsutils.Cause(cause)
task := models.Task{
ID: taskID,
ConnectorID: connectorID,
Status: models.TASK_STATUS_FAILED,
UpdatedAt: workflow.Now(ctx).UTC(),
Error: cause,
}
return w.updateTask(ctx, task)
}
func (w Workflow) updateTaskSuccess(
ctx workflow.Context,
taskID models.TaskID,
connectorID *models.ConnectorID,
relatedObjectID string,
) error {
task := models.Task{
ID: taskID,
ConnectorID: connectorID,
Status: models.TASK_STATUS_SUCCEEDED,
UpdatedAt: workflow.Now(ctx).UTC(),
CreatedObjectID: &relatedObjectID,
}
return w.updateTask(ctx, task)
}
func (w Workflow) updateTask(ctx workflow.Context, task models.Task) error {
if err := activities.StorageTasksStore(
infiniteRetryContext(ctx),
task,
); err != nil {
return err
}
// Task events are now sent via outbox pattern in TasksUpsert
// (unless it's a rerun from a previous version, in which case:)
if !IsEventOutboxPatternEnabled(ctx) {
if err := workflow.ExecuteChildWorkflow(
workflow.WithChildOptions(
ctx,
workflow.ChildWorkflowOptions{
TaskQueue: w.getDefaultTaskQueue(),
ParentClosePolicy: enums.PARENT_CLOSE_POLICY_ABANDON,
SearchAttributes: w.SearchAttributes(ctx, task.ConnectorID),
},
),
RunSendEvents, //nolint:staticcheck // ignore deprecation
SendEvents{
Task: &task,
},
).Get(ctx, nil); err != nil {
return err
}
}
return nil
}