This commit is contained in:
2023-11-26 18:56:40 +08:00
parent be14f5fdb1
commit 64431e7a73
144 changed files with 497072 additions and 3730 deletions

View File

@@ -0,0 +1,27 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\DB;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
DB::statement('CREATE EXTENSION IF NOT EXISTS vector');
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
DB::statement('DROP EXTENSION vector');
}
};

View File

@@ -13,22 +13,16 @@ public function up(): void
{
Schema::create('categories', function (Blueprint $table) {
$table->id();
$table->enum('type', ['review', 'launch', 'deals'])->default('review');
$table->foreignId('country_locale_id');
$table->string('country_locale_slug')->default('my');
$table->string('name')->nullable();
$table->string('short_name')->nullable();
$table->string('name');
$table->string('emoji')->nullable();
$table->string('slug')->nullable();
$table->mediumText('description')->nullable();
$table->boolean('enabled')->default(true);
$table->boolean('is_top')->default(true);
$table->boolean('is_top')->default(false);
$table->nestedSet();
$table->softDeletes();
$table->timestamps();
$table->foreign('country_locale_id')->references('id')->on('country_locales');
$table->foreign('country_locale_slug')->references('slug')->on('country_locales');
});
}

View File

@@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('url_to_crawls', function (Blueprint $table) {
$table->id();
$table->string('domain');
$table->string('url');
$table->boolean('is_crawling')->default(false);
$table->boolean('is_crawled')->default(false);
$table->enum('output_type', ['html', 'markdown', 'file'])->nullable();
$table->text('output')->nullable();
$table->json('metadata')->nullable();
$table->enum('status', ['initial', 'complete', 'blocked', 'trashed'])->default('initial');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('url_to_crawls');
}
};

View File

@@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('service_cost_usages', function (Blueprint $table) {
$table->id();
$table->double('cost', 5, 5);
$table->string('name');
$table->string('reference_1')->nullable();
$table->string('reference_2')->nullable();
$table->jsonb('output');
$table->text('input_1')->nullable();
$table->text('input_2')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('service_cost_usages');
}
};

View File

@@ -0,0 +1,45 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('ai_tools', function (Blueprint $table) {
$table->id();
$table->foreignId('category_id');
$table->foreignId('url_to_crawl_id');
$table->string('screenshot_img')->nullable();
$table->boolean('is_ai_tool')->default(true);
$table->string('tool_name');
$table->string('is_app_web_both');
$table->text('tagline')->nullable();
$table->text('summary')->nullable();
$table->string('pricing_type');
$table->mediumText('keyword_string')->nullable();
$table->jsonb('qna')->nullable();
$table->timestamps();
$table->foreign('category_id')->references('id')->on('categories');
$table->foreign('url_to_crawl_id')->references('id')->on('url_to_crawls');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('ai_tools');
}
};

View File

@@ -0,0 +1,37 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('ai_tool_keywords', function (Blueprint $table) {
$table->id();
$table->foreignId('category_id');
$table->foreignId('ai_tool_id');
$table->string('value');
$table->string('value_lowercased');
$table->timestamps();
$table->foreign('category_id')->references('id')->on('categories');
$table->foreign('ai_tool_id')->references('id')->on('ai_tools');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('ai_tool_keywords');
}
};

View File

@@ -0,0 +1,38 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('search_embeddings', function (Blueprint $table) {
$table->id();
$table->enum('type', ['ai_tool', 'ai_tool_keyword', 'qna']);
$table->foreignId('category_id')->nullable();
$table->foreignId('ai_tool_id')->nullable();
$table->text('query');
$table->vector('embedding', 384)->nullable();
$table->timestamps();
$table->foreign('ai_tool_id')->references('id')->on('ai_tools');
$table->foreign('category_id')->references('id')->on('categories');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('search_embeddings');
}
};

View File

@@ -1,28 +0,0 @@
<?php
namespace Database\Seeders;
use App\Models\CountryLocale;
use Illuminate\Database\Seeder;
class CountryLocaleSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$global_country_locale = CountryLocale::where('slug', 'global')->first();
if (is_null($global_country_locale)) {
$global_country_locale = new CountryLocale;
$global_country_locale->name = 'Global';
$global_country_locale->slug = 'global';
$global_country_locale->i18n = 'en';
$global_country_locale->lang = 'en';
$global_country_locale->country_iso = '*';
$global_country_locale->enabled = true;
$global_country_locale->save();
}
}
}

View File

@@ -0,0 +1,74 @@
<?php
namespace Database\Seeders;
use App\Models\Category;
use Illuminate\Database\Seeder;
class ParentCategorySeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$parent_categories = [
['name' => 'AI Training', 'emoji' => '🤖', 'is_top' => false],
['name' => 'Art', 'emoji' => '🎨', 'is_top' => true],
['name' => 'Audio', 'emoji' => '🔊', 'is_top' => true],
['name' => 'Avatars', 'emoji' => '👤', 'is_top' => false],
['name' => 'Business', 'emoji' => '💼', 'is_top' => true],
['name' => 'Chatbots', 'emoji' => '💬', 'is_top' => true],
['name' => 'Coaching', 'emoji' => '🏋️‍♂️', 'is_top' => false],
['name' => 'Data', 'emoji' => '📊', 'is_top' => false],
['name' => 'Dating', 'emoji' => '💞', 'is_top' => true],
['name' => 'Design', 'emoji' => '🖌️', 'is_top' => true],
['name' => 'Education', 'emoji' => '📚', 'is_top' => false],
['name' => 'Emailing', 'emoji' => '📧', 'is_top' => false],
['name' => 'Finance', 'emoji' => '💰', 'is_top' => false],
['name' => 'Gaming', 'emoji' => '🎮', 'is_top' => false],
['name' => 'GPTs', 'emoji' => '🤖', 'is_top' => true],
['name' => 'Legal', 'emoji' => '⚖️', 'is_top' => false],
['name' => 'Marketing', 'emoji' => '📈', 'is_top' => true],
['name' => 'Music', 'emoji' => '🎵', 'is_top' => false],
['name' => 'Podcasting', 'emoji' => '🎙️', 'is_top' => false],
['name' => 'Productivity', 'emoji' => '⏱️', 'is_top' => false],
['name' => 'Prompting', 'emoji' => '💡', 'is_top' => true],
['name' => 'Research', 'emoji' => '🔍', 'is_top' => false],
['name' => 'SEO', 'emoji' => '🌐', 'is_top' => false],
['name' => 'Social', 'emoji' => '👥', 'is_top' => false],
['name' => 'Speech', 'emoji' => '🗣️', 'is_top' => true],
['name' => 'Translation', 'emoji' => '🌎', 'is_top' => false],
['name' => 'Video', 'emoji' => '📹', 'is_top' => true],
['name' => 'Writing', 'emoji' => '✍️', 'is_top' => true],
['name' => 'Content Generation', 'emoji' => '📝', 'is_top' => true],
['name' => 'Support', 'emoji' => '🛠️', 'is_top' => false],
['name' => 'Health', 'emoji' => '🍏', 'is_top' => false],
['name' => 'Networking', 'emoji' => '🔗', 'is_top' => false],
['name' => 'Personal Assistance', 'emoji' => '🤝', 'is_top' => false],
['name' => 'Planning', 'emoji' => '📅', 'is_top' => false],
['name' => 'Project Management', 'emoji' => '📈', 'is_top' => false],
['name' => 'Reporting', 'emoji' => '📑', 'is_top' => false],
['name' => 'Sales', 'emoji' => '🏷️', 'is_top' => false],
['name' => 'Security', 'emoji' => '🔒', 'is_top' => false],
['name' => 'Shopping', 'emoji' => '🛍️', 'is_top' => false],
['name' => 'Simulation', 'emoji' => '🕹️', 'is_top' => false],
['name' => 'Task', 'emoji' => '✅', 'is_top' => true],
['name' => 'Dev', 'emoji' => '👨‍💻', 'is_top' => true],
['name' => 'Testing', 'emoji' => '🔬', 'is_top' => false],
['name' => 'Training', 'emoji' => '🏋️', 'is_top' => false],
['name' => 'UI/UX', 'emoji' => '🖌️', 'is_top' => false],
['name' => 'Workflow', 'emoji' => '🔄', 'is_top' => false],
];
foreach ($parent_categories as $item) {
$node = Category::create([
'name' => $item['name'],
'slug' => str_slug($item['name']),
'emoji' => $item['emoji'],
'is_top' => $item['is_top'],
]);
}
}
}

