mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
* Install bouncer * Seeder and level migration * Display and edit roles * remove unused deluser page * Update Radius and SSO to assign roles * update AlertUtil direct level check to use roles instead * rewrite ircbot auth handling * Remove legacy auth getUserlist and getUserlevel methods, add getRoles Set roles in LegacyUserProvider * Small cleanups * centralize role sync code show roles on user preferences page * VueSelect component WIP and a little docs * WIP * SelectControllers id and text fields. * LibrenmsSelect component extracted from SettingSelectDynamic * Handle multiple selections * allow type coercion * full width settings * final style adjustments * Final compiled assets update * Style fixes * Fix SSO tests * Lint cleanups * small style fix * don't use json yet * Update baseline for usptream package issues * Change schema, not 100% sure it is correct not sure why xor doesn't work
44 lines
1.2 KiB
PHP
44 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace Database\Factories;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
use Silber\Bouncer\BouncerFacade as Bouncer;
|
|
|
|
/** @extends Factory<\App\Models\User> */
|
|
class UserFactory extends Factory
|
|
{
|
|
/**
|
|
* Define the model's default state.
|
|
*
|
|
* @return array
|
|
*/
|
|
public function definition(): array
|
|
{
|
|
return [
|
|
'auth_type' => 'mysql',
|
|
'username' => $this->faker->unique()->userName(),
|
|
'realname' => $this->faker->name(),
|
|
'email' => $this->faker->safeEmail(),
|
|
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
|
|
];
|
|
}
|
|
|
|
public function admin()
|
|
{
|
|
return $this->afterCreating(function ($user) {
|
|
Bouncer::allow('admin')->everything();
|
|
$user->assign('admin');
|
|
});
|
|
}
|
|
|
|
public function read()
|
|
{
|
|
return $this->afterCreating(function ($user) {
|
|
Bouncer::allow(Bouncer::role()->firstOrCreate(['name' => 'global-read'], ['title' => 'Global Read']))
|
|
->to('viewAny', '*', []);
|
|
$user->assign('global-read');
|
|
});
|
|
}
|
|
}
|