diff --git a/app/Models/Contract.php b/app/Models/Contract.php new file mode 100644 index 0000000..0389331 --- /dev/null +++ b/app/Models/Contract.php @@ -0,0 +1,10 @@ +morphTo(); + } +} diff --git a/app/Models/User.php b/app/Models/User.php index 749c7b7..78c0e9f 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -3,6 +3,8 @@ namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; + +use App\Models\Document; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; @@ -45,4 +47,9 @@ class User extends Authenticatable 'password' => 'hashed', ]; } + + public function documents() + { + return $this->morphMany(Document::class, 'documentable'); + } } diff --git a/database/migrations/2026_02_08_135203_create_documents_table.php b/database/migrations/2026_02_08_135203_create_documents_table.php new file mode 100644 index 0000000..603b871 --- /dev/null +++ b/database/migrations/2026_02_08_135203_create_documents_table.php @@ -0,0 +1,29 @@ +id(); + $table->string('name'); + $table->morphs('documentable'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('documents'); + } +}; diff --git a/database/migrations/2026_02_08_135341_create_contracts_table.php b/database/migrations/2026_02_08_135341_create_contracts_table.php new file mode 100644 index 0000000..5b27aff --- /dev/null +++ b/database/migrations/2026_02_08_135341_create_contracts_table.php @@ -0,0 +1,27 @@ +id(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('contracts'); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 6b901f8..bb23c17 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -15,11 +15,14 @@ class DatabaseSeeder extends Seeder */ public function run(): void { - // User::factory(10)->create(); - User::factory()->create([ - 'name' => 'Test User', - 'email' => 'test@example.com', - ]); + User::firstOrCreate( + ['email' => 'info@geoventis.de'], + [ + 'name' => 'Max Mustermann', + 'password' => bcrypt('servo3000'), + ] + ); + } }