View File

@@ -1,61 +0,0 @@
<?php
namespace Database\Seeders;
use App\Models\Author;
use App\Models\Category;
use App\Models\Post;
use App\Models\PostCategory;
use Faker\Factory as FakerFactory;
use Illuminate\Database\Seeder;
use Illuminate\Support\Str;
class PostsSeeder extends Seeder
{
/*
* Run the database seeds.
*/
public function run(): void
{
$authors = Author::where('enabled', true)->get();
$categories = Category::where('enabled', true)->get();
$faker = FakerFactory::create();
for ($i = 0; $i < 20; $i++) {
$photo_id = (($i + 1) % 16); // placekitten has only 16 photos
$post_title = $faker->sentence;
$post_slug = Str::slug($post_title, '-');
$cloned_authors = clone $authors;
$cloned_categories = clone $categories;
$createdAt = $faker->dateTimeBetween('-1 year', 'now');
$post = Post::create([
'title' => $post_title,
'slug' => $post_slug,
'excerpt' => $faker->paragraph,
'author_id' => $cloned_authors->shuffle()->first()->id,
'featured' => rand(0, 1),
'featured_image' => "https://placekitten.com/1920/1080?image={$photo_id}",
'editor' => 'editorjs',
'post_format' => 'standard',
'comment_count' => rand(0, 100),
'likes_count' => rand(0, 100),
'status' => 'publish',
'body' => "{\"time\":1563816717958,\"blocks\":[{\"data\":{\"text\":\"Editor.js\",\"level\":2},\"type\":\"header\"},{\"data\":{\"text\":\"Hey. Meet the new Editor. On this page you can see it in action \\u2014 try to edit this text.\"},\"type\":\"paragraph\"},{\"data\":{\"text\":\"Key features\",\"level\":3},\"type\":\"header\"},{\"data\":{\"items\":[\"It is a block-styled editor\",\"It returns clean data output in JSON\",\"Designed to be extendable and pluggable with a simple API\"],\"style\":\"unordered\"},\"type\":\"list\"},{\"data\":{\"text\":\"What does it mean \\u00abblock-styled editor\\u00bb\",\"level\":3},\"type\":\"header\"},{\"data\":{\"text\":\"Workspace in classic editors is made of a single contenteditable element, used to create different HTML markups. Editor.js <mark class=\\\"cdx-marker\\\">workspace consists of separate Blocks: paragraphs, headings, images, lists, quotes, etc<\\\/mark>. Each of them is an independent contenteditable element (or more complex structure) provided by Plugin and united by Editor's Core.\"},\"type\":\"paragraph\"},{\"data\":{\"text\":\"There are dozens of <a href=\\\"https:\\\/\\\/github.com\\\/editor-js\\\">ready-to-use Blocks<\\\/a> and the <a href=\\\"https:\\\/\\\/editorjs.io\\\/creating-a-block-tool\\\">simple API<\\\/a> for creation any Block you need. For example, you can implement Blocks for Tweets, Instagram posts, surveys and polls, CTA-buttons and even games.\"},\"type\":\"paragraph\"},{\"data\":{\"text\":\"What does it mean clean data output\",\"level\":3},\"type\":\"header\"},{\"data\":{\"text\":\"Classic WYSIWYG-editors produce raw HTML-markup with both content data and content appearance. On the contrary, Editor.js outputs JSON object with data of each Block. You can see an example below\"},\"type\":\"paragraph\"},{\"data\":{\"text\":\"Given data can be used as you want: render with HTML for <code class=\\\"inline-code\\\">Web clients<\\\/code>, render natively for <code class=\\\"inline-code\\\">mobile apps<\\\/code>, create markup for <code class=\\\"inline-code\\\">Facebook Instant Articles<\\\/code> or <code class=\\\"inline-code\\\">Google AMP<\\\/code>, generate an <code class=\\\"inline-code\\\">audio version<\\\/code> and so on.\"},\"type\":\"paragraph\"},{\"data\":{\"text\":\"Clean data is useful to sanitize, validate and process on the backend.\"},\"type\":\"paragraph\"},{\"data\":[],\"type\":\"delimiter\"},{\"data\":{\"text\":\"We have been working on this project more than three years. Several large media projects help us to test and debug the Editor, to make it's core more stable. At the same time we significantly improved the API. Now, it can be used to create any plugin for any task. Hope you enjoy. \\ud83d\\ude0f\"},\"type\":\"paragraph\"},{\"data\":{\"file\":{\"url\":\"https:\\\/\\\/codex.so\\\/upload\\\/redactor_images\\\/o_e48549d1855c7fc1807308dd14990126.jpg\"},\"caption\":\"Image caption\",\"stretched\":false,\"withBorder\":true,\"withBackground\":false},\"type\":\"image\"}],\"version\":\"2.15.0\"}",
'created_at' => $createdAt,
'updated_at' => $createdAt,
]);
$post_category = PostCategory::create([
'post_id' => $post->id,
'category_id' => $cloned_categories->shuffle()->first()->id,
]);
}
}
}

View File

@@ -0,0 +1,57 @@
<?php
namespace Database\Seeders;
use App\Models\UrlToCrawl;
use Illuminate\Database\Seeder;
class SampleDomainSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
// Path to the text file
$filePath = resource_path('data/domains/topaitools.txt');
// Check if the file exists
if (file_exists($filePath)) {
// Open the file for reading
$file = fopen($filePath, 'r');
if ($file) {
while (($url_link = fgets($file)) !== false) {
$domain = get_domain_from_url($url_link);
// dump($url_link);
$url_link = remove_query_parameters($url_link);
// dd($url_link);
$url_to_crawl = UrlToCrawl::where('url', $url_link)->first();
if (is_null($url_to_crawl)) {
$url_to_crawl = new UrlToCrawl;
$url_to_crawl->domain = $domain;
$url_to_crawl->url = $url_link;
$url_to_crawl->save();
}
}
if (! feof($file)) {
dump('Error: unexpected fgets() fail');
}
// Close the file
fclose($file);
}
} else {
dump('The file does not exist.');
}
}
}

View File

@@ -1,664 +0,0 @@
<?php
namespace Database\Seeders;
use App\Models\Category;
use App\Models\ShopeeSellerCategory;
use Illuminate\Database\Seeder;
class ShopeeBeautyCategorySeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$shopee_sellers = [
'algothermmy',
'abonnemy',
'abib.os',
'acelabs.my',
'acneaiddequadindifflis',
'adidaspersonalcarestore',
'aekyung.os',
'aekyungcosmetics.os',
'aerisbeaute.my',
'aestura.os',
'aetem.os',
'agiftwithcare',
'ahcbeauty.os',
'aisasea.my',
'aishitotomalaysia',
'dermacolmalaysia',
'alliesuisaimy.os',
'alobabymalaysia',
'dr.wolff.os.my',
'altruistdermatologist.os',
'alwaysbepure.os',
'amazinghair',
'amortalsofficialstore',
'amosprofessionalofficial.my',
'anascosmetics.os',
'andis.os',
'andsonsmy',
'anessa.os',
'naturemax.os',
'anlan.my',
'antidox.os',
'anua.os',
'aplb.my',
'aprilskinmy',
'aquamarisofficialstore',
'aquapickmalaysia',
'argania.os',
'ariul.my',
'attenir.my',
'aumu8888.os',
'auracare.official',
'aurawhite2u',
'aurel.os',
'aurorad.os',
'johnsonandjohnson.os',
'axisy.os',
'azarinecosmetic.os',
'aztecsecret.os',
'bioessencemy',
'clinelle.os',
'babormy',
'bieune',
'babyliss.os',
'babylisspro.os',
'balmainmy',
'marslabs.os',
'barenbliss.os',
'bayfreebeauty.os',
'beaubelle.malaysia',
'beautybuffet.os',
'beautyhaulindo.os',
'beautyofjoseon.os',
'beautyscents.os',
'beautymall.os',
'beautyonthego.os',
'beautyra.os',
'beautystall.my',
'beippuni',
'bentonmalaysia.os',
'beplain.os',
'betterself.my',
'mandom.os',
'rorecmalaysia.os',
'biodermaofficial',
'biolanemy',
'bioshield.os',
'biotherm.os',
'bioxsinemy',
'mybisou.co',
'b.liv',
'bluniesmy.os',
'bmsorganics',
'bnblabs',
'bodyearth.os',
'bommalaysia.os',
'bombayshavingcompany.my',
'bomidiflagship',
'botanistcyh.os',
'brandssuntory',
'braun.os',
'breenabeauty',
'breyleemalaysiaofficial',
'breylee.os',
'budsorganics.os',
'byterry.os',
'bywishtrend.os',
'cloud9.os',
'camianekorea.os',
'teenibeauty.os',
'carslanofficial.os',
'caryacosmetics.os',
'catricecosmetics.os',
'catricetw.os',
'caudalie.my',
'cbd.malaysia',
'celimax.os',
'cellact.os',
'cellgen.os',
'cellina1940.os',
'cellnique.os',
'centellian24.os',
'cetaphil.os',
'chandohimalaya.os',
'chandohimalayamy',
'kikididi.os',
'chifure',
'chriszen',
'chucks.co',
'churacos.my',
'citychemo.os',
'ckeyin.os',
'claireorganics.os',
'clearbluemy.os',
'clefskincare',
'clio.os',
'cocoandeve.officialstore',
'cocochicosme.os',
'cofoemedical.os',
'colorkey.os',
'coremetrics.os',
'cosmejapan.os',
'comfortzone.os',
'cosmed.tw.os',
'cosmedixmy',
'cosmoderm',
'cosrx.os',
'cothekoo.os',
'rimmelmy.os',
'crabtreeevelyn.os',
'cs12skincare.os',
'dalbakorea.my',
'daenggimeori.os',
'daiichisankyohcofficialmy',
'damahmalaysia.os',
'darliemy.os',
'wiprounzamy',
'dashingdiva.os',
'dashukoreaofficial.my',
'dazzleme.os',
'debaletsofficial',
'dermalogica.os',
'deservelabs',
'dhc.os',
'diblanc.os',
'dnarskincare',
'doctox.os',
'unilevermy',
'dr.douximalaysia',
'simplyo.malaysia.os',
'dr.moritamalaysia',
'drwumalaysia',
'beautymask.os',
'drcinktw.os',
'drdermis',
'drforhair.os',
'dr.hsieh.os',
'onlypercent.official.my',
'drbudsorganics.os',
'dryope.os',
'fytducare.my',
'ethereal.my.os',
'eau.thermale.avene',
'ecostore.os',
'eileengrace001.os',
'elemislondon.os',
'eliantomakeup',
'elizabetharden.os',
'elsheskin.os',
'embryolisse.os',
'emina.os',
'enchenos',
'enchenofficialstore.os',
'eosika.os',
'epunolofficialml.my',
'essencecosmetics.os',
'lovelyessence.os',
'etudehouse.os',
'eucerin.my',
'evolcare',
'evoludermmalaysia.os',
'extramineraltw2019.os',
'epure.os',
'thebeautymattersmy',
'facerepublicmy.os',
'facultyofhair.my',
'fadeoutmalaysia',
'faithinface.os',
'fanbocosmetics.os',
'farmskin.os',
'fazuraofficialstore',
'farmasibeautymy',
'feelxomalaysia.my',
'florasis.os',
'flortte.os',
'flowerknows.os',
'focallure.os',
'foellie.os',
'followmemy',
'forencos.my',
'forum.shopee',
'fragrancenote.os',
'freemanbeauty.os',
'freeplusmy.os',
'pgstoremy',
'australiancream',
'gamardemy',
'gardenofeden',
'gardenofwisdom.os',
'garniermy',
'geekandgorgeous.os',
'geemyofficialstore',
'glamorousu',
'glampick.os',
'glolaser',
'gmeelanskincare',
'lac.officialstore',
'gogotales.officialstore',
'gogotales.os',
'skinlab.os',
'goodaldermatory',
'graceandglow.my',
'grafen.os',
'greenvinestw.os',
'gubonchotw.os',
'guerisson.os',
'guinotmy',
'hatherine.os',
'holikaholikamy',
'mymentholatum',
'hairquarters.os',
'hanasuiofficial.os',
'hanasui.os',
'handmadeheroes.os',
'hannanmedispa.os',
'headsprofessionalparis.os',
'heimish.os',
'iloveheme.os',
'herbaline.os',
'hermomalaysia',
'hiruscar.digital.my.os',
'holdlive.os',
'hydropeptide.os',
'lpmy',
'herrich.my',
'ibcccndc.my',
'imagic.os',
'immeme.os',
'in2itofficialshopgk.my',
'insight.os',
'iproduct.my',
'irisacosmetics',
'irise.shopee',
'isabella.signature',
'isoi.myos',
'itcosmetics.os',
'skinkare.os',
'itfermalaysia',
'itsskinofficialod.my',
'jacquelleofficial.os',
'sephia.os',
'jealousness.os',
'jeaniebotanicals',
'jennyhouse.os',
'jillleen.os',
'jmsolution.os',
'joylabbeauty.os',
'julyme.os',
'judydoll.os',
'juicetocleanse.os',
'jumisoofficial.os',
'jurliquemy.os',
'justforhermegami.os',
'kojihonpo.os',
'kundal.os',
'kskin.os',
'kahf.os',
'kakell.os',
'kanebomy',
'katemy.os',
'kay.collection.os',
'kemei.os',
'kiehls.os',
'kimtrue.os',
'kimuse.os',
'kinabeauty.os',
'kingers.os',
'kissnewyork.os',
'kittieyiyibeauty.os',
'klairs.os',
'klorane.my',
'kocskin.os',
'konvy.os',
'kose.os',
'kskin.my',
'reihakumalaysia.os',
'kundallocalmy',
'lorealmy',
'larocheposay.my',
'lerbolariomy.os',
'lagirlmalaysiaofficial',
'lariveofficial',
'lacabine.os',
'lagomofficialstore',
'laifenshopee.my',
'laikou.official.os',
'laikou.os',
'lakmemy',
'lamuseland.os',
'lanbenamalaysiaofficial',
'laneige.os',
'lavojoy.os',
'lclairnature',
'lghousehold.os',
'lilien.os',
'livchicofficial.my',
'liyalan.os',
'loccitane.os',
'logicallyskin.my',
'lolanetaiwan.os',
'lonkoom',
'lorealprofessionnel.os',
'lamsamyick.os',
'lucenbase.os',
'lululun.os',
'lumi.os',
'lyconmalaysia',
'tonymoly.os',
'maange.os',
'madformakeupofficial.os',
'madhippie.os',
'madamegieofficial.os',
'makeover.os',
'makeprem.os',
'mamonde.os',
'mancodes.os',
'mangosteenjoy',
'manyo.os',
'marcanthonymy',
'maro.os',
'marshwillow.official.os',
'martidermmalaysia',
'marycohrmy',
'masecosmeticsmalaysia',
'maskfamilytrading',
'maxclinic.os',
'maybellinemy',
'medipeel.official.my',
'medicubemy',
'mediheal.os',
'omni2',
'meiyanqiong.os',
'melissachens.os',
'melixmalaysia',
'melvita.malaysia',
'menarini.os',
'merythodofficial.my',
'romand.os',
'mhairstudio.os',
'miguharaofficialqg.my',
'miin.my',
'millebeautemalaysia',
'mimone.wellness',
'minimalistsciencesdnbhd',
'mirae.os',
'miseenscene.os',
'miseoul.os',
'missaimy',
'mistine.os',
'mixsoon.os',
'mizon.os',
'mkuptw.os',
'mkupofficialshopum.my',
'beautime.os',
'modelones.os',
'moncheri.os',
'moogoomalaysia.os',
'morebymare',
'moremo.os',
'msq.official',
'mucotamy',
'museeplatinumtokyomy',
'mybeautydiary.my',
'myschemingtw.os',
'normalnomore.os',
'nanamahazan',
'nagaraku.os',
'nakizmalaysia',
'nalcdirectshop.my',
'nanamall.os',
'nanowhitemy',
'narukomalaysia',
'nateskin.os',
'nattacosme.os',
'natura.malaysia',
'naturalbeauty.malaysia',
'naturerepublicofficial.os',
'naturvitalmy',
'navallihill.os',
'nealsyardremediesmy.os',
'needlymy',
'neogenlab.os',
'neopharmofficial.my',
'newarthaircare.os',
'nineless9',
'nionbeautymy',
'nioxin.os',
'nivea.my',
'noirhealthbeauty.os',
'norah.os',
'noriofficial',
'noughtymy',
'novexpert.os',
'nrcosmetics.os',
'nudedate.os',
'numbuzin.os',
'nunhaco.os',
'nurishorganiq.os',
'nutox.os',
'nuxemy',
'nobelsociety',
'oclean.os',
'ode.scent.os',
'oedo1.my',
'ohmostwanted.os',
'dailyskin.co',
'nunaturemy.os',
'olay.my',
'oliveyoung.my',
'onethingofficialmy',
'onedaysyoumalaysia',
'onlykoreaofficial',
'opi.os',
'orbis.os',
'orightofficialstore',
'orikcos.os',
'o.two.o.os',
'outofcolours',
'owlet.os',
'p.calm.os',
'psknudsen',
'pamnroymy',
'papafeel.my',
'paparecipe.my',
'parfumsbeaute.os',
'paris.ting.os',
'passiontrading.os',
'paulaschoice.os',
'perfectdiarymy',
'perfectdiary.os',
'peripera.os',
'pestlo',
'peterthomasroth.os',
'philipsofficialmyos',
'philipspersonalcare.os',
'philosophy.os',
'physiogel.os',
'phytomy.os',
'phytoceanemy',
'pinkflash.os',
'pinkprincess.os',
'pinshile.os',
'plantorigins.os',
'plu.os',
'plummpclub',
'ponyeffect.os',
'pramyofficialstore.os',
'prettycaked.os',
'profhaircaremy',
'proya.os',
'mypuras',
'purc.os',
'qv.os',
'revlon.os',
'roundlab.my',
'ravielkoreacs.my',
'realbarrier.my',
'realtechniques.os',
'refa.os',
'rejuran.os',
'relovemy.os',
'apiyoo.officialstore',
'revermalaysiaofficial',
'revuele.os',
'rilastilmy',
'rovectinmy.os',
'rubycell.os',
'ruruberry.os',
'ryo.os',
'sasa.os',
'sacelady.os',
'saholea.os',
'saintbysandra.os',
'salsacosmetics.os',
'saltoftheearth.my',
'saltoftheearth.os',
'samtilla',
'sandandsky.officialstore',
'sasamalaysia.os',
'saturdayskinmy',
'scarlettofficialshop.os',
'scentsesandco.os',
'schickasia.os',
'sebamedmalaysia',
'aviderm.mall',
'senka.official',
'sensualskincareofficial',
'seoul4pm.os',
'sevich.os',
'sexylookofficial.os',
'sheroglobal',
'shinsmy',
'shiseido.os',
'shurah.shopee',
'silkygirlmalaysia',
'bioaqua.my',
'simpleskincare.os',
'simplebeaute.os',
'simplysiti',
'sisterann.os',
'skinhygiene',
'skinrenew',
'skinnlab.os',
'skin1004korea.os',
'skin1004malaysia.os',
'skinarmamy',
'skincode2u',
'skinfood.os',
'skinlycious.os',
'skintificofficialstore',
'slaehq',
'smoothskin.os',
'snp.os',
'solekcosmetics.os',
'somebymi.os',
'somethinc.os',
'somethincmalaysia',
'soocas.os',
'sothys.os',
'spaluxetique.os',
'st28623422.os',
'strawberrynet.os',
'stripmalaysia',
'studio.tropik.my',
'sukinmy',
'sulwhasoo.malaysia',
'sunniesfaceofficial.os',
'sweetpeachier',
'swissline.os',
'swissvita.os',
'thecoloristmalaysia',
'nivea.taiwan.os',
'tangleteezer.os',
'teineijapan',
'thalianaturalbeauty',
'thankyoufarmer.official',
'thebodyshop.os',
'thefaceinc.os',
'thefaceshop.os',
'thehistoryofwhoo.os',
'thelab.official',
'theolivetree.os',
'theoriginote.my',
'thepastelsshop.os',
'theraw.skin',
'timageofficial.my',
'timeless.os',
'ttmaskofficialstoremy',
'tnsskinlab',
'kbeauty.my',
'tcfs.malaysia',
'topicrem.os',
'toppikmalaysia.os',
'torridenofficial.os',
'tracia.shopee',
'treecellofficial.os',
'trendasia.os',
'truetoskin.my',
'truutw.os',
'uriagemy',
'ubeator.os',
'ubermenmy',
'ukiss.official.my',
'ulike.os',
'umieaida.os',
'uneolive.os',
'unleashia.os',
'unnieoppa.official',
'untshop.os',
'upinipinstore.os',
'uppercut.deluxe',
'urbaner.os',
'usmile.os',
'vasia.my',
'vasecreation',
'grocerybazaar.my',
'veganifectofficialzk.my',
'velvetvanitycosmetics.os',
'vibrantglamour.os',
'vividvogue',
'vividvogue.os',
'vtcosmetics.os',
'wardah.os',
'tsubaki.official',
'wahlofficial',
'watsons.my',
'wawawax.os',
'wbkshop.os',
'wellsen.os',
'whitelabmyofficial',
'winona.os',
'wis.os',
'bfflove.os',
'wonjin.tw.os',
'wortheecosmetics.os',
'wosado.my',
'you.os',
'yvesrocherofficial2161',
'zeesea.os',
'zacosmetics.os',
'zeesea.official',
'zenyum.os',
'1028visualtherapy.os',
'3ce.os',
'3wclinic.os',
'4allbeauty',
'daichunlin.my',
];
$category = Category::where('country_locale_slug', 'my')->where('name', 'Beauty')->first();
foreach ($shopee_sellers as $seller) {
$shopee_seller_category = new ShopeeSellerCategory;
$shopee_seller_category->seller = $seller;
$shopee_seller_category->category_id = $category->id;
$shopee_seller_category->save();
}
}
}

View File

@@ -1,28 +0,0 @@
<?php
namespace Database\Seeders;
use App\Models\Category;
use App\Models\ShopeeSellerCategory;
use Illuminate\Database\Seeder;
class ShopeeFitnessCategorySeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$shopee_sellers = ['abugarcia.os', 'acrossports.os', 'adidasmy.os', 'aibifitness.os', 'alikhsansports.os', 'alonefire.os', 'alpsport.os', 'altrarunningmy.os', 'ambroscorp', 'antamalaysia.os', 'antaofficial.os', 'aonijie.os', 'apacsofficialflagshipstore', 'aqsupport.os', 'asicsmalaysia.os', 'athletelq.os', 'avivaactive.os', 'brooks.os', 'badmintonfactory', 'blenderbottle.os', 'bullzenfishing.os', 'bushnell.os', 'carlton.os', 'camelcrownoutdoor.os', 'cameloutdoor.os', 'capbarbellasia.os', 'chaopai.os', 'cinellimalaysia.os', 'cm2.os', 'coleman.os', 'consinaofficial.os', 'crazeecausa', 'dahon.os', 'decathlon.official.store', 'desiregym.os', 'deutermy.os', 'dhs.os', 'diadoramy.os', 'durakingoutdoorandsports.os', 'donicmalaysia.os', 'drskin.os', 'egosports.os', 'endurancesports', 'expfishing.os', 'prokennex.os', 'felet.os', 'fenin.os', 'wums0310.os', 'tokushima.os', 'fitnessconcept.os', 'gattimalaysia', 'gearupmy.os', 'gintell', 'gomexus.os', 'gosengs.sports.world', 'gsgill.os', 'db3686', 'hedgrenmy.os', 'herschelmy.os', 'hiervnofficial.my', 'hoopsstation.os', 'hydroflaskmy.os', 'hypergear.os', 'inbike.os', 'pa20085566.os', 'jakroomy.os', 'johnsonfitness.os', 'jdtstore', 'kalibre.os', 'kastking.os', 'kingdomfishing.my', 'kingsmith.os', 'kshbicycle.os', 'kuckreja.os', 'kawasakibadmintonmalaysia', 'lasonaofficial.my', 'lining.os', 'litepro.my', 'lixada.os', 'lpmy.os', 'lpm.os', 'montanic.os', 'matsumotostore', 'mavllos.os', 'maxboltmy', 'maxfind.os', 'maxx.os', 'mobigarden.os', 'mcdavidmy.os', 'minelabmalaysia', 'mobigarden.kj.os', 'spacey.os', 'montbell.os', 'monton.malaysia.os', 'moonaz.os', 'naturehike.os', 'naturehikeglobal.my', 'langgou.my', 'newbalancemy.os', 'nicronmy', 'ogevkin.my', 'ogawacorp.', 'ogival.os', 'one.two.fit', 'onetwofitofficial.my', 'originalclassicmy.os', 'ortuseightofficialshop.os', 'osprey.os', 'exploreroutfitter.os', 'outpost.os', 'outsidemy.os', 'outtobe.os', 'ovicx.os', 'peak.os', 'peaksportsmy.os', 'pgmgolf.os', 'pinknproper.os', 'prestigesports.os', 'proapparel.os', 'probiker.my', 'pronic.os', 'prosun.os', 'protech.os', 'protechbysupercourt', 'prspsports', 'pumamy.os', 'purefishingmalaysia.os', 'rcl.os', 'rainbowstyle333.os', 'rapalamy.os', 'reechooutdoor.my', 'rigidfitness.os', 'ripcurlmy.os', 'rockbros.os', 'cycling1.my', 'rstaichi.os', 'runninglabmy.os', 'oceansportmy', 's2hcyclemall.os', 'salomonmy.os', 'sanctbandactive.os', 'santic.os', 'seahawkfishing.os', 'selleitaliamalaysia', 'shimanomalaysiacycling.os', 'shimanofishingmy.os', 'shipwreckskateboards.os', 'skelcoremy.os', 'kelvenchang.os', 'slmbicycle.os', 'smilingshark.os', 'xunmenglong.my', 'sneakerlabmy.os', 'snugsport.os', 'sofirnlight.my', 'sougayilang.os', 'sparkprotein.os', 'whaledream563', 'speedoofficial.os', 'sportplanet.os', 'sportsdirectmy.os', 'stridermalaysia.os', 'sunparadisemy', '18138419167.my', 'swimfitmy.os', 'themarathonshop.os', 'thenorthfacemy.os', 'tankebicycle.os', 'tcetacklesestore', 'tecnifibremy', 'tenxionofficial.os', 'cinemark0621.os', 'thirddayco.os', 'thkfish.os', 'treesandsunoutdoor', 'trs.os', 'trudivemalaysiasingapore', 'tulldent.os', 'twinbrothers.os', 'underarmourmy.os', 'uponumbrella.os', 'uscamel1.my', 'velo88.os', 'victorbysinma', 'victormalaysia.os', 'victorinox.os', 'vigorfitness.os', 'viq.os', 'vsmash.os', 'warrixofficialju.my', 'westbiking.os', 'worldofsports.os', 'xtiger.os', 'xcorefitness.os', 'xinpower.os', 'xiom.os', 'xtep.os', 'yinhe.os', 'yonex.os', 'youngofficial.os', 'zeromarketplace', 'zttobike.my', '2xu.os', '361degrees.os', '910sportswear.os',
];
$category = Category::where('country_locale_slug', 'my')->where('name', 'Fitness')->first();
foreach ($shopee_sellers as $seller) {
$shopee_seller_category = new ShopeeSellerCategory;
$shopee_seller_category->seller = $seller;
$shopee_seller_category->category_id = $category->id;
$shopee_seller_category->save();
}
}
}

