feat(WHE-18): implement money, billing period, and typed domain ids

This commit is contained in:
2026-03-05 03:57:44 +04:00
parent ac1aa2765c
commit 1fda4bfc14
9 changed files with 632 additions and 1 deletions

View File

@@ -0,0 +1,19 @@
export class DomainError extends Error {
readonly code: string
constructor(code: string, message: string) {
super(message)
this.name = 'DomainError'
this.code = code
}
}
export const DOMAIN_ERROR_CODE = {
INVALID_MONEY_AMOUNT: 'INVALID_MONEY_AMOUNT',
INVALID_MONEY_MAJOR_FORMAT: 'INVALID_MONEY_MAJOR_FORMAT',
CURRENCY_MISMATCH: 'CURRENCY_MISMATCH',
INVALID_SPLIT_PARTS: 'INVALID_SPLIT_PARTS',
INVALID_SPLIT_WEIGHTS: 'INVALID_SPLIT_WEIGHTS',
INVALID_BILLING_PERIOD: 'INVALID_BILLING_PERIOD',
INVALID_ENTITY_ID: 'INVALID_ENTITY_ID'
} as const