Skip to content

3. Domain Interfaces (BIAN Service Domains) #4

@mrserverless

Description

@mrserverless
  • 3.1 Define domains/account.go interface
    • AccountService interface
    • RetrieveCurrentAccount(ctx context.Context, accountID string) (*models.Account, error)
    • RetrieveCurrentAccountBalance(ctx context.Context, accountID string) (*models.Balance, error)
    • Document BIAN alignment (Current Account Fulfillment service domain subset)
  • 3.2 Define domains/transaction.go interface
    • TransactionService interface
    • RetrievePaymentTransaction(ctx context.Context, transactionID string) (*models.Transaction, error)
    • RetrievePaymentTransactionHistory(ctx context.Context, accountID string, opts HistoryOptions) ([]*models.Transaction, error)
    • HistoryOptions struct (date range, limit, offset)
    • Document BIAN alignment (Payment Execution service domain subset)
  • 3.3 Define domains/balance.go interface
    • BalanceService interface
    • RetrieveAccountBalance(ctx context.Context, accountID string) ([]*models.Balance, error)
    • Document BIAN alignment (Account Balance Management subset)
  • 3.4 Define domains/consent.go interface
    • ConsentService interface
    • RetrieveConsent(ctx context.Context, consentID string) (*models.Consent, error)
    • RetrieveConsentStatus(ctx context.Context, consentID string) (models.ConsentStatus, error)
    • Document BIAN alignment (Customer Consent Management subset)
  • 3.5 Document interface contracts (godoc comments)
    • Expected behavior for each operation
    • Error conditions (not found, invalid input, internal errors)
    • Context cancellation handling

Source: openspec/changes/bootstrap-mvp-foundation/tasks.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions