From d83bc032586af8fcdf5011d010cbc1556655c4d0 Mon Sep 17 00:00:00 2001 From: Mekan1206 Date: Sun, 8 Feb 2026 22:08:53 +0500 Subject: [PATCH] WIP --- .../Product/Category/CategoryRepository.php | 1 + database/seeders/DatabaseSeeder.php | 5 +- database/seeders/UsersTableSeeder.php | 21 +++++++++ database/seeders/new/ProductsTableSeeder.php | 46 +++++++++++++++++++ 4 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 database/seeders/new/ProductsTableSeeder.php diff --git a/app/Repositories/Ecommerce/Product/Category/CategoryRepository.php b/app/Repositories/Ecommerce/Product/Category/CategoryRepository.php index d105afd..324479d 100644 --- a/app/Repositories/Ecommerce/Product/Category/CategoryRepository.php +++ b/app/Repositories/Ecommerce/Product/Category/CategoryRepository.php @@ -127,6 +127,7 @@ class CategoryRepository public static function namesWithTaxes(): array { return CacheRepository::make( + time: 5, name: 'cs-nova-models-categories', value: fn () => static::maskParentName( Category::tree() diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index f92d9ad..399519a 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -4,6 +4,7 @@ namespace Database\Seeders; use Database\Seeders\New\BrandsSeeder; use Database\Seeders\New\CustomersTableSeeder; +use Database\Seeders\New\ProductsTableSeeder; use Database\Seeders\New\SellersTableSeeder; use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; @@ -21,8 +22,8 @@ class DatabaseSeeder extends Seeder // UsersTableSeeder::class, // BrandsSeeder::class, // CustomersTableSeeder::class, - SellersTableSeeder::class, - // InventoriesTableSeeder::class, + // SellersTableSeeder::class, + // ProductsTableSeeder::class, ]); } } diff --git a/database/seeders/UsersTableSeeder.php b/database/seeders/UsersTableSeeder.php index 58b5b30..e1e1927 100644 --- a/database/seeders/UsersTableSeeder.php +++ b/database/seeders/UsersTableSeeder.php @@ -2,6 +2,7 @@ namespace Database\Seeders; +use App\Models\Ecommerce\Channel\Channel; use App\Models\System\Roles\Role; use App\Models\User; use Illuminate\Database\Seeder; @@ -36,6 +37,8 @@ class UsersTableSeeder extends Seeder $user->assignRole('admin'); }); + + $this->createChannels(); } public function seedRoles(): void @@ -76,4 +79,22 @@ class UsersTableSeeder extends Seeder SELECT setval('roles_id_seq', (SELECT MAX(id) from roles)) "); } + + public function createChannels(): void + { + collect([ + [ + 'name' => 'Tmpost', + 'slug' => 'tmpost', + 'description' => 'Tmpost default', + 'timezone' => 'Asia/Ashgabat', + 'url' => 'http://shop.post.tm', + 'is_default' => true, + ], + ])->each(fn ($data) => Channel::create($data)); + + DB::statement(" + SELECT setval('channels_id_seq', (SELECT MAX(id) from channels)) + "); + } } diff --git a/database/seeders/new/ProductsTableSeeder.php b/database/seeders/new/ProductsTableSeeder.php new file mode 100644 index 0000000..e78966d --- /dev/null +++ b/database/seeders/new/ProductsTableSeeder.php @@ -0,0 +1,46 @@ +truncate(); + + $items = Items::fromFile( + database_path('data/items.json'), + ['decoder' => new ExtJsonDecoder(true)] + ); + + foreach ($items as $data) { + $name = json_decode($data['name']); + $description = json_decode($data['description']); + + DB::table($table)->insert([ + 'id' => $data['id'], + 'sku' => $data['sku'], + 'name' => $name->tm, + 'slug' => $data['slug'], + 'description' => $description->tm, + 'brand_id' => $data['brand_id'], + 'is_visible' => $data['is_blocked'], + 'created_at' => $data['created_at'], + 'updated_at' => $data['updated_at'], + ]); + + // $data->seller_id; + } + + DB::statement(" + SELECT setval('{$table}_id_seq', (SELECT MAX(id) from {$table})) + "); + } +} \ No newline at end of file