<?php
/**
 * Setup Seeder
 *
 * Multi-Tenant-Seeder, der über die Setup-Konfiguration in "etc/setup/globals.php" (im Projekt) gesteuert wird
 *
 * @version     1.0.$Revision:$
 * @version     SVN: $Id:$
 * @package     bplan-base\globals
 * @subpackage  Seeders
 * @author      Wassilios Meletiadis <wassilios.meletiadis@bplan-solutions.de>
 * @copyright   Copyright (C) 2025, 2026 bplan-solutions GmbH & Co. KG <https://www.bplan-solutions.de/>
 * /Δ\
 */

namespace BplanBase\Globals\Database\Seeders\Project;


use BplanBase\Globals\Enums\UserAccessLevel;
use BplanBase\Globals\Models\Tenant;
use Illuminate\Database\Seeder;


/**
 * Seeder Class
 *
 * Seed default system users with records and roles.
 *
 * @author      Wassilios Meletiadis <wassilios.meletiadis@bplan-solutions.de>
 */
class UserSeeder extends Seeder
{

    /**
     * Run the database seeds.
     *
     * @return void
     *
     * @author      Wassilios Meletiadis <wassilios.meletiadis@bplan-solutions.de>
     */
    public function run()
    {
        $globalsSetup = require base_path('etc/setup/globals.php');

        foreach ($globalsSetup as $tenant => $globalsConfig) {
            $ProjectTenant = Tenant::where('identifier', $tenant)->first();

            $users = [
                [
                    'data' => [
                        'access_level' => UserAccessLevel::Admin->name,
                        'email' => $globalsConfig['company']['email'],
                        'internal' => 0,
                        'name' => 'administrator',
                        'tenant_id' => $ProjectTenant->id
                    ],
                    'password' => true,
                    'roles' => [
                        'Admin',
                    ],
                ],
            ];
            seed_users($users);
        }

    } // run()


} // class UserSeeder extends Seeder {}
