Skip to content

Commit 7f76692

Browse files
committed
chore: use const for event types
1 parent c831a25 commit 7f76692

File tree

6 files changed

+21
-12
lines changed

6 files changed

+21
-12
lines changed

internal/connectors/engine/activities/outbox_publisher.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,18 +45,17 @@ func (a Activities) OutboxPublishPendingEvents(ctx context.Context, limit int) e
4545
return nil
4646
}
4747

48-
// todo use consts
4948
func (a Activities) processOutboxEvent(ctx context.Context, event models.OutboxEvent) error {
5049
switch event.EventType {
51-
case "account.saved":
50+
case models.OUTBOX_EVENT_ACCOUNT_SAVED:
5251
return a.publishAccountEvent(ctx, event)
53-
case "balance.saved":
52+
case models.OUTBOX_EVENT_BALANCE_SAVED:
5453
return a.publishBalanceEvent(ctx, event)
55-
case "payment.saved":
54+
case models.OUTBOX_EVENT_PAYMENT_SAVED:
5655
return a.publishPaymentEvent(ctx, event)
57-
case "payment.deleted":
56+
case models.OUTBOX_EVENT_PAYMENT_DELETED:
5857
return a.publishPaymentDeletedEvent(ctx, event)
59-
case "bank_account.saved":
58+
case models.OUTBOX_EVENT_BANK_ACCOUNT_SAVED:
6059
return a.publishBankAccountEvent(ctx, event)
6160
default:
6261
return fmt.Errorf("unknown event type: %s", event.EventType)

internal/models/outbox.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,15 @@ const (
1414
OUTBOX_STATUS_FAILED OutboxEventStatus = "failed"
1515
)
1616

17+
// Outbox event type constants
18+
const (
19+
OUTBOX_EVENT_ACCOUNT_SAVED = "account.saved"
20+
OUTBOX_EVENT_BALANCE_SAVED = "balance.saved"
21+
OUTBOX_EVENT_PAYMENT_SAVED = "payment.saved"
22+
OUTBOX_EVENT_PAYMENT_DELETED = "payment.deleted"
23+
OUTBOX_EVENT_BANK_ACCOUNT_SAVED = "bank_account.saved"
24+
)
25+
1726
const MaxOutboxRetries = 5
1827

1928
type OutboxEvent struct {

internal/storage/accounts.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ func (s *store) AccountsUpsert(ctx context.Context, accounts []models.Account) e
110110

111111
cid := account.ConnectorID
112112
outboxEvent := models.OutboxEvent{
113-
EventType: "account.saved",
113+
EventType: models.OUTBOX_EVENT_ACCOUNT_SAVED,
114114
EntityID: account.ID.String(),
115115
Payload: payloadBytes,
116116
CreatedAt: time.Now().UTC().Time,

internal/storage/balances.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ func (s *store) BalancesUpsert(ctx context.Context, balances []models.Balance) e
8181
}
8282

8383
outboxEvent := models.OutboxEvent{
84-
EventType: "balance.saved",
84+
EventType: models.OUTBOX_EVENT_BALANCE_SAVED,
8585
EntityID: balance.AccountID.String(),
8686
Payload: payloadBytes,
8787
CreatedAt: time.Now().UTC(),

internal/storage/bank_accounts.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ func (s *store) BankAccountsUpsert(ctx context.Context, ba models.BankAccount) e
146146
}
147147

148148
outboxEvent := models.OutboxEvent{
149-
EventType: "bank_account.saved",
149+
EventType: models.OUTBOX_EVENT_BANK_ACCOUNT_SAVED,
150150
EntityID: bankAccountModel.ID.String(),
151151
Payload: payloadBytes,
152152
CreatedAt: time.Now().UTC(),

internal/storage/payments.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ func (s *store) PaymentsUpsert(ctx context.Context, payments []models.Payment) e
231231
// Convert adjustment back to model to get idempotency key
232232
adjustmentModel := toPaymentAdjustmentModels(adj)
233233
outboxEvent := models.OutboxEvent{
234-
EventType: "payment.saved",
234+
EventType: models.OUTBOX_EVENT_PAYMENT_SAVED,
235235
EntityID: payment.ID.String(),
236236
Payload: payloadBytes,
237237
CreatedAt: time.Now().UTC(),
@@ -386,6 +386,7 @@ func (s *store) PaymentsDelete(ctx context.Context, id models.PaymentID) error {
386386
return e("failed to delete payment", err)
387387
}
388388

389+
// PaymentsDeleteFromReference TODO this deletion method is the only one emiting outbox events. Others did not either before using outbox events.
389390
func (s *store) PaymentsDeleteFromReference(ctx context.Context, reference string, connectorID models.ConnectorID) error {
390391
tx, err := s.db.BeginTx(ctx, &sql.TxOptions{})
391392
if err != nil {
@@ -437,13 +438,13 @@ func (s *store) PaymentsDeleteFromReference(ctx context.Context, reference strin
437438
}
438439

439440
outboxEvent := models.OutboxEvent{
440-
EventType: "payment.deleted",
441+
EventType: models.OUTBOX_EVENT_PAYMENT_DELETED,
441442
EntityID: paymentID.String(),
442443
Payload: payloadBytes,
443444
CreatedAt: time.Now().UTC(),
444445
Status: models.OUTBOX_STATUS_PENDING,
445446
ConnectorID: &connectorID,
446-
IdempotencyKey: fmt.Sprintf("delete:%s", paymentID.String()), // TODO this looks made up?
447+
IdempotencyKey: fmt.Sprintf("delete:%s", paymentID.String()),
447448
}
448449

449450
if err = s.OutboxEventsInsert(ctx, tx, []models.OutboxEvent{outboxEvent}); err != nil {

0 commit comments

Comments
 (0)