diff --git a/app/Models/Organization.php b/app/Models/Organization.php index 5141d18a..2b6148d8 100644 --- a/app/Models/Organization.php +++ b/app/Models/Organization.php @@ -118,4 +118,9 @@ class Organization extends Model { return $this->hasOne(ClaimHistoryCare::class, 'organization_id', 'id'); } + + public function providers() + { + return $this->hasMany(Provider::class, 'organization_id', 'id'); + } } diff --git a/app/Models/Provider.php b/app/Models/Provider.php new file mode 100644 index 00000000..e0f69476 --- /dev/null +++ b/app/Models/Provider.php @@ -0,0 +1,38 @@ +belongsTo(Organization::class, 'organization_id'); + } +} diff --git a/database/migrations/2026_05_12_140500_create_providers_table.php b/database/migrations/2026_05_12_140500_create_providers_table.php new file mode 100644 index 00000000..210036f6 --- /dev/null +++ b/database/migrations/2026_05_12_140500_create_providers_table.php @@ -0,0 +1,45 @@ +id(); + $table->foreignId('organization_id')->index(); + $table->string('name'); + $table->string('code'); + $table->string('header_token')->nullable(); + $table->string('username'); + $table->text('password'); + $table->string('status')->default('active'); + $table->timestamps(); + $table->softDeletes(); + $table->foreignId('created_by')->nullable(); + $table->foreignId('updated_by')->nullable(); + $table->foreignId('deleted_by')->nullable(); + + $table->unique(['organization_id', 'code']); + $table->foreign('organization_id')->references('id')->on('organizations')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('providers'); + } +};