feat: implement BankAccount management with CRUD operations and selection for tenants
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('bank_accounts', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('tenant_code');
|
||||
$table->string('titular');
|
||||
$table->string('entidad');
|
||||
$table->string('alias');
|
||||
$table->string('cvu');
|
||||
$table->timestamps();
|
||||
|
||||
$table->foreign('tenant_code')
|
||||
->references('codigo')
|
||||
->on('tenants')
|
||||
->cascadeOnUpdate()
|
||||
->cascadeOnDelete();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('bank_accounts');
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('tenants', function (Blueprint $table) {
|
||||
$table->unsignedBigInteger('selected_bank_account_id')->nullable()->after('footer_logo_id');
|
||||
|
||||
$table->foreign('selected_bank_account_id')
|
||||
->references('id')
|
||||
->on('bank_accounts')
|
||||
->nullOnDelete();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('tenants', function (Blueprint $table) {
|
||||
$table->dropForeign(['selected_bank_account_id']);
|
||||
$table->dropColumn('selected_bank_account_id');
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -72,7 +72,7 @@ class TenantSeeder extends Seeder
|
||||
true
|
||||
);
|
||||
|
||||
$this->tenantService->create([
|
||||
$tenant = $this->tenantService->create([
|
||||
'codigo' => 'sonder',
|
||||
'nombre' => 'Sonder',
|
||||
'dominio' => 'localhost',
|
||||
@@ -85,5 +85,32 @@ class TenantSeeder extends Seeder
|
||||
'header_logo' => $headerLogo,
|
||||
'footer_logo' => $footerLogo,
|
||||
]);
|
||||
|
||||
$bankAccount1 = \App\Domains\Tenant\Models\BankAccount::query()->create([
|
||||
'tenant_code' => $tenant->codigo,
|
||||
'titular' => 'Sonder S.A. (Principal)',
|
||||
'entidad' => 'Banco de la Nación Argentina',
|
||||
'alias' => 'sonder.indumentaria',
|
||||
'cvu' => '0110065420006540987654',
|
||||
]);
|
||||
|
||||
\App\Domains\Tenant\Models\BankAccount::query()->create([
|
||||
'tenant_code' => $tenant->codigo,
|
||||
'titular' => 'Sonder S.A. (Secundaria)',
|
||||
'entidad' => 'Banco de Galicia y Buenos Aires',
|
||||
'alias' => 'sonder.indumentaria.galicia',
|
||||
'cvu' => '0070012345678901234567',
|
||||
]);
|
||||
|
||||
\App\Domains\Tenant\Models\BankAccount::query()->create([
|
||||
'tenant_code' => $tenant->codigo,
|
||||
'titular' => 'Sonder S.A. (Mercado Pago)',
|
||||
'entidad' => 'Mercado Pago',
|
||||
'alias' => 'sonder.indumentaria.mp',
|
||||
'cvu' => '0000003100012345678901',
|
||||
]);
|
||||
|
||||
$tenant->selected_bank_account_id = $bankAccount1->id;
|
||||
$tenant->save();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user