View File

@@ -1,301 +0,0 @@
<?php
namespace Database\Seeders;
use App\Models\Category;
use App\Models\ShopeeSellerCategory;
use Illuminate\Database\Seeder;
class ShopeeHealthCategorySeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$shopee_sellers = [
'isawmedical',
'rochediagnostic.digital.my',
'euyansang.os',
'a27139200.os',
'abbioticsmy.os',
'agnutrition.os',
'airinummy',
'activelifemalaysia',
'alpro',
'apexpharmacy',
'appeton.os',
'ash2.os',
'a.plus.os',
'babybee.os',
'backjoymalaysia',
'bamnatural',
'bardox.co',
'bayerconsumerhealth.os',
'bengkungmedikalturki',
'benourish.os',
'berryc.hq',
'bhbhealth',
'feeksempire.os',
'biogro',
'bioaquacelmalaysia',
'biolife.malaysia',
'biocareofficialstore',
'biogreenofficial',
'biogrow.os',
'bioley.os',
'bloomylotus.os',
'bloomfood.co',
'bonlife.os',
'bgdrug.os',
'morehope.my',
'comvita.os',
'caremarkofficial.os',
'catalo.os',
'certaintyofficialstore',
'champs.os',
'changefit.os',
'cleverinmalaysia',
'care.os',
'capkakitiga.os',
'callie.os',
'cosway.os',
'durex.os',
'comfier.my',
'coreblueepro',
'curaproxmy',
'darco.os',
'deeyeo.os',
'dermaltherapy.os',
'dettol.os',
'dfenze',
'deltamart.os',
'ntpm.my',
'doctoroncall.os',
'drbei.os',
'drclo.os',
'dr.elizabeths',
'dr.isla.my',
'dr.isla',
'drmoshealthcaresdnbhd',
'duopharma.os',
'easytomorrowmy',
'egreenbeans',
'eldonhealthcare.os',
'elkenofficial',
'empromalaysia',
'eucapro.os',
'ezywipes.os',
'extreme.my',
'finefoodsmy.os',
'freestylelibre.os',
'wiproconsumercare.my',
'gazillionnutrition.os',
'gintell',
'gkbio.official.store',
'gote.club',
'grapeking.os',
'greencyh.os',
'grnkorea.os',
'guardian.os',
'soapberrygubao.os',
'halagelmalaysia',
'hanamedicofficial',
'hannaancient.my.os',
'hansaplast.my',
'pgstoremy',
'healthlanefamilypharmacy',
'hansherbs',
'haoyikangmy',
'supreprobiotics',
'healnutrition.os',
'herbalfarmer',
'healthparadise.os',
'healthyhugqn.my',
'nhdetoxlim.os',
'herbion.os',
'herbsofgold.os',
'hoyanhor',
'houmhygiene',
'hovidnutriworld',
'wyatt760513.os',
'horigenmy.my',
'homecareshop.os',
'holy.shopee.my',
'himalayamalaysia',
'himalaya.natural',
'hh.herbhealth.os',
'itsuworld.os',
'ideal.beauty.alliance88',
'idsmedmalaysia',
'ihoco',
'imfrom.my',
'incrediwear.os',
'insmartofficialstore.my',
'isoderm.os',
'jamujelita.my',
'a0907512010.os',
'jinkairui.os',
'jointwell',
'jordan.os',
'joyofoiling',
'jsnhorizon',
'jt0886.os',
'jynns.os',
'kacangmacha.os',
'kalbe.my',
'kcare.os',
'kedaidiabetes.luka',
'kedaimasalahlututkaki',
'kinohimitsu.os',
'kitsui.my.hq',
'kobee.os',
'huggies.os',
'labelletea51.my',
'laohuangju.os',
'lennox.os',
'vinegarbless.my',
'lifespace.os',
'lifespaceofficial.my.my',
'loveearth.os',
'unilevermy',
'mirafilzah.os',
'lushproteinmy',
'm2.os',
'manfortlab',
'mariafaridasignature.os',
'medicos.os',
'medicurve',
'mediqtto.os',
'medisanaofficialstore',
'medishield.regretless',
'mf3.os',
'mijep.my',
'mobees.os',
'mpdsummit',
'muscletech.official',
'mutyara.os',
'myprotein.official',
'nestidante.os',
'naamskin',
'nanojapan',
'nanosingaporemy',
'naturahousemalaysia',
'natureswaymy.os',
'neutrovis.os',
'manukahealth.my',
'nitrione.os',
'nixoderm.os',
'nowfoodsofficialmy',
'nulatexmy',
'nutrafem.os',
'nutrione.os',
'nusamedic.os',
'nutriva888',
'nutrixgold.os',
'one.os',
'offen.os',
'ogawacorp.',
'olivenol.os',
'oilypod',
'olo.os',
'earthvitamins.os',
'omron.os',
'onecare.os',
'onetouch.os',
'oppo.os',
'optimumnutrition.os',
'oradexhb',
'organicule',
'orthosoft.os',
'osim.os',
'osteoactiv.os',
'myostricare',
'ostrovit.os',
'p.love.os',
'pghealth.my',
'pandababytw.os',
'pharmanutrihq',
'pharmsvilleofficial.os',
'pk24advanced.os',
'playsafeunlimitedmalaysia',
'popi.os',
'psang.os',
'bloodofficialstoremy',
'purelyb123',
'puremed.os',
'quanstarbiotech.os',
'quinlivan.os',
'rossmax.os',
'rafyaakob.os',
'restore.os',
'rosken.os',
'rtopr.os',
'scitecnutrition.os',
'sambucol.os',
'sanofiofficialstore',
'scentpur.os',
'scseven',
'simply.os',
'sinocare.os',
'kyuwlcdcu5',
'snowfit.os',
'solaray',
'soluxe',
'southerncrescent.malaysia',
'spaceylon.com.my',
'splat.os',
'springhealthofficial',
'functionalfoodclub',
'sunstar.os',
'suubalm.os',
'naturaloptions.os',
'swisseoverseas.os',
'swisse.malaysia',
'tanameraofficial',
'find.us.here.tenga.my',
'tenga.os',
'theaprilab2vq.my',
'therabreath.os',
'theragun.os',
'tigerbalm.os',
'timo1q.os',
'topglove',
'totalimage',
'haniszalikhaofficial',
'tremella.os',
'trudolly.os',
'trulife.os',
'sofnonshop.os',
'tyt1957',
'ujuwon.os',
'unicaremalaysia',
'vitahealth.os',
'vnutripharm.os',
'valens.nutrition',
'vircast.os',
'vitagreen.official.my',
'vitascience.os',
'oujiwalch',
'winwa.os',
'wrightlife.my',
'xkoomy',
'yohopower.os',
'youvitmalaysia',
'yukazan',
'yummihousemy',
'yuwell.os',
'3mlittmann.os',
'medicareproducts',
];
$category = Category::where('country_locale_slug', 'my')->where('name', 'Health')->first();
foreach ($shopee_sellers as $seller) {
$shopee_seller_category = new ShopeeSellerCategory;
$shopee_seller_category->seller = $seller;
$shopee_seller_category->category_id = $category->id;
$shopee_seller_category->save();
}
}
}

