mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
introduce ENV-variables for nordigen
This commit is contained in:
parent
a937f5dcef
commit
fab47bd08c
@ -21,7 +21,7 @@ use Nordigen\NordigenPHP\Exceptions\NordigenExceptions\NordigenException;
|
||||
|
||||
class Nordigen
|
||||
{
|
||||
public bool $test_mode = false; // https://developer.gocardless.com/bank-account-data/sandbox
|
||||
public bool $test_mode = config('ninja.nordigen.test_mode'); // https://developer.gocardless.com/bank-account-data/sandbox
|
||||
|
||||
public string $sandbox_institutionId = "SANDBOXFINANCE_SFIN0000";
|
||||
|
||||
|
@ -35,11 +35,12 @@ class NordigenController extends BaseController
|
||||
return response()->redirectTo($data["redirect"] . "?action=nordigen_connect&status=failed&reason=token-invalid");
|
||||
|
||||
$company = $request->getCompany();
|
||||
$account = $company->account;
|
||||
|
||||
if (!$company->account->bank_integration_nordigen_secret_id || !$company->account->bank_integration_nordigen_secret_key)
|
||||
if (!(($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) || (config('ninja.nordigen.secret_id') && config('ninja.nordigen.secret_key'))))
|
||||
return response()->redirectTo($data["redirect"] . "?action=nordigen_connect&status=failed&reason=account-config-invalid");
|
||||
|
||||
$nordigen = new Nordigen($company->account->bank_integration_nordigen_secret_id, $company->account->bank_integration_nordigen_secret_key);
|
||||
$nordigen = ($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) ? new Nordigen($account->bank_integration_nordigen_secret_id, $account->bank_integration_nordigen_secret_key) : new Nordigen(config('ninja.nordigen.secret_id'), config('ninja.nordigen.secret_key'));
|
||||
|
||||
// show bank_selection_screen, when institution_id is not present
|
||||
if (!array_key_exists("institution_id", $data)) {
|
||||
@ -156,11 +157,11 @@ class NordigenController extends BaseController
|
||||
$company = Company::where('company_key', $context["company_key"])->first();
|
||||
$account = $company->account;
|
||||
|
||||
if (!$account->bank_integration_nordigen_secret_id || !$account->bank_integration_nordigen_secret_key)
|
||||
if (!(($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) || (config('ninja.nordigen.secret_id') && config('ninja.nordigen.secret_key'))))
|
||||
return response()->redirectTo($context["redirect"] . "?action=nordigen_connect&status=failed&reason=account-config-invalid");
|
||||
|
||||
// fetch requisition
|
||||
$nordigen = new Nordigen($account->bank_integration_nordigen_secret_id, $account->bank_integration_nordigen_secret_key);
|
||||
$nordigen = ($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) ? new Nordigen($account->bank_integration_nordigen_secret_id, $account->bank_integration_nordigen_secret_key) : new Nordigen(config('ninja.nordigen.secret_id'), config('ninja.nordigen.secret_key'));
|
||||
$requisition = $nordigen->getRequisition($context["requisitionId"]);
|
||||
|
||||
// check validity of requisition
|
||||
@ -302,10 +303,10 @@ class NordigenController extends BaseController
|
||||
{
|
||||
$account = auth()->user()->account;
|
||||
|
||||
if (!$account->bank_integration_nordigen_secret_id || !$account->bank_integration_nordigen_secret_key)
|
||||
if (!(($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) || (config('ninja.nordigen.secret_id') && config('ninja.nordigen.secret_key'))))
|
||||
return response()->json(['message' => 'Not yet authenticated with Nordigen Bank Integration service'], 400);
|
||||
|
||||
$nordigen = new Nordigen($account->bank_integration_nordigen_secret_id, $account->bank_integration_nordigen_secret_key);
|
||||
$nordigen = ($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) ? new Nordigen($account->bank_integration_nordigen_secret_id, $account->bank_integration_nordigen_secret_key) : new Nordigen(config('ninja.nordigen.secret_id'), config('ninja.nordigen.secret_key'));
|
||||
return response()->json($nordigen->getInstitutions());
|
||||
}
|
||||
|
||||
|
@ -213,7 +213,7 @@ class BankIntegrationController extends BaseController
|
||||
|
||||
});
|
||||
|
||||
if ($user->account->bank_integration_nordigen_secret_id && $user->account->bank_integration_nordigen_secret_key)
|
||||
if (($user->account->bank_integration_nordigen_secret_id && $user->account->bank_integration_nordigen_secret_key) || (config('ninja.nordigen.secret_id') && config('ninja.nordigen.secret_key')))
|
||||
$user_account->bank_integrations->where("integration_type", BankIntegration::INTEGRATION_TYPE_NORDIGEN)->andWhere('auto_sync', true)->each(function ($bank_integration) use ($user_account) {
|
||||
|
||||
ProcessBankTransactionsNordigen::dispatch($user_account, $bank_integration);
|
||||
@ -263,10 +263,12 @@ class BankIntegrationController extends BaseController
|
||||
|
||||
private function refreshAccountsNordigen(User $user)
|
||||
{
|
||||
if (!$user->account->bank_integration_nordigen_secret_id || !$user->account->bank_integration_nordigen_secret_key)
|
||||
$account = $user->account;
|
||||
|
||||
if (!(($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) || (config('ninja.nordigen.secret_id') && config('ninja.nordigen.secret_key'))))
|
||||
return;
|
||||
|
||||
$nordigen = new Nordigen($user->account->bank_integration_nordigen_secret_id, $user->account->bank_integration_nordigen_secret_key);
|
||||
$nordigen = ($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) ? new Nordigen($account->bank_integration_nordigen_secret_id, $account->bank_integration_nordigen_secret_key) : new Nordigen(config('ninja.nordigen.secret_id'), config('ninja.nordigen.secret_key'));
|
||||
|
||||
BankIntegration::withTrashed()->where("integration_type", BankIntegration::INTEGRATION_TYPE_NORDIGEN)->each(function (BankIntegration $bank_integration) use ($nordigen) {
|
||||
$account = $nordigen->getAccount($bank_integration->nordigen_account_id);
|
||||
|
@ -56,8 +56,10 @@ class ProcessBankTransactionsNordigen implements ShouldQueue
|
||||
if ($this->bank_integration->integration_type != BankIntegration::INTEGRATION_TYPE_NORDIGEN)
|
||||
throw new \Exception("Invalid BankIntegration Type");
|
||||
|
||||
$this->nordigen = new Nordigen($this->account->bank_integration_nordigen_secret_id, $this->account->bank_integration_nordigen_secret_key);
|
||||
if (!(($this->account->bank_integration_nordigen_secret_id && $this->account->bank_integration_nordigen_secret_key) || (config('ninja.nordigen.secret_id') && config('ninja.nordigen.secret_key'))))
|
||||
throw new \Exception("Missing credentials for bank_integration service nortigen");
|
||||
|
||||
$this->nordigen = ($this->account->bank_integration_nordigen_secret_id && $this->account->bank_integration_nordigen_secret_key) ? new Nordigen($this->account->bank_integration_nordigen_secret_id, $this->account->bank_integration_nordigen_secret_key) : new Nordigen(config('ninja.nordigen.secret_id'), config('ninja.nordigen.secret_key'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -78,7 +80,8 @@ class ProcessBankTransactionsNordigen implements ShouldQueue
|
||||
try {
|
||||
$this->updateAccount();
|
||||
} catch (\Exception $e) {
|
||||
nlog("{$this->account->bank_integration_nordigen_secret_id} - exited abnormally => " . $e->getMessage());
|
||||
$secretId = $this->account->bank_integration_nordigen_secret_id ?: config('ninja.nortigen.secret_id');
|
||||
nlog("{$secretId} - exited abnormally => " . $e->getMessage());
|
||||
|
||||
$content = [
|
||||
"Processing transactions for account: {$this->bank_integration->account->key} failed",
|
||||
@ -98,7 +101,8 @@ class ProcessBankTransactionsNordigen implements ShouldQueue
|
||||
try {
|
||||
$this->processTransactions();
|
||||
} catch (\Exception $e) {
|
||||
nlog("{$this->account->bank_integration_nordigen_secret_id} - exited abnormally => " . $e->getMessage());
|
||||
$secretId = $this->account->bank_integration_nordigen_secret_id ?: config('ninja.nortigen.secret_id');
|
||||
nlog("{$secretId} - exited abnormally => " . $e->getMessage());
|
||||
|
||||
$content = [
|
||||
"Processing transactions for account: {$this->bank_integration->account->key} failed",
|
||||
|
@ -52,7 +52,7 @@ class BankTransactionSync implements ShouldQueue
|
||||
if (Ninja::isHosted()) { // @turbo124 @todo I migrated the schedule for the job within the kernel to execute on all platforms and use the same expression here to determine if yodlee can run or not. Please chek/verify
|
||||
nlog("syncing transactions - yodlee");
|
||||
|
||||
$a = Account::with('bank_integrations')->whereNotNull('bank_integration_yodlee_account_id')->cursor()->each(function ($account) {
|
||||
Account::with('bank_integrations')->whereNotNull('bank_integration_yodlee_account_id')->cursor()->each(function ($account) {
|
||||
// $queue = Ninja::isHosted() ? 'bank' : 'default';
|
||||
|
||||
if ($account->isPaid() && $account->plan == 'enterprise') {
|
||||
@ -65,7 +65,14 @@ class BankTransactionSync implements ShouldQueue
|
||||
|
||||
nlog("syncing transactions - nordigen");
|
||||
|
||||
$b = Account::with('bank_integrations')->whereNotNull('bank_integration_nordigen_secret_id')->andWhereNotNull('bank_integration_nordigen_secret_key')->cursor()->each(function ($account) {
|
||||
if (config("ninja.nortigen.secret_id") && config("ninja.nortigen.secret_key"))
|
||||
Account::with('bank_integrations')->cursor()->each(function ($account) {
|
||||
$account->bank_integrations()->where('integration_type', BankIntegration::INTEGRATION_TYPE_NORDIGEN)->andWhere('auto_sync', true)->cursor()->each(function ($bank_integration) use ($account) {
|
||||
(new ProcessBankTransactionsNordigen($account, $bank_integration))->handle();
|
||||
});
|
||||
});
|
||||
else
|
||||
Account::with('bank_integrations')->whereNotNull('bank_integration_nordigen_secret_id')->andWhereNotNull('bank_integration_nordigen_secret_key')->cursor()->each(function ($account) {
|
||||
$account->bank_integrations()->where('integration_type', BankIntegration::INTEGRATION_TYPE_NORDIGEN)->andWhere('auto_sync', true)->cursor()->each(function ($bank_integration) use ($account) {
|
||||
(new ProcessBankTransactionsNordigen($account, $bank_integration))->handle();
|
||||
});
|
||||
|
@ -196,7 +196,7 @@ return [
|
||||
'ninja_default_company_id' => env('NINJA_COMPANY_ID', null),
|
||||
'ninja_default_company_gateway_id' => env('NINJA_COMPANY_GATEWAY_ID', null),
|
||||
'ninja_hosted_secret' => env('NINJA_HOSTED_SECRET', ''),
|
||||
'ninja_hosted_header' =>env('NINJA_HEADER', ''),
|
||||
'ninja_hosted_header' => env('NINJA_HEADER', ''),
|
||||
'ninja_connect_secret' => env('NINJA_CONNECT_SECRET', ''),
|
||||
'internal_queue_enabled' => env('INTERNAL_QUEUE_ENABLED', true),
|
||||
'ninja_apple_api_key' => env('APPLE_API_KEY', false),
|
||||
@ -218,6 +218,11 @@ return [
|
||||
'dev_mode' => env("YODLEE_DEV_MODE", false),
|
||||
'config_name' => env("YODLEE_CONFIG_NAME", false),
|
||||
],
|
||||
'nordigen' => [
|
||||
'client_id' => env('NORDIGEN_SECRET_ID', false),
|
||||
'client_secret' => env('NORDIGEN_SECRET_KEY', false),
|
||||
'test_mode' => env("NORDIGEN_TEST_MODE", false),
|
||||
],
|
||||
'licenses' => env('LICENSES', false),
|
||||
'google_application_credentials' => env("GOOGLE_APPLICATION_CREDENTIALS", false),
|
||||
'shopify' => [
|
||||
|
Loading…
x
Reference in New Issue
Block a user