Files
frontend/src/shared/api/problem-details.ts
T
ksv741 5b69003516
Frontend verify / commits (push) Skipped
Frontend verify / security (push) Successful in 11s
Frontend verify / verify (push) Successful in 9m31s
refactor: enforce enum machine codes #18
Use owner enums for known codes; preserve wire values and unknown fallbacks.

Verified npm ci and verify: 379 tests, 5 lint checks, app and Storybook builds.
2026-09-28 16:36:40 +03:00

31 lines
1.0 KiB
TypeScript

enum ApiErrorCode {
BankDependentRefunds = "BANK_DEPENDENT_REFUNDS",
BankIntentConflict = "BANK_INTENT_CONFLICT",
BankNotFound = "BANK_NOT_FOUND",
BankRefundLimit = "BANK_REFUND_LIMIT",
BankVersionConflict = "BANK_VERSION_CONFLICT",
BankWriteConflict = "BANK_WRITE_CONFLICT",
BondTickerAmbiguous = "BOND_TICKER_AMBIGUOUS",
Forbidden = "FORBIDDEN",
InvalidOperationsCursor = "INVALID_OPERATIONS_CURSOR",
InvalidTbankToken = "INVALID_TBANK_TOKEN",
NotFound = "NOT_FOUND",
StockTickerAmbiguous = "STOCK_TICKER_AMBIGUOUS",
TbankNotConnected = "TBANK_NOT_CONNECTED",
TbankUnavailable = "TBANK_UNAVAILABLE",
Unauthorized = "UNAUTHORIZED",
}
function apiErrorCode(error: unknown): string | undefined {
return typeof error === "object" && error !== null && "code" in error
? String(error.code)
: undefined;
}
// Incoming codes are an open wire string; unknown values retain their fallback.
function isApiErrorCode(value: unknown, expected: ApiErrorCode): boolean {
return value === expected;
}
export { ApiErrorCode, apiErrorCode, isApiErrorCode };