Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/job-board.corals.io/Corals/modules/Woo/Console/Commands/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/job-board.corals.io/Corals/modules/Woo/Console/Commands/WooCommand.php
<?php

namespace Corals\Modules\Woo\Console\Commands;

use Corals\Modules\Marketplace\Models\Store;
use Corals\Modules\Woo\Integration\WooCommerce\Mappers\AttributeMapper;
use Corals\Modules\Woo\Integration\WooCommerce\Mappers\BaseMapper;
use Corals\Modules\Woo\Integration\WooCommerce\Mappers\CategoryMapper;
use Corals\Modules\Woo\Integration\WooCommerce\Mappers\CustomerMapper;
use Corals\Modules\Woo\Integration\WooCommerce\Mappers\OrderMapper;
use Corals\Modules\Woo\Integration\WooCommerce\Mappers\ProductMapper;
use Corals\Modules\Woo\Integration\WooCommerce\Mappers\TagMapper;
use Exception;
use Illuminate\Console\Command;

class WooCommand extends Command
{
    protected $signature = 'woo:load {module} {store?}';
    protected $description = 'Woo loader';


    /**
     * @throws Exception
     */
    public function handle()
    {
        $module = $this->argument('module');

        switch (strtolower($module)) {
            case 'm':
            case 'marketplace':
            case 'mp':
                $storeId = $this->argument('store');

                if (!$storeId || !Store::query()->where('id', $storeId)->exists()) {
                    $this->error('Please set the store id in the command.');
                    return;
                }

                $this->loadWoo(['module' => 'Marketplace', 'store_id' => $storeId]);
                break;
            default:
                $this->error('Invalid Module: ' . $module);
        }
    }

    /**
     * @param array $args
     * @throws Exception
     */
    protected function loadWoo($args = [])
    {
        $mappers = [
            CustomerMapper::class,
            CategoryMapper::class,
            AttributeMapper::class,
            TagMapper::class,
            ProductMapper::class,
            OrderMapper::class,
        ];

        foreach ($mappers as $mapper) {
            tap(new $mapper, function (BaseMapper $mapperObject) use ($args) {
                $mapperObject->logProcess("=============================================");
                $mapperObject->logProcess("Start with Mapper: " . class_basename($mapperObject));
                $mapperObject->setMapperOptions($args);
                $mapperObject->fetchAll();
            });
        }
    }
}

Spamworldpro Mini