presseportale/database/seeders/DatabaseSeeder.php
Kevin Adametz 0bec71ffa5 Ablehnungskategorien live aus der DB (rejection_categories)
/richtlinien rendert jetzt alle aktiven Kategorien aus der neuen
rejection_categories-Tabelle (stabiler code als Anker, public_label/desc,
optionale Beispiele) statt der statischen K1-K6-Liste. Kategorien werden
nie geloescht, nur deaktiviert; neue Kategorien erscheinen ohne
Textaenderung und ohne neue AGB-Version (AGB par. 7 Abs. 3 verweist nicht
abschliessend). Seeder legt K1-K6 idempotent an; Versionszeile der Seite
kommt aus legal_documents. Go-Live-Checkliste um beide Seeder ergaenzt.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 09:25:16 +00:00

63 lines
1.9 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace Database\Seeders;
use App\Enums\Portal;
use App\Enums\RegistrationType;
use App\Models\User;
use App\Services\Auth\UserRolePermissionSyncService;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*/
public function run(UserRolePermissionSyncService $rolePermissionSync): void
{
$this->call([
RolesAndPermissionsSeeder::class,
AdminPresetSeeder::class,
PlanSeeder::class,
PaymentOptionSeeder::class,
LegalDocumentSeeder::class,
RejectionCategorySeeder::class,
// CategorySeeder::class,
]);
// Demo-Zugänge (Passwort "password") nur in lokalen Umgebungen –
// niemals in Produktion anlegen.
if (! app()->environment(['local', 'testing'])) {
return;
}
$adminUser = User::firstOrCreate([
'email' => 'admin@pressekonto.test',
], [
'name' => 'Portal Admin',
'password' => Hash::make('password'),
'portal' => Portal::Both->value,
'registration_type' => RegistrationType::ExistingLegacy->value,
'language' => 'de',
'is_active' => true,
'email_verified_at' => now(),
]);
$rolePermissionSync->assignRoleAndSyncPermissions($adminUser, 'admin');
$testUser = User::firstOrCreate([
'email' => 'test@example.com',
], [
'name' => 'Test User',
'password' => Hash::make('password'),
'portal' => Portal::Both->value,
'registration_type' => RegistrationType::ExistingLegacy->value,
'language' => 'de',
'is_active' => true,
'email_verified_at' => now(),
]);
$rolePermissionSync->assignRoleAndSyncPermissions($testUser, 'customer');
}
}