mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
HasMany BankTransactions
This commit is contained in:
parent
f6c377a10a
commit
ea611e9256
@ -49,4 +49,9 @@ class BankIntegration extends BaseModel
|
||||
return $this->belongsTo(Account::class)->withTrashed();
|
||||
}
|
||||
|
||||
public function transactions()
|
||||
{
|
||||
return $this->hasMany(BankTransaction::class)->withTrashed();
|
||||
}
|
||||
|
||||
}
|
@ -13,6 +13,7 @@ namespace App\Transformers;
|
||||
|
||||
use App\Models\Account;
|
||||
use App\Models\BankIntegration;
|
||||
use App\Models\BankTransaction;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
|
||||
/**
|
||||
@ -37,6 +38,7 @@ class BankIntegrationTransformer extends EntityTransformer
|
||||
protected $availableIncludes = [
|
||||
'company',
|
||||
'account',
|
||||
'bank_transactions',
|
||||
];
|
||||
|
||||
/**
|
||||
@ -57,6 +59,7 @@ class BankIntegrationTransformer extends EntityTransformer
|
||||
'balance' => (float)$bank_integration->balance ?: 0,
|
||||
'currency' => (string)$bank_integration->currency ?: '',
|
||||
'nickname' => (string)$bank_integration->nickname ?: '',
|
||||
'from_date' => (string)$bank_integration->from_date ?: '',
|
||||
'is_deleted' => (bool) $bank_integration->is_deleted,
|
||||
'created_at' => (int) $bank_integration->created_at,
|
||||
'updated_at' => (int) $bank_integration->updated_at,
|
||||
@ -78,4 +81,11 @@ class BankIntegrationTransformer extends EntityTransformer
|
||||
return $this->includeItem($bank_integration->company, $transformer, Company::class);
|
||||
}
|
||||
|
||||
public function includeBankTransactions(BankIntegration $bank_integration)
|
||||
{
|
||||
$transformer = new BankTransactionTransformer($this->serializer);
|
||||
|
||||
return $this->includeCollection($bank_integration->transactions, $transformer, BankTransaction::class);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -51,18 +51,18 @@ class BankTransactionTransformer extends EntityTransformer
|
||||
{
|
||||
return [
|
||||
'id' => (string) $this->encodePrimaryKey($bank_transaction->id),
|
||||
'transaction_id' => (int)$bank_transaction->transaction_id,
|
||||
'amount' => (float)$bank_transaction->amount ?: 0,
|
||||
'currency_code' => (string)$bank_transaction->currency_code ?: '',
|
||||
'account_type' => (string)$bank_transaction->account_type ?: '',
|
||||
'transaction_id' => (int) $bank_transaction->transaction_id,
|
||||
'amount' => (float) $bank_transaction->amount ?: 0,
|
||||
'currency_code' => (string) $bank_transaction->currency_code ?: '',
|
||||
'account_type' => (string) $bank_transaction->account_type ?: '',
|
||||
'category_id' => (int) $bank_transaction->category_id,
|
||||
'category_type' => (string)$bank_transaction->category_type ?: '',
|
||||
'date' => (string)$bank_transaction->date ?: '',
|
||||
'bank_account_id' => (int)$bank_transaction->bank_account_id,
|
||||
'description' => (string)$bank_transaction->description ?: '',
|
||||
'invoice_id' => (string)$this->encodePrimaryKey($bank_transaction->invoice_id) ?: '',
|
||||
'expense_id'=> (string)$this->encodePrimaryKey($bank_transaction->expense_id) ?: '',
|
||||
'is_matched'=> (bool)$bank_transaction->is_matched ?: '',
|
||||
'category_type' => (string) $bank_transaction->category_type ?: '',
|
||||
'date' => (string) $bank_transaction->date ?: '',
|
||||
'bank_account_id' => (int) $bank_transaction->bank_account_id,
|
||||
'description' => (string) $bank_transaction->description ?: '',
|
||||
'invoice_id' => (string) $this->encodePrimaryKey($bank_transaction->invoice_id) ?: '',
|
||||
'expense_id'=> (string) $this->encodePrimaryKey($bank_transaction->expense_id) ?: '',
|
||||
'is_matched'=> (bool) $bank_transaction->is_matched ?: '',
|
||||
'is_deleted' => (bool) $bank_transaction->is_deleted,
|
||||
'created_at' => (int) $bank_transaction->created_at,
|
||||
'updated_at' => (int) $bank_transaction->updated_at,
|
||||
|
@ -34,6 +34,7 @@ return new class extends Migration
|
||||
$table->decimal('balance', 20, 6)->default(0); //currentBalance.amount
|
||||
$table->text('currency')->nullable(); //currentBalance.currency
|
||||
$table->text('nickname')->default(''); //accountName
|
||||
$table->date('from_date')->nullable();
|
||||
|
||||
$table->boolean('is_deleted')->default(0);
|
||||
|
||||
@ -53,7 +54,7 @@ return new class extends Migration
|
||||
$table->id();
|
||||
$table->unsignedInteger('company_id');
|
||||
$table->unsignedInteger('user_id');
|
||||
|
||||
$table->unsignedBigInteger('bank_integration_id');
|
||||
$table->unsignedBigInteger('transaction_id')->nullable();
|
||||
$table->decimal('amount', 20, 6);
|
||||
$table->string('currency_code');
|
||||
@ -71,6 +72,7 @@ return new class extends Migration
|
||||
$table->timestamps(6);
|
||||
|
||||
$table->softDeletes('deleted_at', 6);
|
||||
$table->foreign('bank_integration_id')->references('id')->on('bank_integrations')->onDelete('cascade')->onUpdate('cascade');
|
||||
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade')->onUpdate('cascade');
|
||||
$table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade')->onUpdate('cascade');
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user