Files
OnBudget/lib/src/features/notification_parsing/domain/enums.dart
T
SandersandClaude Opus 4.8 da65bf6f8e Add per-app rules, transfer pairing, self-merchant flag, two-step onboarding
Notification parsing:
- Per-app parse rules (parse_rules.packageName; getEnabledForApp, NULL = legacy global)
- Transfer pairing: transfer_pair_matcher + transfer_pairing_blocklist table/dao/repo
- source_apps.selfMerchant flag (Ozon inbox rework: default account picker, suppress
  AI category prefill + rule suggestion)
- raw_messages.diagnostics dump captured under diagnostic-mode toggle
- Inbox card / settings / log UI reworks

Onboarding:
- Two-step flow (name -> first account); UserSeeder seeds categories only, no accounts

Schema bumped to v11; drop obsolete migration + mixed-merchant tests, add new coverage.
Add ios/ platform folder.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-10 22:49:04 +03:00

63 lines
1.9 KiB
Dart

/// Enums for the notification-parsing feature.
/// Drift converters are defined in the data layer; these are pure-Dart.
library;
// ---------------------------------------------------------------------------
// RawMessageStatus
// ---------------------------------------------------------------------------
enum RawMessageStatus {
pending,
parsing,
parsed,
parsedPartial,
pendingAi,
inbox,
applied,
ignored,
failed,
/// Распарсенная transfer-половинка скрыто ждёт вторую половинку пары
/// (окно до `pairDeadline`); по таймауту уходит в Inbox одиночкой.
waitingPair,
/// Вторичная половинка склеенного перевода: скрыта из Inbox, в журнале
/// показывается как «объединено в перевод».
paired,
}
// ---------------------------------------------------------------------------
// ParseRuleKind
// ---------------------------------------------------------------------------
enum ParseRuleKind {
merchantToCategory,
senderToAccount,
ignore,
}
// ---------------------------------------------------------------------------
// MatchMode
// ---------------------------------------------------------------------------
enum MatchMode {
contains,
exact,
regex,
}
// ---------------------------------------------------------------------------
// TxKind — granular kind extracted from notification text
// ---------------------------------------------------------------------------
enum TxKind {
purchase,
refund,
transferOut,
transferIn,
fee,
balance,
other,
}
// ---------------------------------------------------------------------------
// ParseSource — which stage of the pipeline produced the draft
// ---------------------------------------------------------------------------
enum ParseSource { regex, ai }