File size: 4,584 Bytes
cee2387 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | package ledger
import "github.com/openmeterio/openmeter/pkg/models"
// TODO: Better names and codes
const ErrCodeInvalidTransactionTotal models.ErrorCode = "invalid_transaction_total"
var ErrInvalidTransactionTotal = models.NewValidationIssue(
ErrCodeInvalidTransactionTotal,
"transaction total is invalid, credits and debits must sum to 0",
)
var ErrCodeLedgerQueryInvalid models.ErrorCode = "ledger_query_invalid"
var ErrLedgerQueryInvalid = models.NewValidationIssue(
ErrCodeLedgerQueryInvalid,
"ledger query is invalid",
)
const ErrCodeCurrencyInvalid models.ErrorCode = "ledger_currency_invalid"
var ErrCurrencyInvalid = models.NewValidationIssue(
ErrCodeCurrencyInvalid,
"ledger currency is invalid",
)
const ErrCodeCreditPriorityInvalid models.ErrorCode = "ledger_credit_priority_invalid"
var ErrCreditPriorityInvalid = models.NewValidationIssue(
ErrCodeCreditPriorityInvalid,
"ledger credit priority is invalid",
)
const ErrCodeCostBasisInvalid models.ErrorCode = "ledger_cost_basis_invalid"
var ErrCostBasisInvalid = models.NewValidationIssue(
ErrCodeCostBasisInvalid,
"ledger cost basis is invalid",
)
const ErrCodeTransactionAuthorizationStatusInvalid models.ErrorCode = "ledger_transaction_authorization_status_invalid"
var ErrTransactionAuthorizationStatusInvalid = models.NewValidationIssue(
ErrCodeTransactionAuthorizationStatusInvalid,
"ledger transaction authorization status is invalid",
)
const ErrCodeTransactionAmountInvalid models.ErrorCode = "ledger_transaction_amount_invalid"
var ErrTransactionAmountInvalid = models.NewValidationIssue(
ErrCodeTransactionAmountInvalid,
"ledger transaction amount is invalid",
)
const ErrCodeRoutingKeyVersionInvalid models.ErrorCode = "ledger_routing_key_version_invalid"
var ErrRoutingKeyVersionInvalid = models.NewValidationIssue(
ErrCodeRoutingKeyVersionInvalid,
"ledger routing key version is invalid",
)
const ErrCodeRoutingKeyVersionUnsupported models.ErrorCode = "ledger_routing_key_version_unsupported"
var ErrRoutingKeyVersionUnsupported = models.NewValidationIssue(
ErrCodeRoutingKeyVersionUnsupported,
"ledger routing key version is unsupported",
)
const ErrCodeResolutionScopeInvalid models.ErrorCode = "ledger_resolution_scope_invalid"
var ErrResolutionScopeInvalid = models.NewValidationIssue(
ErrCodeResolutionScopeInvalid,
"ledger resolution scope is invalid",
)
const ErrCodeResolutionTemplateUnknown models.ErrorCode = "ledger_resolution_template_unknown"
var ErrResolutionTemplateUnknown = models.NewValidationIssue(
ErrCodeResolutionTemplateUnknown,
"ledger transaction template type is unknown",
)
const ErrCodeCustomerAccountMissing models.ErrorCode = "ledger_customer_account_missing"
var ErrCustomerAccountMissing = models.NewValidationIssue(
ErrCodeCustomerAccountMissing,
"required customer ledger account is missing",
)
const ErrCodeBusinessAccountMissing models.ErrorCode = "ledger_business_account_missing"
var ErrBusinessAccountMissing = models.NewValidationIssue(
ErrCodeBusinessAccountMissing,
"required business ledger account is missing",
)
const ErrCodeTransactionInputRequired models.ErrorCode = "ledger_transaction_input_required"
var ErrTransactionInputRequired = models.NewValidationIssue(
ErrCodeTransactionInputRequired,
"transaction input is required",
)
const ErrCodeEntryInvalid models.ErrorCode = "ledger_entry_invalid"
var ErrEntryInvalid = models.NewValidationIssue(
ErrCodeEntryInvalid,
"ledger entry is invalid",
)
const ErrCodeAddressInvalid models.ErrorCode = "ledger_address_invalid"
var ErrAddressInvalid = models.NewValidationIssue(
ErrCodeAddressInvalid,
"ledger posting address is invalid",
)
const ErrCodeListTransactionsInputInvalid models.ErrorCode = "ledger_list_transactions_input_invalid"
var ErrListTransactionsInputInvalid = models.NewValidationIssue(
ErrCodeListTransactionsInputInvalid,
"ledger list transactions input is invalid",
)
const ErrCodeTransactionGroupEmpty models.ErrorCode = "ledger_transaction_group_empty"
var ErrTransactionGroupEmpty = models.NewValidationIssue(
ErrCodeTransactionGroupEmpty,
"ledger transaction group must contain at least one transaction",
)
const ErrCodeRoutingRuleViolated models.ErrorCode = "ledger_routing_rule_violated"
var ErrRoutingRuleViolated = models.NewValidationIssue(
ErrCodeRoutingRuleViolated,
"ledger routing rule violated",
)
const ErrCodeTaxBehaviorInvalid models.ErrorCode = "ledger_tax_behavior_invalid"
var ErrTaxBehaviorInvalid = models.NewValidationIssue(
ErrCodeTaxBehaviorInvalid,
"ledger tax behavior is invalid",
)
|