20-02-2026
This commit is contained in:
parent
854ce02bf6
commit
4d6b4930b2
128 changed files with 18247 additions and 2093 deletions
41
database/seeders/CategorySeeder.php
Normal file
41
database/seeders/CategorySeeder.php
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class CategorySeeder extends Seeder
|
||||
{
|
||||
public function run(): void
|
||||
{
|
||||
$categories = [
|
||||
'Wohnzimmer',
|
||||
'Schlafzimmer',
|
||||
'Esszimmer',
|
||||
'Küche',
|
||||
'Bad & Wellness',
|
||||
'Arbeitszimmer',
|
||||
'Kinderzimmer',
|
||||
'Outdoor & Garten',
|
||||
'Beleuchtung',
|
||||
'Textilien & Dekoration',
|
||||
'Teppiche',
|
||||
'Maßmöbel',
|
||||
'Dienstleistungen',
|
||||
];
|
||||
|
||||
foreach ($categories as $name) {
|
||||
DB::table('categories')->updateOrInsert(
|
||||
['slug' => Str::slug($name)],
|
||||
[
|
||||
'name' => $name,
|
||||
'slug' => Str::slug($name),
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
292
database/seeders/RestoreBackupSeeder.php
Normal file
292
database/seeders/RestoreBackupSeeder.php
Normal file
|
|
@ -0,0 +1,292 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/**
|
||||
* Stellt den Testdaten-Stand vom 12.02.2026 wieder her.
|
||||
* Basierend auf: dev/12-01-2026/db-backup.sql
|
||||
*
|
||||
* Nutzung: php artisan db:seed --class=RestoreBackupSeeder
|
||||
* Voraussetzung: Migrationen müssen gelaufen sein (php artisan migrate)
|
||||
*/
|
||||
class RestoreBackupSeeder extends Seeder
|
||||
{
|
||||
public function run(): void
|
||||
{
|
||||
$isMysql = DB::connection()->getDriverName() === 'mysql';
|
||||
|
||||
if ($isMysql) {
|
||||
DB::statement('SET FOREIGN_KEY_CHECKS=0');
|
||||
}
|
||||
|
||||
$this->seedCategories();
|
||||
$this->seedRoles();
|
||||
$this->seedPermissions();
|
||||
$this->seedRoleHasPermissions();
|
||||
$this->seedPartners();
|
||||
$this->seedUsers();
|
||||
$this->seedModelHasRoles();
|
||||
$this->seedBrands();
|
||||
$this->seedPartnerInvitations();
|
||||
$this->seedRegistrationCodes();
|
||||
$this->seedDisplayVideos();
|
||||
$this->seedDisplayFooterContents();
|
||||
|
||||
if ($isMysql) {
|
||||
DB::statement('SET FOREIGN_KEY_CHECKS=1');
|
||||
}
|
||||
|
||||
$this->command->info('Backup-Daten erfolgreich wiederhergestellt.');
|
||||
}
|
||||
|
||||
public function seedCategories(): void
|
||||
{
|
||||
$categories = [
|
||||
'Wohnzimmer',
|
||||
'Schlafzimmer',
|
||||
'Esszimmer',
|
||||
'Küche',
|
||||
'Bad & Wellness',
|
||||
'Arbeitszimmer',
|
||||
'Kinderzimmer',
|
||||
'Outdoor & Garten',
|
||||
'Beleuchtung',
|
||||
'Textilien & Dekoration',
|
||||
'Teppiche',
|
||||
'Maßmöbel',
|
||||
'Dienstleistungen',
|
||||
];
|
||||
|
||||
foreach ($categories as $name) {
|
||||
DB::table('categories')->updateOrInsert(
|
||||
['slug' => Str::slug($name)],
|
||||
[
|
||||
'name' => $name,
|
||||
'slug' => Str::slug($name),
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private function seedRoles(): void
|
||||
{
|
||||
DB::table('roles')->truncate();
|
||||
DB::table('roles')->insert([
|
||||
['id' => 1, 'name' => 'Customer', 'display_name' => 'Kunde (Customer)', 'icon' => 'user', 'can_be_invited' => 1, 'reg_prefix' => 'K', 'reg_description' => 'Kundencodes werden Maklern oder Händlern zugeordnet', 'reg_start_number' => 40000001, 'guard_name' => 'web', 'color' => 'indigo', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-12-16 14:56:59'],
|
||||
['id' => 2, 'name' => 'Broker', 'display_name' => 'Makler (Broker)', 'icon' => 'home', 'can_be_invited' => 1, 'reg_prefix' => 'M', 'reg_description' => 'Maklercodes für die Registrierung von Maklern', 'reg_start_number' => 10000001, 'guard_name' => 'web', 'color' => 'lime', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-12-17 12:00:39'],
|
||||
['id' => 3, 'name' => 'Retailer', 'display_name' => 'Händler (Retailer)', 'icon' => 'building-storefront', 'can_be_invited' => 1, 'reg_prefix' => 'H', 'reg_description' => 'Händlercodes für die Registrierung von Händlern', 'reg_start_number' => 20000001, 'guard_name' => 'web', 'color' => 'teal', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-12-16 14:57:09'],
|
||||
['id' => 4, 'name' => 'Manufacturer', 'display_name' => 'Hersteller (Manufacturer)', 'icon' => 'wrench-screwdriver', 'can_be_invited' => 1, 'reg_prefix' => 'P', 'reg_description' => 'Herstellercodes für die Registrierung von Herstellern', 'reg_start_number' => 30000001, 'guard_name' => 'web', 'color' => 'orange', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-12-16 14:57:15'],
|
||||
['id' => 5, 'name' => 'Admin', 'display_name' => 'Admin (Administrator)', 'icon' => 'user-circle', 'can_be_invited' => 0, 'reg_prefix' => null, 'reg_description' => null, 'reg_start_number' => null, 'guard_name' => 'web', 'color' => 'purple', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 6, 'name' => 'Super-Admin', 'display_name' => 'Super-Admin (Entwickler)', 'icon' => 'shield-check', 'can_be_invited' => 0, 'reg_prefix' => null, 'reg_description' => null, 'reg_start_number' => null, 'guard_name' => 'web', 'color' => 'red', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
]);
|
||||
}
|
||||
|
||||
private function seedPermissions(): void
|
||||
{
|
||||
DB::table('permissions')->truncate();
|
||||
DB::table('permissions')->insert([
|
||||
['id' => 1, 'name' => 'view hubs', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 2, 'name' => 'create hubs', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 3, 'name' => 'edit hubs', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 4, 'name' => 'delete hubs', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 5, 'name' => 'view partners', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 6, 'name' => 'create partners', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 7, 'name' => 'edit partners', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 8, 'name' => 'delete partners', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 9, 'name' => 'manage provisions', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 10, 'name' => 'view products', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 11, 'name' => 'create products', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 12, 'name' => 'edit products', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 13, 'name' => 'delete products', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 14, 'name' => 'manage rental options', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 15, 'name' => 'view orders', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 16, 'name' => 'manage orders', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 17, 'name' => 'view users', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 18, 'name' => 'manage users', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 19, 'name' => 'manage roles', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 20, 'name' => 'access dashboard', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
['id' => 21, 'name' => 'place orders', 'guard_name' => 'web', 'created_at' => '2025-11-21 14:29:15', 'updated_at' => '2025-11-21 14:29:15'],
|
||||
]);
|
||||
}
|
||||
|
||||
private function seedRoleHasPermissions(): void
|
||||
{
|
||||
DB::table('role_has_permissions')->truncate();
|
||||
DB::table('role_has_permissions')->insert([
|
||||
['permission_id' => 1, 'role_id' => 2],
|
||||
['permission_id' => 1, 'role_id' => 5],
|
||||
['permission_id' => 2, 'role_id' => 5],
|
||||
['permission_id' => 3, 'role_id' => 5],
|
||||
['permission_id' => 4, 'role_id' => 5],
|
||||
['permission_id' => 5, 'role_id' => 2],
|
||||
['permission_id' => 5, 'role_id' => 5],
|
||||
['permission_id' => 6, 'role_id' => 5],
|
||||
['permission_id' => 7, 'role_id' => 5],
|
||||
['permission_id' => 8, 'role_id' => 5],
|
||||
['permission_id' => 9, 'role_id' => 5],
|
||||
['permission_id' => 10, 'role_id' => 1],
|
||||
['permission_id' => 10, 'role_id' => 3],
|
||||
['permission_id' => 10, 'role_id' => 4],
|
||||
['permission_id' => 10, 'role_id' => 5],
|
||||
['permission_id' => 11, 'role_id' => 3],
|
||||
['permission_id' => 11, 'role_id' => 4],
|
||||
['permission_id' => 11, 'role_id' => 5],
|
||||
['permission_id' => 12, 'role_id' => 3],
|
||||
['permission_id' => 12, 'role_id' => 4],
|
||||
['permission_id' => 12, 'role_id' => 5],
|
||||
['permission_id' => 13, 'role_id' => 3],
|
||||
['permission_id' => 13, 'role_id' => 4],
|
||||
['permission_id' => 13, 'role_id' => 5],
|
||||
['permission_id' => 14, 'role_id' => 3],
|
||||
['permission_id' => 14, 'role_id' => 4],
|
||||
['permission_id' => 14, 'role_id' => 5],
|
||||
['permission_id' => 15, 'role_id' => 1],
|
||||
['permission_id' => 15, 'role_id' => 3],
|
||||
['permission_id' => 15, 'role_id' => 4],
|
||||
['permission_id' => 15, 'role_id' => 5],
|
||||
['permission_id' => 16, 'role_id' => 3],
|
||||
['permission_id' => 16, 'role_id' => 4],
|
||||
['permission_id' => 16, 'role_id' => 5],
|
||||
['permission_id' => 17, 'role_id' => 5],
|
||||
['permission_id' => 18, 'role_id' => 5],
|
||||
['permission_id' => 19, 'role_id' => 5],
|
||||
['permission_id' => 20, 'role_id' => 2],
|
||||
['permission_id' => 20, 'role_id' => 3],
|
||||
['permission_id' => 20, 'role_id' => 4],
|
||||
['permission_id' => 20, 'role_id' => 5],
|
||||
['permission_id' => 21, 'role_id' => 1],
|
||||
]);
|
||||
}
|
||||
|
||||
private function seedPartners(): void
|
||||
{
|
||||
DB::table('partners')->truncate();
|
||||
DB::table('partners')->insert([
|
||||
['id' => 4, 'company_name' => 'Media Matters ', 'display_name' => null, 'slug' => 'media-matters', 'type' => 'Retailer', 'brand' => null, 'salutation' => null, 'first_name' => null, 'last_name' => null, 'hub_id' => null, 'parent_partner_id' => null, 'description' => null, 'street' => null, 'house_number' => null, 'zip' => null, 'city' => null, 'country' => 'Deutschland', 'phone' => null, 'website' => null, 'logo_url' => null, 'is_active' => 0, 'setup_completed' => 0, 'setup_completed_at' => null, 'delivery_radius_km' => null, 'assembly_radius_km' => null, 'provision_fixed_amount' => null, 'provision_rate_percentage' => null, 'created_at' => '2025-11-21 15:01:15', 'updated_at' => '2025-11-21 15:01:15'],
|
||||
['id' => 5, 'company_name' => 'Partner M10000001', 'display_name' => null, 'slug' => 'partner-m10000001-91', 'type' => 'Estate-Agent', 'brand' => null, 'salutation' => null, 'first_name' => null, 'last_name' => null, 'hub_id' => null, 'parent_partner_id' => null, 'description' => '', 'street' => null, 'house_number' => null, 'zip' => null, 'city' => null, 'country' => 'Deutschland', 'phone' => null, 'website' => null, 'logo_url' => null, 'is_active' => 0, 'setup_completed' => 0, 'setup_completed_at' => null, 'delivery_radius_km' => null, 'assembly_radius_km' => null, 'provision_fixed_amount' => null, 'provision_rate_percentage' => null, 'created_at' => '2025-12-16 15:05:26', 'updated_at' => '2025-12-16 16:47:39'],
|
||||
['id' => 6, 'company_name' => 'Markler Klaus M10000002', 'display_name' => 'Max Schmidt', 'slug' => 'partner-m10000002-104', 'type' => 'Estate-Agent', 'brand' => null, 'salutation' => 'Herr', 'first_name' => 'test', 'last_name' => 'test123', 'hub_id' => null, 'parent_partner_id' => null, 'description' => '', 'street' => 'Teststraße', 'house_number' => '123', 'zip' => '12344', 'city' => 'Musterstadt', 'country' => 'Deutschland', 'phone' => '', 'website' => '', 'logo_url' => null, 'is_active' => 1, 'setup_completed' => 1, 'setup_completed_at' => '2025-12-17 16:41:19', 'delivery_radius_km' => null, 'assembly_radius_km' => null, 'provision_fixed_amount' => null, 'provision_rate_percentage' => null, 'created_at' => '2025-12-16 16:29:03', 'updated_at' => '2025-12-17 16:41:19'],
|
||||
['id' => 9, 'company_name' => 'roles.customer K40000001', 'display_name' => null, 'slug' => 'rolescustomer-k40000001-93', 'type' => 'customer', 'brand' => null, 'salutation' => 'Herr', 'first_name' => 'asd', 'last_name' => 'asd', 'hub_id' => null, 'parent_partner_id' => 5, 'description' => null, 'street' => 'Musterstraße', 'house_number' => '1235', 'zip' => '12343', 'city' => '2134', 'country' => 'Deutschland', 'phone' => '', 'website' => null, 'logo_url' => null, 'is_active' => 0, 'setup_completed' => 0, 'setup_completed_at' => null, 'delivery_radius_km' => null, 'assembly_radius_km' => null, 'provision_fixed_amount' => null, 'provision_rate_percentage' => null, 'created_at' => '2025-12-17 12:38:20', 'updated_at' => '2025-12-17 16:43:08'],
|
||||
['id' => 10, 'company_name' => 'Hersteller P30000001', 'display_name' => null, 'slug' => 'rolesmanufacturer-p30000001-105', 'type' => 'manufacturer', 'brand' => 'b2in', 'salutation' => 'Herr', 'first_name' => 'Herr', 'last_name' => 'Steller', 'hub_id' => null, 'parent_partner_id' => null, 'description' => '', 'street' => 'Musterstraße', 'house_number' => '123', 'zip' => '12345', 'city' => 'Bielefeld', 'country' => 'Deutschland', 'phone' => '', 'website' => '', 'logo_url' => null, 'is_active' => 1, 'setup_completed' => 1, 'setup_completed_at' => '2025-12-18 13:10:19', 'delivery_radius_km' => null, 'assembly_radius_km' => null, 'provision_fixed_amount' => null, 'provision_rate_percentage' => null, 'created_at' => '2025-12-18 08:11:34', 'updated_at' => '2025-12-18 17:56:39'],
|
||||
['id' => 11, 'company_name' => 'Max Möbelmann', 'display_name' => null, 'slug' => 'max-mobelmann', 'type' => 'customer', 'brand' => 'stileigentum', 'salutation' => 'Frau', 'first_name' => 'Franz', 'last_name' => 'Hatstil', 'hub_id' => null, 'parent_partner_id' => null, 'description' => null, 'street' => 'In der Lake', 'house_number' => '4', 'zip' => '33739', 'city' => 'Bielefeld', 'country' => 'Deutschland', 'phone' => '170206113', 'website' => null, 'logo_url' => null, 'is_active' => 1, 'setup_completed' => 1, 'setup_completed_at' => '2025-12-18 10:14:50', 'delivery_radius_km' => null, 'assembly_radius_km' => null, 'provision_fixed_amount' => null, 'provision_rate_percentage' => null, 'created_at' => '2025-12-18 09:46:11', 'updated_at' => '2025-12-18 17:55:59'],
|
||||
['id' => 12, 'company_name' => 'roles.customer K40000003', 'display_name' => null, 'slug' => 'rolescustomer-k40000003-95', 'type' => 'customer', 'brand' => 'style2own', 'salutation' => 'Frau', 'first_name' => 'Steffi', 'last_name' => 'Willmöbel', 'hub_id' => null, 'parent_partner_id' => 5, 'description' => null, 'street' => 'In der Lake', 'house_number' => '4', 'zip' => '33739', 'city' => 'Bielefeld', 'country' => 'Deutschland', 'phone' => '170206113', 'website' => null, 'logo_url' => null, 'is_active' => 1, 'setup_completed' => 1, 'setup_completed_at' => '2025-12-18 10:26:45', 'delivery_radius_km' => null, 'assembly_radius_km' => null, 'provision_fixed_amount' => null, 'provision_rate_percentage' => null, 'created_at' => '2025-12-18 10:23:23', 'updated_at' => '2025-12-18 17:54:55'],
|
||||
['id' => 13, 'company_name' => 'Immobilien M10000004', 'display_name' => 'Markler Max ', 'slug' => 'rolesbroker-m10000004-108', 'type' => 'broker', 'brand' => 'b2in', 'salutation' => 'Herr', 'first_name' => 'Immobilien', 'last_name' => 'Schulz', 'hub_id' => null, 'parent_partner_id' => null, 'description' => '', 'street' => 'In der Lake', 'house_number' => '4', 'zip' => '33739', 'city' => 'Bielefeld', 'country' => 'Deutschland', 'phone' => '170206113', 'website' => '', 'logo_url' => null, 'is_active' => 1, 'setup_completed' => 1, 'setup_completed_at' => '2025-12-18 10:36:31', 'delivery_radius_km' => null, 'assembly_radius_km' => null, 'provision_fixed_amount' => null, 'provision_rate_percentage' => null, 'created_at' => '2025-12-18 10:30:41', 'updated_at' => '2025-12-18 17:54:21'],
|
||||
['id' => 14, 'company_name' => 'Händler H20000001', 'display_name' => null, 'slug' => 'rolesretailer-h20000001-109', 'type' => 'retailer', 'brand' => 'b2in', 'salutation' => 'Herr', 'first_name' => 'Händler', 'last_name' => 'Max', 'hub_id' => null, 'parent_partner_id' => null, 'description' => '', 'street' => 'In der Lake', 'house_number' => '12', 'zip' => '33739', 'city' => 'Bielefeld', 'country' => 'Deutschland', 'phone' => '170206113', 'website' => '', 'logo_url' => null, 'is_active' => 1, 'setup_completed' => 1, 'setup_completed_at' => '2025-12-18 10:40:48', 'delivery_radius_km' => 20, 'assembly_radius_km' => 30, 'provision_fixed_amount' => null, 'provision_rate_percentage' => null, 'created_at' => '2025-12-18 10:37:29', 'updated_at' => '2025-12-18 17:53:56'],
|
||||
['id' => 15, 'company_name' => 'Hersteller P30000002', 'display_name' => null, 'slug' => 'rolesmanufacturer-p30000002-107', 'type' => 'manufacturer', 'brand' => 'b2in', 'salutation' => 'Herr', 'first_name' => 'Hersteller', 'last_name' => 'Moritz', 'hub_id' => null, 'parent_partner_id' => null, 'description' => '', 'street' => 'In der Lake', 'house_number' => '4', 'zip' => '33739', 'city' => 'Bielefeld', 'country' => 'Deutschland', 'phone' => '170206113', 'website' => '', 'logo_url' => null, 'is_active' => 1, 'setup_completed' => 1, 'setup_completed_at' => '2025-12-18 10:55:57', 'delivery_radius_km' => null, 'assembly_radius_km' => null, 'provision_fixed_amount' => null, 'provision_rate_percentage' => null, 'created_at' => '2025-12-18 10:46:07', 'updated_at' => '2025-12-18 17:53:22'],
|
||||
['id' => 16, 'company_name' => 'Marcel Scheibe', 'display_name' => null, 'slug' => 'marcel-scheibe', 'type' => 'Customer', 'brand' => null, 'salutation' => 'Herr', 'first_name' => 'Marcel', 'last_name' => 'Scheibe', 'hub_id' => null, 'parent_partner_id' => null, 'description' => null, 'street' => 'In der Lake', 'house_number' => '4', 'zip' => '33739', 'city' => 'Bielefeld', 'country' => 'Deutschland', 'phone' => '170206113', 'website' => null, 'logo_url' => null, 'is_active' => 1, 'setup_completed' => 1, 'setup_completed_at' => '2025-12-19 11:21:05', 'delivery_radius_km' => null, 'assembly_radius_km' => null, 'provision_fixed_amount' => null, 'provision_rate_percentage' => null, 'created_at' => '2025-12-19 11:20:56', 'updated_at' => '2025-12-19 11:21:05'],
|
||||
['id' => 17, 'company_name' => 'Makler M10000005', 'display_name' => 'B2in TEST', 'slug' => 'rolesbroker-m10000005-110', 'type' => 'broker', 'brand' => 'b2in', 'salutation' => 'Herr', 'first_name' => 'Marcel', 'last_name' => 'Scheibe', 'hub_id' => null, 'parent_partner_id' => null, 'description' => 'Hallo', 'street' => 'Feldstrasse ', 'house_number' => '59', 'zip' => '32120', 'city' => 'Hiddenhausen', 'country' => 'Deutschland', 'phone' => '015151002992', 'website' => '', 'logo_url' => null, 'is_active' => 1, 'setup_completed' => 1, 'setup_completed_at' => '2026-01-14 10:48:58', 'delivery_radius_km' => null, 'assembly_radius_km' => null, 'provision_fixed_amount' => null, 'provision_rate_percentage' => null, 'created_at' => '2026-01-14 10:45:36', 'updated_at' => '2026-01-14 10:48:58'],
|
||||
]);
|
||||
}
|
||||
|
||||
private function seedUsers(): void
|
||||
{
|
||||
DB::table('users')->truncate();
|
||||
DB::table('users')->insert([
|
||||
['id' => 1, 'partner_id' => null, 'hub_id' => null, 'origin' => null, 'name' => 'Kevin Adametz', 'display_name' => null, 'email' => 'kevin.adametz@me.com', 'email_verified_at' => '2025-11-21 14:29:10', 'password' => '$2y$12$pw7z0He1cIJ/owZOJWYu8O.d6dh6uIgH1tQeB8EiAS7PE3iwnL7Si', 'two_factor_secret' => null, 'two_factor_recovery_codes' => null, 'two_factor_confirmed_at' => null, 'remember_token' => 'aznSzEV51VHUf5GBlkykgRKRpGW8zQaMHdS792uoCXg5zySz8NGI3YxdBwwo', 'created_at' => '2025-11-21 14:29:10', 'updated_at' => '2025-12-19 10:58:54', 'deleted_at' => null],
|
||||
['id' => 5, 'partner_id' => 4, 'hub_id' => null, 'origin' => null, 'name' => 'Gelöschter Benutzer #5', 'display_name' => null, 'email' => 'deleted_5@anonymized.local', 'email_verified_at' => '2025-11-21 15:01:16', 'password' => '$2y$12$UH.TScgahDROtFFDI/vkw.hZvXUrmStdyaDRG85I1kAHBpcQMYZSq', 'two_factor_secret' => null, 'two_factor_recovery_codes' => null, 'two_factor_confirmed_at' => null, 'remember_token' => 'ZB4rw542j7Uq2rcvoFz0NLa4ldftZvW5yYqUmGtkvGclZsxma0S5kLC9KWQt', 'created_at' => '2025-11-21 15:01:16', 'updated_at' => '2025-12-18 08:07:32', 'deleted_at' => '2025-12-18 08:07:32'],
|
||||
['id' => 6, 'partner_id' => 5, 'hub_id' => null, 'origin' => null, 'name' => 'Gelöschter Benutzer #6', 'display_name' => null, 'email' => 'deleted_6@anonymized.local', 'email_verified_at' => '2025-12-16 15:05:26', 'password' => '$2y$12$UD3ivNt9uqv.TcooAf.jQOqeCfhX1aXRABGYvCC7XLznhqrbm681.', 'two_factor_secret' => null, 'two_factor_recovery_codes' => null, 'two_factor_confirmed_at' => null, 'remember_token' => 'Lega5Eb5bhmGYVT5z6Fkzf7wuF9GwQLG1VEoerP7yvhz4YfrLIEcibDZxOOv', 'created_at' => '2025-12-16 15:05:26', 'updated_at' => '2025-12-18 08:07:20', 'deleted_at' => '2025-12-18 08:07:20'],
|
||||
['id' => 7, 'partner_id' => 6, 'hub_id' => null, 'origin' => null, 'name' => 'Gelöschter Benutzer #7', 'display_name' => null, 'email' => 'deleted_7@anonymized.local', 'email_verified_at' => '2025-12-16 16:29:03', 'password' => '$2y$12$DmnePN980lksdVtWhL6HyeSD6sJ3oGoRKq3pqs4UV0ADpWUYKQq3e', 'two_factor_secret' => null, 'two_factor_recovery_codes' => null, 'two_factor_confirmed_at' => null, 'remember_token' => null, 'created_at' => '2025-12-16 16:29:03', 'updated_at' => '2025-12-18 08:07:16', 'deleted_at' => '2025-12-18 08:07:16'],
|
||||
['id' => 10, 'partner_id' => 9, 'hub_id' => null, 'origin' => null, 'name' => 'Gelöschter Benutzer #10', 'display_name' => null, 'email' => 'deleted_10@anonymized.local', 'email_verified_at' => '2025-12-17 12:57:18', 'password' => '$2y$12$q0O2UymzIdLS3zr.rvMib.QBoeo7tPg3K9YM9a5bw5zx0gi9OHbta', 'two_factor_secret' => null, 'two_factor_recovery_codes' => null, 'two_factor_confirmed_at' => null, 'remember_token' => null, 'created_at' => '2025-12-17 12:38:20', 'updated_at' => '2025-12-18 08:07:01', 'deleted_at' => '2025-12-18 08:07:01'],
|
||||
['id' => 11, 'partner_id' => 10, 'hub_id' => null, 'origin' => null, 'name' => 'Herr Steller', 'display_name' => 'Herr Steller', 'email' => 'info1@adametz.media', 'email_verified_at' => '2025-12-18 08:11:52', 'password' => '$2y$12$HpQQMRo6dtQHsJC0ZNpBxO6pKRUpAEZnIXBEYdF4i5TC4j0P6alUa', 'two_factor_secret' => null, 'two_factor_recovery_codes' => null, 'two_factor_confirmed_at' => null, 'remember_token' => null, 'created_at' => '2025-12-18 08:11:34', 'updated_at' => '2025-12-18 17:51:08', 'deleted_at' => null],
|
||||
['id' => 12, 'partner_id' => 11, 'hub_id' => null, 'origin' => null, 'name' => 'Franz Hatstil', 'display_name' => null, 'email' => 'info3@adametz.media', 'email_verified_at' => '2025-12-18 09:46:11', 'password' => '$2y$12$2EeN31d8rapcACWOsVWON.j6AeTJ1puR3VNWUE3e.wDsklwLT8jom', 'two_factor_secret' => null, 'two_factor_recovery_codes' => null, 'two_factor_confirmed_at' => null, 'remember_token' => null, 'created_at' => '2025-12-18 09:46:11', 'updated_at' => '2025-12-18 17:55:44', 'deleted_at' => null],
|
||||
['id' => 13, 'partner_id' => 12, 'hub_id' => null, 'origin' => null, 'name' => 'Steffi Willmöbel', 'display_name' => null, 'email' => 'info4@adametz.media', 'email_verified_at' => '2025-12-18 10:23:38', 'password' => '$2y$12$VCPjieqeb9aTERmnVd6JJ.koqOGGokq0k2143u1e6FjKrHDKrER2y', 'two_factor_secret' => null, 'two_factor_recovery_codes' => null, 'two_factor_confirmed_at' => null, 'remember_token' => null, 'created_at' => '2025-12-18 10:23:23', 'updated_at' => '2025-12-18 17:55:13', 'deleted_at' => null],
|
||||
['id' => 14, 'partner_id' => 13, 'hub_id' => null, 'origin' => null, 'name' => 'Immobilien Schulz', 'display_name' => 'Immobilien Schulz', 'email' => 'info5@adametz.media', 'email_verified_at' => '2025-12-18 10:31:14', 'password' => '$2y$12$i4sN9dx9XGMgTyh3dG8ice38bpqqcd4OQ9ziw.uxUI7O1iK4e1c1m', 'two_factor_secret' => null, 'two_factor_recovery_codes' => null, 'two_factor_confirmed_at' => null, 'remember_token' => null, 'created_at' => '2025-12-18 10:30:41', 'updated_at' => '2025-12-18 17:52:20', 'deleted_at' => null],
|
||||
['id' => 15, 'partner_id' => 14, 'hub_id' => null, 'origin' => null, 'name' => 'Händler Max', 'display_name' => 'Händler Max', 'email' => 'info6@adametz.media', 'email_verified_at' => '2025-12-18 10:37:36', 'password' => '$2y$12$9FibRJHcYDXZ5Uvp.yL3pe21eEUXIAfsFUjKsNiSb.wYBOJnI1him', 'two_factor_secret' => null, 'two_factor_recovery_codes' => null, 'two_factor_confirmed_at' => null, 'remember_token' => null, 'created_at' => '2025-12-18 10:37:29', 'updated_at' => '2025-12-18 17:34:16', 'deleted_at' => null],
|
||||
['id' => 16, 'partner_id' => 15, 'hub_id' => null, 'origin' => null, 'name' => 'Hersteller Moritz', 'display_name' => 'Hersteller Moritz', 'email' => 'kevin.adametz.media@gmail.com', 'email_verified_at' => '2025-12-18 10:46:20', 'password' => '$2y$12$UXIpAVmxUAKerqhdXQt.gebMM/NEbSi713Fq69XsOpmnbbLMHIW/a', 'two_factor_secret' => null, 'two_factor_recovery_codes' => null, 'two_factor_confirmed_at' => null, 'remember_token' => null, 'created_at' => '2025-12-18 10:46:07', 'updated_at' => '2025-12-18 17:34:32', 'deleted_at' => null],
|
||||
['id' => 17, 'partner_id' => 16, 'hub_id' => null, 'origin' => null, 'name' => 'Marcel Scheibe', 'display_name' => null, 'email' => 'marcel.scheibe@bridges2america.com', 'email_verified_at' => '2025-12-19 11:20:57', 'password' => '$2y$12$pw9PjzTmlWnC1wJ.ioD69OhcV8kxjQTDyKUk71rnP8kiweViEpeRe', 'two_factor_secret' => null, 'two_factor_recovery_codes' => null, 'two_factor_confirmed_at' => null, 'remember_token' => 'pHLCoFTBHJet4D5aeoBGl20lNqOuXW1z4g5J7uiaSMFQU3jdXmWOAv5nMFH8', 'created_at' => '2025-12-19 11:20:57', 'updated_at' => '2026-01-14 10:35:09', 'deleted_at' => null],
|
||||
['id' => 18, 'partner_id' => 17, 'hub_id' => null, 'origin' => null, 'name' => 'Marcel Scheibe', 'display_name' => 'TEST MS', 'email' => 'marcel_scheibe@web.de', 'email_verified_at' => '2026-01-14 10:47:04', 'password' => '$2y$12$b1wZQv9bBVet3RwzIU9uaubHmo7TTC/C/ECro.RBUSAy/CRKy/1AC', 'two_factor_secret' => null, 'two_factor_recovery_codes' => null, 'two_factor_confirmed_at' => null, 'remember_token' => null, 'created_at' => '2026-01-14 10:45:37', 'updated_at' => '2026-01-14 10:47:04', 'deleted_at' => null],
|
||||
]);
|
||||
}
|
||||
|
||||
private function seedModelHasRoles(): void
|
||||
{
|
||||
DB::table('model_has_roles')->truncate();
|
||||
DB::table('model_has_roles')->insert([
|
||||
['role_id' => 1, 'model_type' => 'App\\Models\\User', 'model_id' => 12],
|
||||
['role_id' => 1, 'model_type' => 'App\\Models\\User', 'model_id' => 13],
|
||||
['role_id' => 2, 'model_type' => 'App\\Models\\User', 'model_id' => 14],
|
||||
['role_id' => 2, 'model_type' => 'App\\Models\\User', 'model_id' => 18],
|
||||
['role_id' => 3, 'model_type' => 'App\\Models\\User', 'model_id' => 15],
|
||||
['role_id' => 4, 'model_type' => 'App\\Models\\User', 'model_id' => 11],
|
||||
['role_id' => 4, 'model_type' => 'App\\Models\\User', 'model_id' => 16],
|
||||
['role_id' => 5, 'model_type' => 'App\\Models\\User', 'model_id' => 1],
|
||||
['role_id' => 5, 'model_type' => 'App\\Models\\User', 'model_id' => 17],
|
||||
]);
|
||||
}
|
||||
|
||||
private function seedBrands(): void
|
||||
{
|
||||
DB::table('brands')->truncate();
|
||||
DB::table('brands')->insert([
|
||||
['id' => 1, 'partner_id' => 15, 'name' => 'Moritz Möbel', 'slug' => 'moritz-mobel', 'logo_url' => null, 'description' => '', 'is_active' => 1, 'created_at' => '2025-12-18 10:55:57', 'updated_at' => '2025-12-18 17:53:22'],
|
||||
['id' => 2, 'partner_id' => 10, 'name' => 'Möbelfritze', 'slug' => 'mobelfritze', 'logo_url' => null, 'description' => '', 'is_active' => 1, 'created_at' => '2025-12-18 13:10:19', 'updated_at' => '2025-12-18 17:57:05'],
|
||||
]);
|
||||
}
|
||||
|
||||
private function seedPartnerInvitations(): void
|
||||
{
|
||||
DB::table('partner_invitations')->truncate();
|
||||
DB::table('partner_invitations')->insert([
|
||||
['id' => 1, 'company_name' => 'Möbelhaus', 'contact_first_name' => 'Kevin', 'contact_last_name' => 'Adametz', 'role_id' => 3, 'email' => 'kevin.adametz@me.com', 'token' => 'CDfvxGVOOUhmGur6A0N7hWW7mZkfJUzT3kZGwjfxAmdWqnWJuvm79FilEjeKz19k', 'status' => 'pending', 'expires_at' => '2025-11-28 14:31:19', 'invited_by' => 1, 'partner_id' => null, 'accepted_at' => null, 'created_at' => '2025-11-21 14:31:19', 'updated_at' => '2025-11-21 14:31:19'],
|
||||
['id' => 3, 'company_name' => 'Media Matters ', 'contact_first_name' => null, 'contact_last_name' => null, 'role_id' => 3, 'email' => 'register@adametz.media', 'token' => 'blUPdDvXCyYsuMrl6RmB6pr8PTrXnmBGUM3UdVFwjP1Wm88FoXTACXlV6FqeKvgv', 'status' => 'accepted', 'expires_at' => '2025-11-28 14:54:29', 'invited_by' => 1, 'partner_id' => 4, 'accepted_at' => '2025-11-21 15:01:16', 'created_at' => '2025-11-21 14:54:29', 'updated_at' => '2025-11-21 15:01:16'],
|
||||
['id' => 5, 'company_name' => 'Max Möbelmann', 'contact_first_name' => null, 'contact_last_name' => null, 'role_id' => 1, 'email' => 'info3@adametz.media', 'token' => 'QhQLbYBa1TOOVEs2p7r4UMZ4PUb14O5KLoLQjhaZQCnX53lwpw9LG9zK3J8ADHGh', 'status' => 'accepted', 'expires_at' => '2025-12-25 09:45:27', 'invited_by' => 1, 'partner_id' => 11, 'accepted_at' => '2025-12-18 09:46:11', 'created_at' => '2025-12-18 09:45:27', 'updated_at' => '2025-12-18 09:46:11'],
|
||||
['id' => 7, 'company_name' => 'Kevin Einladung', 'contact_first_name' => 'Kevin', 'contact_last_name' => 'Einladung', 'role_id' => 1, 'email' => 'register@adametz.media', 'token' => 'dDjcXk8pju5uxAOmQrzszssTdh06gO0k81nonZfwRggDFeNsLy1BIN8rMocigUcb', 'status' => 'accepted', 'expires_at' => '2025-12-26 11:14:21', 'invited_by' => 1, 'partner_id' => 16, 'accepted_at' => '2025-12-19 11:20:57', 'created_at' => '2025-12-19 11:14:21', 'updated_at' => '2025-12-19 11:20:57'],
|
||||
['id' => 8, 'company_name' => 'Kevin Google Mail ', 'contact_first_name' => 'Kevin', 'contact_last_name' => 'Google', 'role_id' => 1, 'email' => 'kevin.adametz.media@gmail.com', 'token' => 'NIex1PbOgVlIL6GUfhq62QJx79yipDo3VcncBu23bSNukTmU4V3NUWlFsWX4L9L9', 'status' => 'pending', 'expires_at' => '2025-12-26 11:18:38', 'invited_by' => 1, 'partner_id' => null, 'accepted_at' => null, 'created_at' => '2025-12-19 11:18:38', 'updated_at' => '2025-12-19 11:18:38'],
|
||||
]);
|
||||
}
|
||||
|
||||
private function seedRegistrationCodes(): void
|
||||
{
|
||||
DB::table('registration_codes')->truncate();
|
||||
DB::table('registration_codes')->insert([
|
||||
['id' => 91, 'code' => 'M10000001', 'role' => 'broker', 'name' => 'Max Markler', 'status' => 'used', 'broker_partner_id' => null, 'assigned_to_code_id' => null, 'partner_id' => 5, 'used_by_user_id' => 6, 'used_at' => '2025-12-16 15:05:26', 'expires_at' => '2025-12-23 23:59:59', 'metadata' => null, 'created_at' => '2025-12-16 14:08:08', 'updated_at' => '2025-12-16 15:05:26'],
|
||||
['id' => 92, 'code' => 'K40000000', 'role' => 'customer', 'name' => null, 'status' => 'available', 'broker_partner_id' => null, 'assigned_to_code_id' => 91, 'partner_id' => null, 'used_by_user_id' => null, 'used_at' => null, 'expires_at' => '2025-12-23 23:59:59', 'metadata' => null, 'created_at' => '2025-12-16 14:08:58', 'updated_at' => '2025-12-16 14:08:58'],
|
||||
['id' => 93, 'code' => 'K40000001', 'role' => 'customer', 'name' => null, 'status' => 'used', 'broker_partner_id' => null, 'assigned_to_code_id' => 91, 'partner_id' => 9, 'used_by_user_id' => 10, 'used_at' => '2025-12-17 12:38:20', 'expires_at' => '2025-12-23 23:59:59', 'metadata' => null, 'created_at' => '2025-12-16 14:08:58', 'updated_at' => '2025-12-17 12:38:20'],
|
||||
['id' => 94, 'code' => 'K40000002', 'role' => 'customer', 'name' => null, 'status' => 'available', 'broker_partner_id' => null, 'assigned_to_code_id' => 91, 'partner_id' => null, 'used_by_user_id' => null, 'used_at' => null, 'expires_at' => '2025-12-23 23:59:59', 'metadata' => null, 'created_at' => '2025-12-16 14:08:58', 'updated_at' => '2025-12-16 14:08:58'],
|
||||
['id' => 95, 'code' => 'K40000003', 'role' => 'customer', 'name' => null, 'status' => 'used', 'broker_partner_id' => null, 'assigned_to_code_id' => 91, 'partner_id' => 12, 'used_by_user_id' => 13, 'used_at' => '2025-12-18 10:23:23', 'expires_at' => '2025-12-23 23:59:59', 'metadata' => null, 'created_at' => '2025-12-16 14:08:58', 'updated_at' => '2025-12-18 10:23:23'],
|
||||
['id' => 96, 'code' => 'K40000004', 'role' => 'customer', 'name' => null, 'status' => 'available', 'broker_partner_id' => null, 'assigned_to_code_id' => 91, 'partner_id' => null, 'used_by_user_id' => null, 'used_at' => null, 'expires_at' => '2025-12-23 23:59:59', 'metadata' => null, 'created_at' => '2025-12-16 14:08:58', 'updated_at' => '2025-12-16 14:08:58'],
|
||||
['id' => 97, 'code' => 'K40000005', 'role' => 'customer', 'name' => null, 'status' => 'available', 'broker_partner_id' => null, 'assigned_to_code_id' => 91, 'partner_id' => null, 'used_by_user_id' => null, 'used_at' => null, 'expires_at' => '2025-12-23 23:59:59', 'metadata' => null, 'created_at' => '2025-12-16 14:08:58', 'updated_at' => '2025-12-16 14:08:58'],
|
||||
['id' => 98, 'code' => 'K40000006', 'role' => 'customer', 'name' => null, 'status' => 'available', 'broker_partner_id' => null, 'assigned_to_code_id' => 91, 'partner_id' => null, 'used_by_user_id' => null, 'used_at' => null, 'expires_at' => '2025-12-23 23:59:59', 'metadata' => null, 'created_at' => '2025-12-16 14:08:58', 'updated_at' => '2025-12-16 14:08:58'],
|
||||
['id' => 99, 'code' => 'K40000007', 'role' => 'customer', 'name' => null, 'status' => 'available', 'broker_partner_id' => null, 'assigned_to_code_id' => 91, 'partner_id' => null, 'used_by_user_id' => null, 'used_at' => null, 'expires_at' => '2025-12-23 23:59:59', 'metadata' => null, 'created_at' => '2025-12-16 14:08:58', 'updated_at' => '2025-12-16 14:08:58'],
|
||||
['id' => 100, 'code' => 'K40000008', 'role' => 'customer', 'name' => null, 'status' => 'available', 'broker_partner_id' => null, 'assigned_to_code_id' => 91, 'partner_id' => null, 'used_by_user_id' => null, 'used_at' => null, 'expires_at' => '2025-12-23 23:59:59', 'metadata' => null, 'created_at' => '2025-12-16 14:08:58', 'updated_at' => '2025-12-16 14:08:58'],
|
||||
['id' => 101, 'code' => 'K40000009', 'role' => 'customer', 'name' => null, 'status' => 'available', 'broker_partner_id' => null, 'assigned_to_code_id' => 91, 'partner_id' => null, 'used_by_user_id' => null, 'used_at' => null, 'expires_at' => '2025-12-23 23:59:59', 'metadata' => null, 'created_at' => '2025-12-16 14:08:58', 'updated_at' => '2025-12-16 14:08:58'],
|
||||
['id' => 102, 'code' => 'K40000010', 'role' => 'customer', 'name' => null, 'status' => 'available', 'broker_partner_id' => null, 'assigned_to_code_id' => 91, 'partner_id' => null, 'used_by_user_id' => null, 'used_at' => null, 'expires_at' => '2025-12-23 23:59:59', 'metadata' => null, 'created_at' => '2025-12-16 14:08:58', 'updated_at' => '2025-12-16 14:08:58'],
|
||||
['id' => 103, 'code' => 'M10000000', 'role' => 'broker', 'name' => 'test', 'status' => 'available', 'broker_partner_id' => null, 'assigned_to_code_id' => null, 'partner_id' => null, 'used_by_user_id' => null, 'used_at' => null, 'expires_at' => '2025-12-23 23:59:59', 'metadata' => null, 'created_at' => '2025-12-16 14:56:42', 'updated_at' => '2025-12-16 14:56:42'],
|
||||
['id' => 104, 'code' => 'M10000002', 'role' => 'broker', 'name' => 'test', 'status' => 'used', 'broker_partner_id' => null, 'assigned_to_code_id' => null, 'partner_id' => 6, 'used_by_user_id' => 7, 'used_at' => '2025-12-16 16:29:03', 'expires_at' => '2025-12-23 23:59:59', 'metadata' => null, 'created_at' => '2025-12-16 16:25:28', 'updated_at' => '2025-12-16 16:29:03'],
|
||||
['id' => 105, 'code' => 'P30000001', 'role' => 'manufacturer', 'name' => 'MHerr Steller', 'status' => 'used', 'broker_partner_id' => null, 'assigned_to_code_id' => null, 'partner_id' => 10, 'used_by_user_id' => 11, 'used_at' => '2025-12-18 08:11:34', 'expires_at' => '2025-12-25 23:59:59', 'metadata' => null, 'created_at' => '2025-12-18 08:09:04', 'updated_at' => '2025-12-18 08:11:34'],
|
||||
['id' => 106, 'code' => 'M10000003', 'role' => 'broker', 'name' => 'mac ma', 'status' => 'available', 'broker_partner_id' => null, 'assigned_to_code_id' => null, 'partner_id' => null, 'used_by_user_id' => null, 'used_at' => null, 'expires_at' => '2025-12-25 23:59:59', 'metadata' => null, 'created_at' => '2025-12-18 10:29:41', 'updated_at' => '2025-12-18 10:29:41'],
|
||||
['id' => 107, 'code' => 'P30000002', 'role' => 'manufacturer', 'name' => 'asdasd', 'status' => 'used', 'broker_partner_id' => null, 'assigned_to_code_id' => null, 'partner_id' => 15, 'used_by_user_id' => 16, 'used_at' => '2025-12-18 10:46:07', 'expires_at' => '2025-12-25 23:59:59', 'metadata' => null, 'created_at' => '2025-12-18 10:29:45', 'updated_at' => '2025-12-18 10:46:07'],
|
||||
['id' => 108, 'code' => 'M10000004', 'role' => 'broker', 'name' => 'asd', 'status' => 'used', 'broker_partner_id' => null, 'assigned_to_code_id' => null, 'partner_id' => 13, 'used_by_user_id' => 14, 'used_at' => '2025-12-18 10:30:41', 'expires_at' => '2025-12-25 23:59:59', 'metadata' => null, 'created_at' => '2025-12-18 10:29:48', 'updated_at' => '2025-12-18 10:30:41'],
|
||||
['id' => 109, 'code' => 'H20000001', 'role' => 'retailer', 'name' => 'asds', 'status' => 'used', 'broker_partner_id' => null, 'assigned_to_code_id' => null, 'partner_id' => 14, 'used_by_user_id' => 15, 'used_at' => '2025-12-18 10:37:29', 'expires_at' => '2025-12-25 23:59:59', 'metadata' => null, 'created_at' => '2025-12-18 10:36:54', 'updated_at' => '2025-12-18 10:37:29'],
|
||||
['id' => 110, 'code' => 'M10000005', 'role' => 'broker', 'name' => 'TEST MS', 'status' => 'used', 'broker_partner_id' => null, 'assigned_to_code_id' => null, 'partner_id' => 17, 'used_by_user_id' => 18, 'used_at' => '2026-01-14 10:45:37', 'expires_at' => '2026-01-21 23:59:59', 'metadata' => null, 'created_at' => '2026-01-14 10:44:15', 'updated_at' => '2026-01-14 10:45:37'],
|
||||
]);
|
||||
}
|
||||
|
||||
private function seedDisplayVideos(): void
|
||||
{
|
||||
DB::table('display_videos')->truncate();
|
||||
DB::table('display_videos')->insert([
|
||||
['id' => 1, 'filename' => 'herbst_2025.mp4', 'title' => 'Herbst 2025', 'position' => 25, 'sort_order' => 2, 'is_active' => 1, 'created_at' => '2025-12-18 13:19:22', 'updated_at' => '2026-01-06 12:23:48'],
|
||||
['id' => 2, 'filename' => 'fruehjahr_2025.mp4', 'title' => 'Frühjahr 2025', 'position' => 10, 'sort_order' => 1, 'is_active' => 1, 'created_at' => '2025-12-18 13:19:22', 'updated_at' => '2026-01-06 12:23:50'],
|
||||
['id' => 3, 'filename' => 'fruehjahr_2024.mp4', 'title' => 'Frühjahr 2024', 'position' => 40, 'sort_order' => 0, 'is_active' => 1, 'created_at' => '2025-12-18 13:19:22', 'updated_at' => '2026-01-31 15:28:23'],
|
||||
['id' => 4, 'filename' => 'herbst_2024.mp4', 'title' => 'Herbst 2024', 'position' => 25, 'sort_order' => 3, 'is_active' => 1, 'created_at' => '2025-12-18 13:19:22', 'updated_at' => '2025-12-18 13:19:22'],
|
||||
]);
|
||||
}
|
||||
|
||||
private function seedDisplayFooterContents(): void
|
||||
{
|
||||
DB::table('display_footer_contents')->truncate();
|
||||
DB::table('display_footer_contents')->insert([
|
||||
['id' => 1, 'headline' => 'Beratung & Termin', 'subline' => 'Jetzt Termin vereinbaren.', 'url' => 'https://www.cabinet.de/bielefeld?utm_source=store_display&utm_medium=qr_code&utm_campaign=bielefeld_pos&utm_content=termin_buchung#c39393', 'short_code' => 'c59kjb', 'clicks' => 6, 'sort_order' => 1, 'is_active' => 1, 'created_at' => '2025-12-18 13:19:22', 'updated_at' => '2025-12-18 14:10:35'],
|
||||
['id' => 2, 'headline' => 'Beratung vor Ort', 'subline' => 'Einfach reinkommen.', 'url' => 'https://www.cabinet.de/bielefeld?utm_source=store_display&utm_medium=qr_code&utm_campaign=bielefeld_pos&utm_content=termin_buchung#c39393', 'short_code' => '3bi07j', 'clicks' => 2, 'sort_order' => 2, 'is_active' => 1, 'created_at' => '2025-12-18 13:19:22', 'updated_at' => '2025-12-18 14:10:33'],
|
||||
['id' => 3, 'headline' => 'Pinterest', 'subline' => 'Inspirationen entdecken.', 'url' => 'https://de.pinterest.com/cabinet_AG/', 'short_code' => '1cl8so', 'clicks' => 0, 'sort_order' => 3, 'is_active' => 1, 'created_at' => '2025-12-18 13:19:22', 'updated_at' => '2025-12-18 14:10:32'],
|
||||
['id' => 4, 'headline' => 'Instagram', 'subline' => 'Tägliche Einblicke & Design.', 'url' => 'https://www.instagram.com/cabinet_schranksysteme/', 'short_code' => 'hz1tx2', 'clicks' => 0, 'sort_order' => 4, 'is_active' => 1, 'created_at' => '2025-12-18 13:19:22', 'updated_at' => '2025-12-18 14:10:30'],
|
||||
['id' => 5, 'headline' => 'Facebook', 'subline' => 'News, Aktionen & Community.', 'url' => 'https://de-de.facebook.com/cabinetschranksysteme/', 'short_code' => 'almb7t', 'clicks' => 0, 'sort_order' => 5, 'is_active' => 1, 'created_at' => '2025-12-18 13:19:22', 'updated_at' => '2025-12-18 14:10:29'],
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
@ -3,8 +3,8 @@
|
|||
namespace Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use Spatie\Permission\Models\Permission;
|
||||
use Spatie\Permission\Models\Role;
|
||||
|
||||
class RoleSeeder extends Seeder
|
||||
{
|
||||
|
|
@ -36,6 +36,7 @@ class RoleSeeder extends Seeder
|
|||
'create products',
|
||||
'edit products',
|
||||
'delete products',
|
||||
'curate products', // Produkte freigeben/ablehnen (Admin)
|
||||
'manage rental options', // Miet-Parameter verwalten
|
||||
|
||||
// Order Management (für später)
|
||||
|
|
@ -49,7 +50,7 @@ class RoleSeeder extends Seeder
|
|||
|
||||
// Frontend/Customer facing
|
||||
'access dashboard', // Genereller Backend-Zugriff
|
||||
'place orders' // Für Kunden
|
||||
'place orders', // Für Kunden
|
||||
];
|
||||
|
||||
// Erstelle Permissions
|
||||
|
|
@ -73,7 +74,7 @@ class RoleSeeder extends Seeder
|
|||
$customerRole->givePermissionTo([
|
||||
'view products',
|
||||
'place orders',
|
||||
'view orders' // Eigene Bestellungen sehen
|
||||
'view orders', // Eigene Bestellungen sehen
|
||||
]);
|
||||
|
||||
// 2. Estate-Agent (Makler)
|
||||
|
|
@ -90,7 +91,7 @@ class RoleSeeder extends Seeder
|
|||
$estateAgentRole->givePermissionTo([
|
||||
'access dashboard',
|
||||
'view partners', // Damit sie sehen können, wen sie empfehlen
|
||||
'view hubs'
|
||||
'view hubs',
|
||||
// Makler bekommen KEINE Produkt- oder Order-Rechte
|
||||
]);
|
||||
|
||||
|
|
@ -113,7 +114,7 @@ class RoleSeeder extends Seeder
|
|||
'delete products', // Später eingeschränkt auf EIGENE Produkte
|
||||
'manage rental options',
|
||||
'view orders', // Eigene Bestellungen
|
||||
'manage orders' // Eigene Bestellungen
|
||||
'manage orders', // Eigene Bestellungen
|
||||
]);
|
||||
|
||||
// 4. Manufacturer (Hersteller)
|
||||
|
|
@ -135,7 +136,7 @@ class RoleSeeder extends Seeder
|
|||
'delete products', // Später eingeschränkt auf EIGENE Produkte
|
||||
'manage rental options',
|
||||
'view orders', // Eigene Bestellungen
|
||||
'manage orders' // Eigene Bestellungen
|
||||
'manage orders', // Eigene Bestellungen
|
||||
]);
|
||||
|
||||
// 5. Admin (B2In Management / Marcel)
|
||||
|
|
@ -144,7 +145,7 @@ class RoleSeeder extends Seeder
|
|||
'display_name' => 'Admin (Administrator)',
|
||||
'icon' => 'user-circle',
|
||||
'color' => 'purple',
|
||||
'can_be_invited' => false // Admins werden NICHT eingeladen
|
||||
'can_be_invited' => false, // Admins werden NICHT eingeladen
|
||||
]);
|
||||
$adminRole->givePermissionTo([
|
||||
'access dashboard',
|
||||
|
|
@ -161,12 +162,13 @@ class RoleSeeder extends Seeder
|
|||
'create products',
|
||||
'edit products',
|
||||
'delete products',
|
||||
'curate products',
|
||||
'manage rental options',
|
||||
'view orders',
|
||||
'manage orders',
|
||||
'view users',
|
||||
'manage users',
|
||||
'manage roles'
|
||||
'manage roles',
|
||||
]);
|
||||
|
||||
// 6. Super-Admin (Entwickler)
|
||||
|
|
@ -177,7 +179,7 @@ class RoleSeeder extends Seeder
|
|||
'display_name' => 'Super-Admin (Entwickler)',
|
||||
'icon' => 'shield-check',
|
||||
'color' => 'red',
|
||||
'can_be_invited' => false // Super-Admins werden NICHT eingeladen
|
||||
'can_be_invited' => false, // Super-Admins werden NICHT eingeladen
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
67
database/seeders/SettingsSeeder.php
Normal file
67
database/seeders/SettingsSeeder.php
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\Setting;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class SettingsSeeder extends Seeder
|
||||
{
|
||||
public function run(): void
|
||||
{
|
||||
$settings = [
|
||||
// Ticket-Einstellungen
|
||||
[
|
||||
'group' => 'tickets',
|
||||
'key' => 'validity_days',
|
||||
'value' => '30',
|
||||
'type' => 'integer',
|
||||
'description' => 'Gültigkeitsdauer eines Tickets in Tagen',
|
||||
],
|
||||
[
|
||||
'group' => 'tickets',
|
||||
'key' => 'receipt_upload_deadline_days',
|
||||
'value' => '30',
|
||||
'type' => 'integer',
|
||||
'description' => 'Frist für den Beleg-Upload nach Ticket-Einlösung in Tagen',
|
||||
],
|
||||
[
|
||||
'group' => 'tickets',
|
||||
'key' => 'max_per_merchant_per_customer',
|
||||
'value' => '3',
|
||||
'type' => 'integer',
|
||||
'description' => 'Max. Tickets pro Händler pro Kunde',
|
||||
],
|
||||
[
|
||||
'group' => 'tickets',
|
||||
'key' => 'max_merchants_per_customer',
|
||||
'value' => '4',
|
||||
'type' => 'integer',
|
||||
'description' => 'Max. Händler pro Kunde pro Zeitraum',
|
||||
],
|
||||
|
||||
// Provisions-Einstellungen
|
||||
[
|
||||
'group' => 'commissions',
|
||||
'key' => 'default_broker_rate',
|
||||
'value' => '0',
|
||||
'type' => 'integer',
|
||||
'description' => 'Standard-Makler-Provision in Prozent (individuell je Partner)',
|
||||
],
|
||||
[
|
||||
'group' => 'commissions',
|
||||
'key' => 'default_cashback_rate',
|
||||
'value' => '0',
|
||||
'type' => 'integer',
|
||||
'description' => 'Standard-Kunden-Cashback in Prozent (individuell je Partner)',
|
||||
],
|
||||
];
|
||||
|
||||
foreach ($settings as $setting) {
|
||||
Setting::query()->updateOrCreate(
|
||||
['group' => $setting['group'], 'key' => $setting['key']],
|
||||
$setting
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue