mirror of
https://github.com/we-promise/sure.git
synced 2026-04-12 00:27:21 +00:00
Providers sharing (#1273)
* third party provider scoping * Simplify logic and allow only admins to mange providers * Broadcast fixes * FIX tests and build * Fixes * Reviews * Scope merchants * DRY fixes
This commit is contained in:
@@ -12,7 +12,7 @@ class Assistant::Function::GetAccounts < Assistant::Function
|
||||
def call(params = {})
|
||||
{
|
||||
as_of_date: Date.current,
|
||||
accounts: family.accounts.includes(:balances, :account_providers).map do |account|
|
||||
accounts: user.accessible_accounts.includes(:balances, :account_providers).map do |account|
|
||||
{
|
||||
name: account.name,
|
||||
balance: account.balance,
|
||||
|
||||
@@ -27,15 +27,15 @@ class Assistant::Function::GetBalanceSheet < Assistant::Function
|
||||
oldest_account_start_date: family.oldest_entry_date,
|
||||
currency: family.currency,
|
||||
net_worth: {
|
||||
current: family.balance_sheet.net_worth_money.format,
|
||||
current: family.balance_sheet(user: user).net_worth_money.format,
|
||||
monthly_history: historical_data(period)
|
||||
},
|
||||
assets: {
|
||||
current: family.balance_sheet.assets.total_money.format,
|
||||
current: family.balance_sheet(user: user).assets.total_money.format,
|
||||
monthly_history: historical_data(period, classification: "asset")
|
||||
},
|
||||
liabilities: {
|
||||
current: family.balance_sheet.liabilities.total_money.format,
|
||||
current: family.balance_sheet(user: user).liabilities.total_money.format,
|
||||
monthly_history: historical_data(period, classification: "liability")
|
||||
},
|
||||
insights: insights_data
|
||||
@@ -44,7 +44,7 @@ class Assistant::Function::GetBalanceSheet < Assistant::Function
|
||||
|
||||
private
|
||||
def historical_data(period, classification: nil)
|
||||
scope = family.accounts.visible
|
||||
scope = user.accessible_accounts.visible
|
||||
scope = scope.where(classification: classification) if classification.present?
|
||||
|
||||
if period.start_date == Date.current
|
||||
@@ -65,8 +65,8 @@ class Assistant::Function::GetBalanceSheet < Assistant::Function
|
||||
end
|
||||
|
||||
def insights_data
|
||||
assets = family.balance_sheet.assets.total
|
||||
liabilities = family.balance_sheet.liabilities.total
|
||||
assets = family.balance_sheet(user: user).assets.total
|
||||
liabilities = family.balance_sheet(user: user).liabilities.total
|
||||
ratio = liabilities.zero? ? 0 : (liabilities / assets.to_f)
|
||||
|
||||
{
|
||||
|
||||
@@ -151,7 +151,7 @@ class Assistant::Function::GetHoldings < Assistant::Function
|
||||
end
|
||||
|
||||
def investment_accounts
|
||||
family.accounts.visible.where(accountable_type: SUPPORTED_ACCOUNT_TYPES)
|
||||
user.accessible_accounts.visible.where(accountable_type: SUPPORTED_ACCOUNT_TYPES)
|
||||
end
|
||||
|
||||
def investment_account_names
|
||||
|
||||
Reference in New Issue
Block a user