View File

@@ -1,28 +0,0 @@
<?php
namespace Database\Seeders;
use App\Models\Category;
use App\Models\ShopeeSellerCategory;
use Illuminate\Database\Seeder;
class ShopeeHomeLivingCategorySeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$shopee_sellers = ['aands.os', 'acerpure.os', 'acsonmalaysia.os', 'aicook.my', 'airbotmalaysia', 'alphaofficialstore', 'aolonmalaysia.os', 'aolon.os', 'aqara.os', 'bacony.my', 'bearofficialstore.os', 'butterflymalaysia.os', 'bacfree.os', 'bearglobal.my', 'beko.os', 'bestdenkimy', 'biolomix.os', 'biolomixlocal.my', 'bissellmy', 'blueair.os', 'boschhomeappliancesmy.os', 'boschmy', 'bossmankaden', 'brunomalaysia', 'corvan.os', 'charlcomy', 'chiqmalaysia', 'valeo.os', 'cookraze', 'cornell.os', 'cosori.os', 'courts.os', 'cuckoo.os', 'delonghi.os', 'desahome.os', 'daikinmy.os', 'daytech.os', 'deerma.malaysia', 'delfino.os', 'amazefanbrandshop.my', 'delonghi.os', 'panasonic888.os', 'deroma.os', 'dibea.os', 'domus18', 'dreamecopperconnect', 'dreamemy.os', 'officialdysonstore', 'ecoluxemalaysia', 'ecovacs.os', 'edgewall.os', 'eksexprez', 'elba.os', 'electricalshopmy', 'electrolux.os', 'electrova', 'shinghing', 'erainetmy', 'eroc.my', 'etouchplus.os', 'europlus.os', 'ezilah.os', 'faber.os', 'fanzomalaysia', 'fotile.os', 'gaabor.os', 'gell.os', 'giselleha', 'gogeousofficial', 'haier.os', 'hanriver.malaysia.my', 'hanriver.official', 'hanabishi.os', 'haniertv', 'hatarimalaysia', 'hericaine.os', 'hetch', 'hibrew.os', 'hiconos', 'hiraki.os', 'hisensecertifiedstore.os', 'hitachi.os', 'homeessentialmall.os', 'hitec.os', 'hizero.os', 'hodekt.official.my', 'homeessentialmall.os', 'huashengonlineshop', 'huromofficial', 'igadgets', 'ilife.os', 'imaxx', 'innofoodstore', 'instantpot.os', 'irisohyama.os', 'irobot.os', 'isonicofficialstore', 'jabenmalaysia', 'jafairsolution.os', 'jamaystore.my', 'jeeteemalaysia.os', 'jhhomeappliances', 'jimmy.os', 'jisulife.my', 'wendykao.os', 'joyamios', 'tenkaryohin', 'kadonio.my', 'kaizendenkimy', 'baolijie123.my', 'kgcadvance', 'khind.os', 'khindborneo.os', 'kimviento.os', 'kimviento.my', 'kitchenaid.os', 'konkacreative', 'konkadirect.os', 'kpielectrical', 'kronoshop', 'kuvings.os', 'lebensstil.os', 'lemax.official', 'levoit.os', 'lg.os', 'lionmas', 'morphyrichards.os', 'mayer.os', 'morgan.kings', 'mbh.os', 'maxiestore', 'maxiestore', 'meckmy.os', 'megraos', 'miui.os', 'mmxmalaysia', 'muzen.os', 'nakadagroup.os', 'mynarwal', 'nescafedolcegusto.os', 'nesh.os', 'sharkninjaofficial', 'njoi.os', 'norviamalaysia', 'olayksmy.os', 'onehomeappliance', 'itsasomarketing', 'onemoon.os', 'philips.my', 'panasonic.malaysia', 'panasonic.authorised.partner', 'panasonic.elite', 'panasonic.partner', 'panasonicsignaturemall', 'pensonic', 'pensonic', 'perysmith', 'philipstv.os', 'picogram.os', 'proscenic.os', 'retekess.my', 'rezo.os', 'riino.os', 'rinnai.os', 'robam.os', 'roborockmalaysia', 'rubine.os', 'russelltaylors.os', 'selamat.os', 'sonystore.os', 'sakura.os', 'samsungappliancesos', 'samsungbrandstoremy.os', 'samugiken.os', 'samview.os', 'sanus.os', 'scottmiller', 'sensonic.my', 'shibuifujiaire', 'shimonomalaysia.os', 'simplusmalaysia', 'sincero.os', 'singermy', 'skmagicmy.os', 'skyworth.os', 'smartlifestyle99', 'smartmi.os', 'snfonline', 'sodaxpress', 'soundteohmy.os', 'sterramy', 'sunatur', 'sureloc.os', 'swissthomas.os', 'switchbot.os', 'tbm.os', 'tanradio.com', 'tanradio.com', 'tcl.os', 'thebaker.os', 'thermomixmalaysia', 'tineco.os', 'tjean.os', 'tonze.my', 'toshibatv.os', 'urban.home', 'uwantmalaysia', 'vcomm.os', 'viewsonic.os', 'vizon.os', 'yeedi.os', 'yetair', 'yilizomana.os', '360smartlife.os',
];
$category = Category::where('country_locale_slug', 'my')->where('name', 'Home & Living')->first();
foreach ($shopee_sellers as $seller) {
$shopee_seller_category = new ShopeeSellerCategory;
$shopee_seller_category->seller = $seller;
$shopee_seller_category->category_id = $category->id;
$shopee_seller_category->save();
}
}
}

View File

@@ -1,531 +0,0 @@
<?php
namespace Database\Seeders;
use App\Models\Category;
use App\Models\ShopeeSellerCategory;
use Illuminate\Database\Seeder;
class ShopeeTechCategorySeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$shopee_sellers = [
'akaso.my',
'anbiux.os',
'andoer.os',
'aputure.os',
'azdome.os',
'blackmagicdesignbrandstore',
'canon.os',
'eatechnology.os',
'daytech.os',
'ddpai.my',
'djimalaysia',
'tianyi2017.my',
'ezvizmalaysia.os',
'gnet.os',
'gopro.os',
'goprolifestyle.os',
'goprolifestyle.my',
'goqmy.os',
'hikvisionmy.os',
'troniq',
'imoumalaysia',
'imoumalaysia.os',
'insta360.os',
'jiekemi.my',
'jiwei.my',
'olympusmalaysia.os',
'obsbot.os',
'paperang.os',
'kodakphotoprinterandcamera',
'selens.os',
'safecam.os',
'sony.os',
'southocean',
'srihome.os',
'v380malaysia',
'xiaovv.my.os',
'yimalaysia.os',
'anker.os',
'alienworld.os',
'amazfit.os',
'amazingthingmy',
'amazme',
'ampaudio.os',
'ankerinnovationmyofficial',
'ansty.os',
'aolonmalaysia.os',
'aolonstore.my',
'arzpower.os',
'asusmobile.os',
'audiotechnica.os',
'audiotechnica.os.ecogadget',
'aukey.official',
'samsungsenq.os',
'awei.os',
'beoplay.os',
'baseus.official.local',
'baseusofficial.os',
'belkin.os',
'blackshark.os',
'blackviewofficial.my',
'blitzwolf.my',
'bosemalaysia',
'boyastore1.my',
'unioncamera.my',
'casestudi.os',
'catalystofficialstore',
'megaworldmall.os',
'cloud555101.os',
'comsat.os',
'coros.os',
'creativemy',
'dasherprime',
'defunc.os',
'xiaomilocalstore.os',
'directd.official',
'disney3c.my',
'disneyaudio.official.my',
'dizo.os',
'dizo.official.my',
'earfun.os',
'ecoflowos',
'ecoflow.os',
'edifiermalaysia.os',
'elago.os',
'ec.os',
'energizerpowerbank',
'eposgaming.os',
'esr.official',
'essager.os',
'eydmalaysia',
'eydstore.my',
'flashgadgets.os',
'fitbit.os',
'flashgadgets.os',
'bigbox1168.os',
'fonken.os',
'freeyondmalaysia',
'gadgetsworld666.os',
'garmin.os',
'linez1x2c3v4286.os',
'gloryfitmalaysia',
'goalzeromy.os',
'goojodoq.os',
'gsshop.tw.os',
'realfit.official.os',
'halosure.os',
'handphoneworld',
'harmankardon.os',
'hayloudirect2.my',
'hayloumalaysia.os',
'haylou.os',
'hdoorlink.os',
'skill.my',
'hellomalaysia',
'hocomalaysiaofficial',
'hoda.os',
'honor.os',
'huaweios',
'ienjoy.my',
'ibeli',
'iclevermalaysia',
'idmixmalaysia.os',
'ksnycoach.os',
'infinitylifestyleos',
'infinitylabmy.os',
'infinix.shop',
'infinix.officialstore',
'inku3663.os',
'innergie.os',
'iqoo.os',
'itskinsmy',
'itworld.store',
'iwalkmy',
'j5create.os',
'jabenmalaysia',
'jabra.os',
'jbl.os',
'jlab.os',
'joway.os',
'joyroomshop.my',
'joyroommy',
'jvcmalaysia',
'jystore01.os',
'kaxoe.os',
'kieslect.os',
'klipsch.os',
'kuulaaofficial.my',
'lammcou.os',
'lanex.os',
'leagoo.os',
'lenovo.tech.my',
'thinkplus.my',
'lenovo.official.my',
'lenovothinkplus.my',
'llano.os',
'logitech.os',
'mcdodo.os',
'mcdodoofficial.os',
'machinesos',
'maimo.os',
'ldniomalaysia.os',
'maono.my',
'marshall.os',
'miglobal.os',
'mionee.my',
'miworldmy',
'mjshop.os',
'moft.us.my',
'mojoskins',
'momax.os',
'mnsteraudiostore.my',
'soundpeats.os',
'monsteraudio.my',
'moshitw.os',
'lenovo.moto.os',
'moxom.my',
'mpow.official',
'myeestore',
'nillkin.os',
'nillkin.my.os',
'niye.os',
'macpied.os',
'nokiaaudio.os',
'nokiamobile',
'mynomad',
'nothingos',
'tecombee.my',
'oppoos',
'eary.my',
'officialarareestore',
'divoomstore',
'thatsos',
'oneplusos',
'oneplusmy.os',
'onikuma.os',
'oppofbs',
'oraimo.os',
'orico.os',
'bestaccessoriessolutionstore',
'otterboxofficialmalaysia',
'oukitelofficialstore.my',
'pinengmalaysia.os',
'phl.os',
'kodakphotoprinterandcamera',
'picoxr',
'sptonline88',
'pinergy.os',
'pitakaofficial',
'plextone.os',
'pococertifiedstore.os',
'pocolocal.os',
'poco.os',
'polarwatch.os',
'popsockets.my',
'prodamalaysia.os',
'qcy.os',
'qoovi.my',
'wyzeos',
'realmeos',
'realme.outlet',
'recci.my',
'redclick',
'redmagicos',
'nubiaredmagic.my',
'remax.os',
'remaxmalaysia.os',
'rhinoshieldofficialmalaysia',
'ringke.em',
'ringkeofficial.os',
'ringke.my',
'rjconcept.os',
'rolton.os',
'pantrade.os',
'selens.os',
'suntaiho.os',
'sabbat.os',
'samsungaccessoriesos',
'samsungmalaysiaos',
'samsungmobileos',
'samsung.swap',
'sandisk.os',
'satugadgetofficialstore',
'scosche.my',
'sennheiser.os',
'senqarros',
'sentriq.my',
'shidu.os',
'shokz.os',
'sigelei.os',
'smartdevilofficialstore.my',
'soaiy.my',
'sonicgear.os',
'sony.my',
'sony.os',
'sonystoreonline.os',
'soul.os',
'soundpeatsaudio.my',
'distexpressspigen',
'spriselocalstore.my',
'sptofficialstore',
'sudio.os',
'summer.store',
'switchos',
'switcheasyofficialmalaysia',
'syncomalaysia',
'wowancore.os',
'topk.os',
'taotronics.os',
'teclast.os',
'tecnomalaysia',
'samsung.thehopzos',
'thronmaxmalaysia',
'thunderos',
'toockiflagshipstore.my',
'topkofficial.os',
'tranya.os',
'tresgadget',
'tribitmalaysia',
'tronsmart.malaysia',
'ugreen.os',
'ugreenofficial',
'ugreen.my',
'umidigi.my',
'uniqmy',
'unitek.os',
'urbanrepublic.samsung',
'usams.os',
'vinnfier.os',
'youxuan888.my',
'vention.os',
'visiongadgetry.os',
'smartmi.os',
'vivomalaysia.os',
'vivo.fbs',
'wiresto.os',
'wanbo.my.official',
'xiaomiglobal.os',
'xiaomicertifiedstore.os',
'xinji.os',
'plextoneofficial.os',
'yamahaav.os',
'yanmaielectronic.os',
'yimalaysia.os',
'yisen.os',
'yoobao',
'zaggbrands.os',
'zeblazeofficial.my',
'zmi.os',
'ztemalaysia.os',
'zuzg.os',
'omthingos',
'70mai.os',
'apes',
'acerosmy',
'armaggeddon.os',
'acasisofficialshop.os',
'acer.os.clicknet',
'acer.os.justit',
'acer.os.nbp',
'acer.os.pcimage',
'adatamalaysia.os',
'alcatroz.os',
'ampcomchina.my',
'aoc.os',
'apacer.my',
'apcbyschneiderelectric.os',
'focuscomputerarp',
'asrocklink2buy',
'asuslaptop.os',
'asus.os.mybest',
'asus.os.onetech',
'asus.os.superbmultimedia',
'asuspc.os',
'aulamy.os',
'aula.official.my',
'aula.os',
'avitastore.sns',
'avitastore.sns',
'benqmalaysia',
'o9tech.os',
'bmax.os',
'brother.os',
'lenovo.os.brightstar',
'canonprinteros',
'jb.canon',
'canonbb',
'canonswk',
'canonallit.os',
'canon.os.pcimage',
'canon.pineapple',
'canon.sunshine',
'lenovo.os.etika',
'philipsmonitoros',
'cliptec',
'colorful.os',
'coolermaster.my',
'crucialmalaysia',
'cytron.os',
'dareumyofficial',
'deli.os',
'dell.commercialstore',
'deluxworld.my',
'dereofficial.os',
'macospice.my',
'diymore.my',
'dlink.os',
'dmes.os',
'docooler.os',
'edifiermalaysia.os',
'elitesoftasia.os',
'epson.os',
'eset.os',
'cardy0728.os',
'fantech.os',
'flashgadgets.os',
'flujomalaysia.os',
'fnatic.os',
'fujitsu.os.nbp',
'stanley1968.os',
'gamingfreak.malaysia',
'gigabytenb.os',
'gigabyte.os',
'goldenfir.my',
'gracepc.os',
'lipolakeu.os',
'hponlinestore',
'hpstore.pineapple',
'hpbestbuy',
'hpclicknet',
'hphexacom',
'hp.nbp',
'hp.onetech',
'hppcimage',
'sns.hpstore',
'hp.mobilitysquare',
'hpaoneplus',
'hpstore.mono',
'hpsuperbmultimedia',
'hpssd.os',
'huaweios',
'huionmy.my',
'huion.os',
'huntkey.os',
'hydersonmalaysia.my',
'ibeli',
'ibuyonlinenow',
'llanoofficialstore.my',
'jaditoner',
'jan0103.os',
'jayacom.my',
'jumper.my',
'kioxia.os',
'leaven.os',
'lenovo.my.os',
'lenovo.os.mybest',
'lenovo.os.clicknet',
'lenovo.os.eit',
'lenovo.os.grex',
'lenovo.os.onetech',
'lenovo.os.pcimage',
'lenovo.os.wit',
'lenovo.os.nbp',
'lenovo.os.tmt',
'lexarmalaysia.os',
'lgmytechstore.os',
'livinggears',
'logitech.os',
'logitechg.os',
'mcafee.os',
'machenike.my',
'machinesos',
'miiiw.os',
'canonmit',
'mofii.os',
'moft.us.my',
'mon.king.my',
'monodigital.os',
'msi.os',
'msi.os.eit',
'msi.os.eit',
'navotech.os',
'northbayou',
'netgear.os',
'nvidia.geforce.official.store',
'ookas',
'oricoofficialstore.my',
'pantumofficialstore',
'philipsaccessories.os',
'picoxr',
'play3c.os',
'prolink',
'qnap.official',
'haveatech.os',
'rapoo.os',
'razer.os',
'eyooso..my',
'rfsolutionsenterprise',
'rigear.os',
'royalkludge.os',
'rkgamingos.my',
'roccat.os',
'rog.os',
'royalkludgeofficialstore.my',
'samsungmemoryos',
'skullcandy.os',
'sricomputers',
'salpido.os',
'samsungmonitoros',
'samsungviewnet.os',
'sandisk.os',
'seagate.os',
'senqarros',
'delltechpartner',
'siliconpowermy.os',
'steelseriesofficialstore',
'strontium.os',
'sunfar3c.os',
'switchos',
'synology.os',
'toshiba.os',
'targus.os',
'teamgroupmy.os',
'tecware.os',
'tendamalaysia',
'thrustmaster.os',
'thunderobotglobalstore.my',
'titanarmy.os',
'totolinkmalaysia',
'tplinkmy.os',
'transcend.os',
'trendmicro.os',
'turtlebeach.os',
'uagmalaysia',
'veikk.os',
'ventionmy.os',
'ventionofficial.my',
'viewnet.os',
'wacom.os',
'wavlink.os',
'wd.os',
'xppenglobal.os',
'xppen.os',
'smart.life.my',
];
$category = Category::where('country_locale_slug', 'my')->where('name', 'Technology')->first();
foreach ($shopee_sellers as $seller) {
$shopee_seller_category = new ShopeeSellerCategory;
$shopee_seller_category->seller = $seller;
$shopee_seller_category->category_id = $category->id;
$shopee_seller_category->save();
}
}
}