mirror of
https://github.com/hanzo-fi/stack.git
synced 2026-10-30 20:34:43 +00:00
75 lines
2.1 KiB
Go
75 lines
2.1 KiB
Go
package bus
|
|
|
|
import (
|
|
ledger "github.com/formancehq/ledger/internal"
|
|
"github.com/formancehq/ledger/pkg/events"
|
|
"github.com/formancehq/stack/libs/go-libs/metadata"
|
|
"github.com/formancehq/stack/libs/go-libs/publish"
|
|
)
|
|
|
|
type CommittedTransactions struct {
|
|
Ledger string `json:"ledger"`
|
|
Transactions []ledger.Transaction `json:"transactions"`
|
|
AccountMetadata map[string]metadata.Metadata `json:"accountMetadata"`
|
|
}
|
|
|
|
func newEventCommittedTransactions(txs CommittedTransactions) publish.EventMessage {
|
|
return publish.EventMessage{
|
|
Date: ledger.Now().Time,
|
|
App: events.EventApp,
|
|
Version: events.EventVersion,
|
|
Type: events.EventTypeCommittedTransactions,
|
|
Payload: txs,
|
|
}
|
|
}
|
|
|
|
type SavedMetadata struct {
|
|
Ledger string `json:"ledger"`
|
|
TargetType string `json:"targetType"`
|
|
TargetID string `json:"targetId"`
|
|
Metadata metadata.Metadata `json:"metadata"`
|
|
}
|
|
|
|
func newEventSavedMetadata(metadata SavedMetadata) publish.EventMessage {
|
|
return publish.EventMessage{
|
|
Date: ledger.Now().Time,
|
|
App: events.EventApp,
|
|
Version: events.EventVersion,
|
|
Type: events.EventTypeSavedMetadata,
|
|
Payload: metadata,
|
|
}
|
|
}
|
|
|
|
type RevertedTransaction struct {
|
|
Ledger string `json:"ledger"`
|
|
RevertedTransaction ledger.Transaction `json:"revertedTransaction"`
|
|
RevertTransaction ledger.Transaction `json:"revertTransaction"`
|
|
}
|
|
|
|
func newEventRevertedTransaction(tx RevertedTransaction) publish.EventMessage {
|
|
return publish.EventMessage{
|
|
Date: ledger.Now().Time,
|
|
App: events.EventApp,
|
|
Version: events.EventVersion,
|
|
Type: events.EventTypeRevertedTransaction,
|
|
Payload: tx,
|
|
}
|
|
}
|
|
|
|
type DeletedMetadata struct {
|
|
Ledger string `json:"ledger"`
|
|
TargetType string `json:"targetType"`
|
|
TargetID any `json:"targetId"`
|
|
Key string `json:"key"`
|
|
}
|
|
|
|
func newEventDeletedMetadata(tx DeletedMetadata) publish.EventMessage {
|
|
return publish.EventMessage{
|
|
Date: ledger.Now().Time,
|
|
App: events.EventApp,
|
|
Version: events.EventVersion,
|
|
Type: events.EventTypeDeletedMetadata,
|
|
Payload: tx,
|
|
}
|
|
}
|