pipicar/app/Console/PipiCarInstallCommands.php

80 lines
2.3 KiB
PHP

<?php
namespace App\Console;
use A7kz\Platform\Commands\InstallCommand;
use A7kz\Platform\Helpers\Facade\Helper;
use App\Install\Seed;
class PipiCarInstallCommands extends InstallCommand
{
protected $signature = 'pipicar:install {--install} {--upgrade} {--apps}';
protected $description = 'CRM Аренды автомобилей';
protected $module_name = 'pipicar';
protected $module_version = '1.0.0';
protected $storage = 'pipicar_crm';
private array $packages = [];
public function __construct()
{
parent::__construct();
// Upgrade::Roles();
$this->packages = [
'main', // Главная страница
'auto_brands', // Бренд авто
'auto_bodywork', // Кузов авто
'auto_colors', // Цвета авто
'auto_types', // Типы авто
'auto_equipment', // Комплектация авто
'brand_models', // Модель авто
'auto_classes', // Класс авто
'auto_tariffs', // Тарифы авто
'owner_contracts', // Договор Владельца
'owners', // Владелец авто
'auto', // авто
'applications', //Заявки
'pipi_users', // Добавление логики для пользователей
'auto_calendar' // Добавление логики для пользователей
];
}
public function packages(): void
{
foreach ($this->packages as $package){
$this->package($package);
}
}
/**
* @throws \Exception
*/
public function migrate(){}
public function seeds(): void
{
Seed::init();
}
public function apps(): void
{
Seed::init();
foreach ($this->packages as $package){
$this->package_update($package);
}
}
public function upgrade(): void
{
$module = Helper::install()->module($this->module_name);
if(!is_null($module) && !$module->lock_version) {
switch ($module->module_version) {
default:
$this->update_info($module, $this->module_version, 'Обновление');
break;
}
}
}
}