mirror of
https://github.com/we-promise/sure.git
synced 2026-04-17 19:14:11 +00:00
UI Suggestions for Account Types in Setup Modal + Stats-Based Inactive Handling (#368)
* - Add tests for `Simplefin::AccountTypeMapper` and `AccountSimplefinCreation` - Implement `Simplefin::AccountTypeMapper` for account type inference with fallback-only logic - Enhance inactive state handling for `SimplefinItem::Importer` - Improve subtype selection handling in views with confidence-based inference * Remove unnecessary `.presence` check for `openai_uri_base` in hostings settings * Refine zero balance detection logic in `SimplefinItem::Importer` and add regression test for missing balances scenario * Enhance account type and subtype inference logic with explicit investment subtype mapping, improved regex handling, and institution-based credit card detection * Refine retirement subtype mapping in `AccountTypeMapper` tests with explicit case-based assertions * Expand `AccountTypeMapper` investment subtype mapping to include `403b` and `tsp` with updated regex definitions * Remove unused `retirement_hint?` method in `AccountTypeMapper` to simplify codebase --------- Co-authored-by: Josh Waldrep <joshua.waldrep5+github@gmail.com>
This commit is contained in:
@@ -165,6 +165,28 @@ class SimplefinItemsController < ApplicationController
|
||||
[ "Other Asset", "OtherAsset" ]
|
||||
]
|
||||
|
||||
# Compute UI-only suggestions (preselect only when high confidence)
|
||||
@inferred_map = {}
|
||||
@simplefin_accounts.each do |sfa|
|
||||
holdings = sfa.raw_holdings_payload.presence || sfa.raw_payload.to_h["holdings"]
|
||||
institution_name = nil
|
||||
begin
|
||||
od = sfa.org_data
|
||||
institution_name = od["name"] if od.is_a?(Hash)
|
||||
rescue
|
||||
institution_name = nil
|
||||
end
|
||||
inf = Simplefin::AccountTypeMapper.infer(
|
||||
name: sfa.name,
|
||||
holdings: holdings,
|
||||
extra: sfa.extra,
|
||||
balance: sfa.current_balance,
|
||||
available_balance: sfa.available_balance,
|
||||
institution: institution_name
|
||||
)
|
||||
@inferred_map[sfa.id] = { type: inf.accountable_type, subtype: inf.subtype, confidence: inf.confidence }
|
||||
end
|
||||
|
||||
# Subtype options for each account type
|
||||
@subtype_options = {
|
||||
"Depository" => {
|
||||
|
||||
Reference in New Issue
Block a user