This commit is contained in:
Mekan1206
2026-02-08 20:32:33 +05:00
parent 30a94b3533
commit 201e112085
4 changed files with 121 additions and 23 deletions

View File

@@ -16,10 +16,11 @@ class DatabaseSeeder extends Seeder
public function run(): void
{
$this->call([
// BrandsSeeder::class,
// CustomersTableSeeder::class,
SellersTableSeeder::class,
// InventoriesTableSeeder::class,
UsersTableSeeder::class,
// BrandsSeeder::class,
// CustomersTableSeeder::class,
// SellersTableSeeder::class,
// InventoriesTableSeeder::class,
]);
}
}

View File

@@ -0,0 +1,80 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use App\Models\User;
use App\Models\System\Roles\Role;
use Illuminate\Support\Facades\DB;
class UsersTableSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$this->seedStarterKit();
}
/**
* Starter kit data
*/
public function seedStarterKit(): void
{
$this->seedRoles();
collect([
[
'first_name' => 'Nurmuhammet',
'last_name' => 'Allanov',
'email' => 'nurmuhammet@mail.com',
'password' => bcrypt('payload10'),
],
])->each(function ($data) {
$user = User::create($data);
$user->assignRole('admin');
});
}
public function seedRoles(): void
{
$roles = [
[
'id' => 1,
'name' => 'admin',
'guard_name' => 'web',
],
[
'id' => 2,
'name' => 'manager',
'guard_name' => 'web',
],
[
'id' => 3,
'name' => 'user',
'guard_name' => 'web',
],
[
'id' => 4,
'name' => 'vendor',
'guard_name' => 'web',
],
[
'id' => 5,
'name' => 'viewer',
'guard_name' => 'web',
],
];
foreach ($roles as $role) {
Role::forceCreate($role);
}
DB::statement("
SELECT setval('roles_id_seq', (SELECT MAX(id) from roles))
");
}
}

View File

@@ -5,7 +5,6 @@ namespace Database\Seeders\New;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Str;
class InventoriesTableSeeder extends Seeder
{
@@ -18,17 +17,17 @@ class InventoriesTableSeeder extends Seeder
// foreach ($datas as $data) {
// DB::table($table)->insertOrIgnore([
// "id": 2,
// "code": "maruf_5469008",
// "name": "Maruf",
// "address": "5858 Billie Plains Apt. 231\nDaxmouth, NH 94147-9694",
// "phone": "99362440390",
// "is_blocked": true,
// "seller_id": 2,
// "created_at": "2025-01-10 07:59:05",
// "updated_at": "2025-01-10 07:59:05",
// "is_main": false
// "id": 2,
// "code": "maruf_5469008",
// "name": "Maruf",
// "address": "5858 Billie Plains Apt. 231\nDaxmouth, NH 94147-9694",
// "phone": "99362440390",
// "is_blocked": true,
// "seller_id": 2,
// "created_at": "2025-01-10 07:59:05",
// "updated_at": "2025-01-10 07:59:05",
// "is_main": false
// ]);
// }

View File

@@ -2,26 +2,44 @@
namespace Database\Seeders\New;
use App\Models\User;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
class SellersTableSeeder extends Seeder
{
public function run()
{
$datas = json_decode(File::get('database/seeders/new/data/sellers.json'));
$datas = json_decode(File::get('database/data/sellers.json'));
$table = 'users';
// First we create user, then we remove
// First we create user by this data, and attach `vendor` role. Then we create channel for this user.
// foreach ($datas as $data) {
// }
foreach ($datas as $data) {
$user = User::create([
'first_name' => $data->firstname,
'last_name' => $data->lastname,
'email' => $data->email,
'phone_number' => str_replace('+993', '', $data->phone),
'password' => Hash::make('12345678'),
]);
$user->assignRole('vendor');
$user->channels()->create([
'name' => $data->first_name.' '.$data->last_name,
'slug' => Str::slug($data->first_name.' '.$data->last_name),
]);
}
DB::statement("
SELECT setval('{$table}_id_seq', (SELECT MAX(id) from {$table}))
")
");
DB::statement("
SELECT setval('channels_id_seq', (SELECT MAX(id) from channels))
");
}
}
}