Compare commits
4 Commits
30a94b3533
...
de1d7fbed8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
de1d7fbed8 | ||
|
|
d3156e228f | ||
|
|
299abeecbf | ||
|
|
201e112085 |
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
namespace Database\Seeders;
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use Database\Seeders\New\BrandsSeeder;
|
||||||
|
use Database\Seeders\New\CustomersTableSeeder;
|
||||||
use Database\Seeders\New\SellersTableSeeder;
|
use Database\Seeders\New\SellersTableSeeder;
|
||||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
@@ -16,6 +18,7 @@ class DatabaseSeeder extends Seeder
|
|||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$this->call([
|
$this->call([
|
||||||
|
// UsersTableSeeder::class,
|
||||||
// BrandsSeeder::class,
|
// BrandsSeeder::class,
|
||||||
// CustomersTableSeeder::class,
|
// CustomersTableSeeder::class,
|
||||||
SellersTableSeeder::class,
|
SellersTableSeeder::class,
|
||||||
|
|||||||
79
database/seeders/UsersTableSeeder.php
Normal file
79
database/seeders/UsersTableSeeder.php
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\System\Roles\Role;
|
||||||
|
use App\Models\User;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
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))
|
||||||
|
");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,7 +11,7 @@ class BrandsSeeder extends Seeder
|
|||||||
{
|
{
|
||||||
public function run()
|
public function run()
|
||||||
{
|
{
|
||||||
$datas = json_decode(File::get('database/seeders/new/data/brands.json'));
|
$datas = json_decode(File::get('database/data/brands.json'));
|
||||||
$table = 'brands';
|
$table = 'brands';
|
||||||
|
|
||||||
DB::table($table)->truncate();
|
DB::table($table)->truncate();
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ class CustomersTableSeeder extends Seeder
|
|||||||
DB::table($table)->truncate();
|
DB::table($table)->truncate();
|
||||||
|
|
||||||
$items = Items::fromFile(
|
$items = Items::fromFile(
|
||||||
database_path('seeders/new/data/customers.json'),
|
database_path('data/customers.json'),
|
||||||
['decoder' => new ExtJsonDecoder(true)]
|
['decoder' => new ExtJsonDecoder(true)]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
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
|
|
||||||
{
|
|
||||||
public function run()
|
|
||||||
{
|
|
||||||
// $datas = json_decode(File::get('database/seeders/new/data/warehouses.json'));
|
|
||||||
// $table = 'inventories';
|
|
||||||
|
|
||||||
// DB::table($table)->truncate();
|
|
||||||
|
|
||||||
// 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
|
|
||||||
// ]);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// DB::statement("
|
|
||||||
// SELECT setval('{$table}_id_seq', (SELECT MAX(id) from {$table}))
|
|
||||||
// ");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -2,26 +2,66 @@
|
|||||||
|
|
||||||
namespace Database\Seeders\New;
|
namespace Database\Seeders\New;
|
||||||
|
|
||||||
|
use App\Models\Ecommerce\Product\Inventory\Inventory;
|
||||||
|
use App\Models\User;
|
||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\File;
|
use Illuminate\Support\Facades\File;
|
||||||
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
class SellersTableSeeder extends Seeder
|
class SellersTableSeeder extends Seeder
|
||||||
{
|
{
|
||||||
public function run()
|
public function run()
|
||||||
{
|
{
|
||||||
$datas = json_decode(File::get('database/seeders/new/data/sellers.json'));
|
DB::transaction(function () {
|
||||||
|
$datas = json_decode(File::get('database/data/sellers.json'));
|
||||||
|
$warehouses = json_decode(File::get('database/data/warehouses.json'));
|
||||||
$table = 'users';
|
$table = 'users';
|
||||||
|
|
||||||
// First we create user, then we remove
|
foreach ($datas as $data) {
|
||||||
|
$user = User::create([
|
||||||
|
'first_name' => $data->firstname,
|
||||||
|
'last_name' => $data->lastname,
|
||||||
|
'email' => $data->email,
|
||||||
|
'phone_number' => Str::after($data->phone, '993'),
|
||||||
|
'password' => Hash::make('12345678'),
|
||||||
|
]);
|
||||||
|
|
||||||
// foreach ($datas as $data) {
|
$user->assignRole('vendor');
|
||||||
|
|
||||||
// }
|
$user->channels()->create([
|
||||||
|
'name' => $data->firstname.' '.$data->lastname,
|
||||||
|
'slug' => Str::slug($data->firstname.' '.$data->lastname).'_'.random_int(10000, 9999999),
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->createWarehouses(warehouses: $warehouses, user: $user, old_user_id: $data->id);
|
||||||
|
}
|
||||||
|
|
||||||
DB::statement("
|
DB::statement("
|
||||||
SELECT setval('{$table}_id_seq', (SELECT MAX(id) from {$table}))
|
SELECT setval('{$table}_id_seq', (SELECT MAX(id) from {$table}))
|
||||||
")
|
");
|
||||||
|
DB::statement("
|
||||||
|
SELECT setval('channels_id_seq', (SELECT MAX(id) from channels))
|
||||||
|
");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private function createWarehouses(array $warehouses, User $user, int $old_user_id)
|
||||||
|
{
|
||||||
|
$warehouses = array_filter($warehouses, function ($warehouse) use ($old_user_id) {
|
||||||
|
return $warehouse->seller_id == $old_user_id;
|
||||||
|
});
|
||||||
|
|
||||||
|
foreach ($warehouses as $warehouse) {
|
||||||
|
Inventory::create([
|
||||||
|
'id' => $warehouse->id,
|
||||||
|
'code' => $warehouse->code,
|
||||||
|
'name' => $warehouse->name,
|
||||||
|
'region' => 'ag',
|
||||||
|
'phone_number' => Str::after($warehouse->phone, '993'),
|
||||||
|
'channel_id' => $user->channels()->first()->id,
|
||||||
|
]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user