mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-08-05 05:25:24 +02:00
Basic Plaid Integration (#1433)
* Basic plaid data model and linking * Remove institutions, add plaid items * Improve schema and Plaid provider * Add webhook verification sketch * Webhook verification * Item accounts and balances sync setup * Provide test encryption keys * Fix test * Only provide encryption keys in prod * Try defining keys in test env * Consolidate account sync logic * Add back plaid account initialization * Plaid transaction sync * Sync UI overhaul for Plaid * Add liability and investment syncing * Handle investment webhooks and process current day holdings * Remove logs * Remove "all" period select for performance * fix amount calc * Remove todo comment * Coming soon for investment historical data * Document Plaid configuration * Listen for holding updates
This commit is contained in:
parent
3bc9da4105
commit
cbba2ba675
127 changed files with 1537 additions and 841 deletions
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
en:
|
||||
account:
|
||||
sync:
|
||||
failed: Sync failed
|
|
@ -16,7 +16,7 @@ en:
|
|||
new: New
|
||||
new_balance: New balance
|
||||
new_transaction: New transaction
|
||||
no_entries: No entries found
|
||||
no_entries: No entries found
|
||||
title: Activity
|
||||
loading:
|
||||
loading: Loading entries...
|
||||
|
|
|
@ -9,8 +9,6 @@ en:
|
|||
cost: cost
|
||||
holdings: Holdings
|
||||
name: name
|
||||
needs_sync: Your account needs to sync the latest prices to calculate this
|
||||
portfolio
|
||||
new_holding: New transaction
|
||||
no_holdings: No holdings to show.
|
||||
return: total return
|
||||
|
|
|
@ -44,12 +44,5 @@ en:
|
|||
settings: Settings
|
||||
symbol_label: Symbol
|
||||
total_return_label: Unrealized gain/loss
|
||||
trade:
|
||||
buy: Buy
|
||||
deposit: Deposit
|
||||
inflow: Inflow
|
||||
outflow: Outflow
|
||||
sell: Sell
|
||||
withdrawal: Withdrawal
|
||||
update:
|
||||
success: Trade updated successfully.
|
||||
|
|
|
@ -6,40 +6,28 @@ en:
|
|||
troubleshoot: Troubleshoot
|
||||
account_list:
|
||||
new_account: New %{type}
|
||||
create:
|
||||
success: "%{type} account created"
|
||||
destroy:
|
||||
success: "%{type} account scheduled for deletion"
|
||||
empty:
|
||||
empty_message: Add an account either via connection, importing or entering manually.
|
||||
new_account: New account
|
||||
no_accounts: No accounts yet
|
||||
form:
|
||||
balance: Current balance
|
||||
institution: Financial institution
|
||||
name_label: Account name
|
||||
name_placeholder: Example account name
|
||||
ungrouped: "(none)"
|
||||
index:
|
||||
accounts: Accounts
|
||||
add_institution: Add institution
|
||||
institution_accounts:
|
||||
add_account_to_institution: Add new account
|
||||
confirm_accept: Delete institution
|
||||
confirm_body: Don't worry, none of the accounts within this institution will
|
||||
be affected by this deletion. Accounts will be ungrouped and all historical
|
||||
data will remain intact.
|
||||
confirm_title: Delete financial institution?
|
||||
delete: Delete institution
|
||||
edit: Edit institution
|
||||
has_issues: Issue detected, see accounts
|
||||
new_account: Add account
|
||||
status: Last synced %{last_synced_at} ago
|
||||
status_never: Requires data sync
|
||||
syncing: Syncing...
|
||||
institutionless_accounts:
|
||||
manual_accounts:
|
||||
other_accounts: Other accounts
|
||||
new_account: New account
|
||||
sync: Sync all
|
||||
new:
|
||||
import_accounts: Import accounts
|
||||
method_selector:
|
||||
connected_entry: Link account (coming soon)
|
||||
connected_entry: Link account
|
||||
manual_entry: Enter account balance
|
||||
title: How would you like to add it?
|
||||
title: What would you like to add?
|
||||
|
@ -58,6 +46,7 @@ en:
|
|||
confirm_title: Delete account?
|
||||
edit: Edit
|
||||
import: Import transactions
|
||||
manage: Manage accounts
|
||||
summary:
|
||||
header:
|
||||
accounts: Accounts
|
||||
|
@ -70,7 +59,5 @@ en:
|
|||
no_liabilities: No liabilities found
|
||||
no_liabilities_description: Add a liability either via connection, importing
|
||||
or entering manually.
|
||||
sync_all:
|
||||
success: Successfully queued accounts for syncing.
|
||||
sync_all_button:
|
||||
sync: Sync all
|
||||
update:
|
||||
success: "%{type} account updated"
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
---
|
||||
en:
|
||||
credit_cards:
|
||||
create:
|
||||
success: Credit card account created
|
||||
destroy:
|
||||
success: Credit card account deleted
|
||||
edit:
|
||||
edit: Edit %{account}
|
||||
form:
|
||||
|
@ -27,5 +23,3 @@ en:
|
|||
expiration_date: Expiration Date
|
||||
minimum_payment: Minimum Payment
|
||||
unknown: Unknown
|
||||
update:
|
||||
success: Credit card account updated
|
||||
|
|
|
@ -1,13 +1,7 @@
|
|||
---
|
||||
en:
|
||||
cryptos:
|
||||
create:
|
||||
success: Crypto account created
|
||||
destroy:
|
||||
success: Crypto account deleted
|
||||
edit:
|
||||
edit: Edit %{account}
|
||||
new:
|
||||
title: Enter account balance
|
||||
update:
|
||||
success: Crypto account updated
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
---
|
||||
en:
|
||||
depositories:
|
||||
create:
|
||||
success: Depository account created
|
||||
destroy:
|
||||
success: Depository account deleted
|
||||
edit:
|
||||
edit: Edit %{account}
|
||||
form:
|
||||
|
@ -12,5 +8,3 @@ en:
|
|||
subtype_prompt: Select account type
|
||||
new:
|
||||
title: Enter account balance
|
||||
update:
|
||||
success: Depository account updated
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
---
|
||||
en:
|
||||
institutions:
|
||||
create:
|
||||
success: Institution created
|
||||
destroy:
|
||||
success: Institution deleted
|
||||
edit:
|
||||
edit: Edit %{institution}
|
||||
form:
|
||||
name: Financial institution name
|
||||
new:
|
||||
new_institution: New financial institution
|
||||
sync:
|
||||
success: Institution sync started
|
||||
update:
|
||||
success: Institution updated
|
|
@ -1,10 +1,8 @@
|
|||
---
|
||||
en:
|
||||
investments:
|
||||
create:
|
||||
success: Investment account created
|
||||
destroy:
|
||||
success: Investment account deleted
|
||||
chart:
|
||||
value: Total value
|
||||
edit:
|
||||
edit: Edit %{account}
|
||||
form:
|
||||
|
@ -14,8 +12,6 @@ en:
|
|||
title: Enter account balance
|
||||
show:
|
||||
chart_title: Total value
|
||||
update:
|
||||
success: Investment account updated
|
||||
value_tooltip:
|
||||
cash: Cash
|
||||
holdings: Holdings
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
---
|
||||
en:
|
||||
layouts:
|
||||
application:
|
||||
syncing: Syncing account data...
|
||||
auth:
|
||||
existing_account: Already have an account?
|
||||
no_account: New to Maybe?
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
---
|
||||
en:
|
||||
loans:
|
||||
create:
|
||||
success: Loan account created
|
||||
destroy:
|
||||
success: Loan account deleted
|
||||
edit:
|
||||
edit: Edit %{account}
|
||||
form:
|
||||
|
@ -24,5 +20,3 @@ en:
|
|||
term: Term
|
||||
type: Type
|
||||
unknown: Unknown
|
||||
update:
|
||||
success: Loan account updated
|
||||
|
|
|
@ -1,13 +1,7 @@
|
|||
---
|
||||
en:
|
||||
other_assets:
|
||||
create:
|
||||
success: Other asset account created
|
||||
destroy:
|
||||
success: Other asset account deleted
|
||||
edit:
|
||||
edit: Edit %{account}
|
||||
new:
|
||||
title: Enter asset details
|
||||
update:
|
||||
success: Other asset account updated
|
||||
|
|
|
@ -1,13 +1,7 @@
|
|||
---
|
||||
en:
|
||||
other_liabilities:
|
||||
create:
|
||||
success: Other liability account created
|
||||
destroy:
|
||||
success: Other liability account deleted
|
||||
edit:
|
||||
edit: Edit %{account}
|
||||
new:
|
||||
title: Enter liability details
|
||||
update:
|
||||
success: Other liability account updated
|
||||
|
|
20
config/locales/views/plaid_items/en.yml
Normal file
20
config/locales/views/plaid_items/en.yml
Normal file
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
en:
|
||||
plaid_items:
|
||||
create:
|
||||
success: Account linked successfully. Please wait for accounts to sync.
|
||||
destroy:
|
||||
success: Accounts scheduled for deletion.
|
||||
plaid_item:
|
||||
confirm_accept: Delete institution
|
||||
confirm_body: This will permanently delete all the accounts in this group and
|
||||
all associated data.
|
||||
confirm_title: Delete institution?
|
||||
delete: Delete
|
||||
error: Error occurred while syncing data
|
||||
no_accounts_description: We could not load any accounts from this financial
|
||||
institution.
|
||||
no_accounts_title: No accounts found
|
||||
status: Last synced %{timestamp} ago
|
||||
status_never: Requires data sync
|
||||
syncing: Syncing...
|
|
@ -1,10 +1,6 @@
|
|||
---
|
||||
en:
|
||||
properties:
|
||||
create:
|
||||
success: Property account created
|
||||
destroy:
|
||||
success: Property account deleted
|
||||
edit:
|
||||
edit: Edit %{account}
|
||||
form:
|
||||
|
@ -34,5 +30,3 @@ en:
|
|||
trend: Trend
|
||||
unknown: Unknown
|
||||
year_built: Year Built
|
||||
update:
|
||||
success: Property account updated
|
||||
|
|
|
@ -9,9 +9,9 @@ en:
|
|||
create: Continue
|
||||
registrations:
|
||||
create:
|
||||
failure: There was a problem signing up.
|
||||
invalid_invite_code: Invalid invite code, please try again.
|
||||
success: You have signed up successfully.
|
||||
failure: There was a problem signing up.
|
||||
new:
|
||||
invitation_message: "%{inviter} has invited you to join as a %{role}"
|
||||
join_family_title: Join %{family}
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
---
|
||||
en:
|
||||
vehicles:
|
||||
create:
|
||||
success: Vehicle account created
|
||||
destroy:
|
||||
success: Vehicle account deleted
|
||||
edit:
|
||||
edit: Edit %{account}
|
||||
form:
|
||||
|
@ -27,5 +23,3 @@ en:
|
|||
trend: Trend
|
||||
unknown: Unknown
|
||||
year: Year
|
||||
update:
|
||||
success: Vehicle account updated
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue