50 lines
1.3 KiB
PHP
50 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\User;
|
|
use Illuminate\Database\Seeder;
|
|
use Laravel\Passport\Client;
|
|
use Laravel\Passport\ClientRepository;
|
|
|
|
class DatabaseSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Seed the application's database.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
User::query()->updateOrCreate(
|
|
['email' => 'test@example.com'],
|
|
[
|
|
'name' => 'Test User',
|
|
'email_verified_at' => now(),
|
|
'password' => 'password',
|
|
],
|
|
);
|
|
|
|
foreach (range(1, 6) as $number) {
|
|
User::query()->updateOrCreate(
|
|
['email' => "user{$number}@thats-me.app"],
|
|
[
|
|
'name' => "User {$number}",
|
|
'email_verified_at' => now(),
|
|
'password' => 'pass',
|
|
],
|
|
);
|
|
}
|
|
|
|
$hasPersonalAccessClient = Client::query()
|
|
->where('provider', 'users')
|
|
->where('revoked', false)
|
|
->get()
|
|
->contains(fn (Client $client): bool => $client->hasGrantType('personal_access'));
|
|
|
|
if (! $hasPersonalAccessClient) {
|
|
app(ClientRepository::class)->createPersonalAccessGrantClient(
|
|
'Thats Me Quasar Personal Access Client',
|
|
'users',
|
|
);
|
|
}
|
|
}
|
|
}
|