From 21b8fa5f35f3a6e102aae9094393f50e108de15b Mon Sep 17 00:00:00 2001 From: ncoronel Date: Fri, 3 Jul 2026 14:45:05 -0300 Subject: [PATCH] feat: add 'url' field to Integration model and update related requests and seeder --- app/Domains/Integration/Models/Integration.php | 1 + .../Requests/StoreIntegrationRequest.php | 1 + .../Requests/UpdateIntegrationRequest.php | 1 + .../2026_07_03_000001_create_integrations_table.php | 1 + database/seeders/TelepagosIntegrationSeeder.php | 13 +++++++++++++ 5 files changed, 17 insertions(+) diff --git a/app/Domains/Integration/Models/Integration.php b/app/Domains/Integration/Models/Integration.php index 4d1de62..2d8a2bc 100644 --- a/app/Domains/Integration/Models/Integration.php +++ b/app/Domains/Integration/Models/Integration.php @@ -11,6 +11,7 @@ class Integration extends Model protected $fillable = [ 'integration_code', 'name', + 'url', 'integration_data_schema', ]; diff --git a/app/Domains/Integration/Requests/StoreIntegrationRequest.php b/app/Domains/Integration/Requests/StoreIntegrationRequest.php index 4d91605..7134e08 100644 --- a/app/Domains/Integration/Requests/StoreIntegrationRequest.php +++ b/app/Domains/Integration/Requests/StoreIntegrationRequest.php @@ -16,6 +16,7 @@ class StoreIntegrationRequest extends FormRequest return [ 'integration_code' => ['required', 'string', 'unique:integrations,integration_code'], 'name' => ['required', 'string', 'max:255'], + 'url' => ['nullable', 'url', 'max:255'], 'integration_data_schema' => ['nullable', 'array'], ]; } diff --git a/app/Domains/Integration/Requests/UpdateIntegrationRequest.php b/app/Domains/Integration/Requests/UpdateIntegrationRequest.php index 8883f17..e9cd0f3 100644 --- a/app/Domains/Integration/Requests/UpdateIntegrationRequest.php +++ b/app/Domains/Integration/Requests/UpdateIntegrationRequest.php @@ -17,6 +17,7 @@ class UpdateIntegrationRequest extends FormRequest return [ 'name' => ['sometimes', 'required', 'string', 'max:255'], + 'url' => ['nullable', 'url', 'max:255'], 'integration_data_schema' => ['nullable', 'array'], // the code shouldn't ideally be updatable, but if it is: 'integration_code' => ['sometimes', 'required', 'string', 'unique:integrations,integration_code,' . ($integration->id ?? '')], diff --git a/database/migrations/2026_07_03_000001_create_integrations_table.php b/database/migrations/2026_07_03_000001_create_integrations_table.php index 980502d..00cfabd 100644 --- a/database/migrations/2026_07_03_000001_create_integrations_table.php +++ b/database/migrations/2026_07_03_000001_create_integrations_table.php @@ -15,6 +15,7 @@ return new class extends Migration $table->id(); $table->string('integration_code')->unique(); $table->string('name'); + $table->string('url')->nullable(); $table->json('integration_data_schema')->nullable(); $table->timestamps(); }); diff --git a/database/seeders/TelepagosIntegrationSeeder.php b/database/seeders/TelepagosIntegrationSeeder.php index 2a30067..9ecd2de 100644 --- a/database/seeders/TelepagosIntegrationSeeder.php +++ b/database/seeders/TelepagosIntegrationSeeder.php @@ -16,6 +16,19 @@ class TelepagosIntegrationSeeder extends Seeder ['integration_code' => 'telepagos'], [ 'name' => 'Telepagos', + 'url' => 'https://api.telepagos.com.ar', + 'integration_data_schema' => [ + 'username' => 'required|string', + 'password' => 'required|string', + ] + ] + ); + + Integration::updateOrCreate( + ['integration_code' => 'telepagos_homo'], + [ + 'name' => 'Telepagos Homologación', + 'url' => 'https://api.homo.telepagos.com.ar', 'integration_data_schema' => [ 'username' => 'required|string', 'password' => 'required|string',