From e862537a20bc93b0ae60cc439f9d9254245fc9b8 Mon Sep 17 00:00:00 2001 From: Nabeel S Date: Thu, 12 Dec 2019 15:07:35 -0500 Subject: [PATCH] Split the importer module out from the installer module (#468) * Split the importer module out from the installer module * Cleanup of unused imports * Move updater into separate module #453 * Remove unused imports/formatting * Disable the install and importer modules at the end of the setup * Unused imports; update IJ style * test explicit stage for php+mysql * add more to matrix * Add different MariaDB versions * undo --- .travis.yml | 76 ++++++++++++- app/Contracts/Model.php | 2 +- app/Facades/Utils.php | 3 - app/Providers/AppServiceProvider.php | 13 +-- .../Services/Installer}/DatabaseService.php | 2 +- app/Services/Installer/InstallerService.php | 13 +++ .../Services/Installer}/LoggerTrait.php | 2 +- app/Support/Utils.php | 23 ++++ config/modules_statuses.json | 4 +- intellij_style.xml | 5 +- modules/.gitignore | 1 + modules/Importer/Config/config.php | 7 ++ .../Commands/ImportFromClassicCommand.php | 4 +- .../Http/Controllers/ImporterController.php | 74 ++++++++----- .../Providers/ImporterServiceProvider.php | 102 ++++++++++++++++++ .../Importer/Resources/views/app.blade.php | 92 ++++++++++++++++ .../Resources/views}/complete.blade.php | 6 +- .../Resources/views}/dbtest.blade.php | 0 .../Resources/views}/error.blade.php | 2 +- .../views/flash/check_error.blade.php | 6 ++ .../Resources/views/flash/message.blade.php | 11 ++ .../views}/step1-configure.blade.php | 4 +- .../views}/step2-processing.blade.php | 17 +-- .../Services}/BaseImporter.php | 25 ++++- .../Services}/ImporterService.php | 26 ++--- .../Services}/Importers/AircraftImporter.php | 4 +- .../Services}/Importers/AirlineImporter.php | 4 +- .../Services}/Importers/AirportImporter.php | 4 +- .../Services}/Importers/ClearDatabase.php | 4 +- .../Services}/Importers/FinalizeImporter.php | 4 +- .../Services}/Importers/FlightImporter.php | 4 +- .../Services}/Importers/GroupImporter.php | 4 +- .../Services}/Importers/PirepImporter.php | 4 +- .../Services}/Importers/RankImport.php | 4 +- .../Services}/Importers/UserImport.php | 4 +- .../Utils/IdMapper.php | 2 +- .../Utils/ImporterDB.php | 2 +- modules/Importer/composer.json | 29 +++++ modules/Importer/module.json | 14 +++ modules/Installer/Config/config.php | 4 - .../Exceptions/ImporterNextRecordSet.php | 22 ---- .../Exceptions/ImporterNoMoreRecords.php | 11 -- .../Installer/Exceptions/StageCompleted.php | 17 --- .../Http/Controllers/InstallerController.php | 14 +-- modules/Installer/Http/Routes/importer.php | 9 -- modules/Installer/Http/Routes/install.php | 16 --- modules/Installer/Http/Routes/update.php | 9 -- .../Providers/InstallerServiceProvider.php | 53 +++------ .../Resources/views/install/dbtest.blade.php | 8 ++ modules/Installer/Services/ConfigService.php | 3 - modules/Installer/composer.json | 3 +- modules/Updater/Config/config.php | 4 + .../Http/Controllers/UpdateController.php} | 23 ++-- .../Providers/UpdateServiceProvider.php | 91 ++++++++++++++++ modules/Updater/Resources/views/app.blade.php | 92 ++++++++++++++++ .../views/flash/check_error.blade.php | 6 ++ .../Resources/views/flash/message.blade.php | 11 ++ .../Resources/views/index-start.blade.php | 12 +++ .../views/steps/step1-no-update.blade.php | 13 +++ .../steps/step1-update-available.blade.php | 12 +++ .../steps/step2-migrations-done.blade.php | 18 ++++ .../steps/step3-update-complete.blade.php | 13 +++ modules/Updater/composer.json | 30 ++++++ modules/Updater/module.json | 14 +++ 64 files changed, 856 insertions(+), 259 deletions(-) rename {modules/Installer/Services => app/Services/Installer}/DatabaseService.php (97%) rename {modules/Installer/Utils => app/Services/Installer}/LoggerTrait.php (89%) create mode 100644 modules/Importer/Config/config.php rename modules/{Installer => Importer}/Console/Commands/ImportFromClassicCommand.php (91%) rename modules/{Installer => Importer}/Http/Controllers/ImporterController.php (55%) create mode 100644 modules/Importer/Providers/ImporterServiceProvider.php create mode 100644 modules/Importer/Resources/views/app.blade.php rename modules/{Installer/Resources/views/importer => Importer/Resources/views}/complete.blade.php (72%) rename modules/{Installer/Resources/views/flash => Importer/Resources/views}/dbtest.blade.php (100%) rename modules/{Installer/Resources/views/importer => Importer/Resources/views}/error.blade.php (86%) create mode 100644 modules/Importer/Resources/views/flash/check_error.blade.php create mode 100644 modules/Importer/Resources/views/flash/message.blade.php rename modules/{Installer/Resources/views/importer => Importer/Resources/views}/step1-configure.blade.php (97%) rename modules/{Installer/Resources/views/importer => Importer/Resources/views}/step2-processing.blade.php (93%) rename modules/{Installer/Services/Importer => Importer/Services}/BaseImporter.php (84%) rename modules/{Installer/Services/Importer => Importer/Services}/ImporterService.php (77%) rename modules/{Installer/Services/Importer => Importer/Services}/Importers/AircraftImporter.php (93%) rename modules/{Installer/Services/Importer => Importer/Services}/Importers/AirlineImporter.php (90%) rename modules/{Installer/Services/Importer => Importer/Services}/Importers/AirportImporter.php (93%) rename modules/{Installer/Services/Importer => Importer/Services}/Importers/ClearDatabase.php (94%) rename modules/{Installer/Services/Importer => Importer/Services}/Importers/FinalizeImporter.php (91%) rename modules/{Installer/Services/Importer => Importer/Services}/Importers/FlightImporter.php (94%) rename modules/{Installer/Services/Importer => Importer/Services}/Importers/GroupImporter.php (96%) rename modules/{Installer/Services/Importer => Importer/Services}/Importers/PirepImporter.php (97%) rename modules/{Installer/Services/Importer => Importer/Services}/Importers/RankImport.php (87%) rename modules/{Installer/Services/Importer => Importer/Services}/Importers/UserImport.php (97%) rename modules/{Installer => Importer}/Utils/IdMapper.php (96%) rename modules/{Installer => Importer}/Utils/ImporterDB.php (99%) create mode 100644 modules/Importer/composer.json create mode 100644 modules/Importer/module.json delete mode 100644 modules/Installer/Exceptions/ImporterNextRecordSet.php delete mode 100644 modules/Installer/Exceptions/ImporterNoMoreRecords.php delete mode 100644 modules/Installer/Exceptions/StageCompleted.php delete mode 100644 modules/Installer/Http/Routes/importer.php delete mode 100644 modules/Installer/Http/Routes/install.php delete mode 100644 modules/Installer/Http/Routes/update.php create mode 100644 modules/Installer/Resources/views/install/dbtest.blade.php create mode 100644 modules/Updater/Config/config.php rename modules/{Installer/Http/Controllers/UpdaterController.php => Updater/Http/Controllers/UpdateController.php} (72%) create mode 100644 modules/Updater/Providers/UpdateServiceProvider.php create mode 100644 modules/Updater/Resources/views/app.blade.php create mode 100644 modules/Updater/Resources/views/flash/check_error.blade.php create mode 100644 modules/Updater/Resources/views/flash/message.blade.php create mode 100644 modules/Updater/Resources/views/index-start.blade.php create mode 100644 modules/Updater/Resources/views/steps/step1-no-update.blade.php create mode 100644 modules/Updater/Resources/views/steps/step1-update-available.blade.php create mode 100644 modules/Updater/Resources/views/steps/step2-migrations-done.blade.php create mode 100644 modules/Updater/Resources/views/steps/step3-update-complete.blade.php create mode 100644 modules/Updater/composer.json create mode 100644 modules/Updater/module.json diff --git a/.travis.yml b/.travis.yml index d2556725..e919cc66 100644 --- a/.travis.yml +++ b/.travis.yml @@ -44,9 +44,83 @@ script: after_failure: - cat storage/logs/*.log +# Refer to: https://github.com/doctrine/dbal/blob/master/.travis.yml#L39 jobs: - fast_finish: true include: + # Different test stages +# - stage: Test +# name: PHP 7.2 + MySQL 5.7 +# php: 7.2 +# env: DB=mysql +# services: +# - mysql +# - stage: Test +# name: PHP 7.3 + MySQL 5.7 +# php: 7.3 +# env: DB=mysql +# services: +# - mysql +# - stage: Test +# name: PHP 7.4 + MySQL 5.7 +# php: 7.4 +# env: DB=mysql +# services: +# - mysql +# - stage: Test +# name: PHP 7.2 + MariaDB 10.1 +# php: 7.2 +# env: DB=mariadb +# addons: +# mariadb: '10.1' +# - stage: Test +# name: PHP 7.3 + MariaDB 10.1 +# php: 7.3 +# env: DB=mariadb +# addons: +# mariadb: '10.1' +# - stage: Test +# name: PHP 7.4 + MariaDB 10.1 +# php: 7.4 +# env: DB=mariadb MARIADB_VERSION=10.1 +# addons: +# mariadb: '10.1' +# - stage: Test +# name: PHP 7.2 + MariaDB 10.2 +# php: 7.2 +# env: DB=mariadb +# addons: +# mariadb: '10.2' +# - stage: Test +# name: PHP 7.3 + MariaDB 10.3 +# php: 7.3 +# env: DB=mariadb +# addons: +# mariadb: '10.2' +# - stage: Test +# name: PHP 7.4 + MariaDB 10.2 +# php: 7.4 +# env: DB=mariadb +# addons: +# mariadb: '10.2' +# - stage: Test +# name: PHP 7.2 + MariaDB 10.3 +# php: 7.2 +# env: DB=mariadb +# addons: +# mariadb: '10.3' +# - stage: Test +# name: PHP 7.3 + MariaDB 10.3 +# php: 7.3 +# env: DB=mariadb +# addons: +# mariadb: '10.3' +# - stage: Test +# name: PHP 7.4 + MariaDB 10.3 +# php: 7.4 +# env: DB=mariadb +# addons: +# mariadb: '10.3' + # Just packages up a release - stage: package script: skip diff --git a/app/Contracts/Model.php b/app/Contracts/Model.php index 9f0587fc..20e94c97 100644 --- a/app/Contracts/Model.php +++ b/app/Contracts/Model.php @@ -6,7 +6,7 @@ namespace App\Contracts; * @property mixed $id * @property bool $skip_mutator * - * @method static create(array $attrs) + * @method static Model create(array $attrs) * @method static Model find(int $id) * @method static Model select(array $array) * @method static Model where(array $array) diff --git a/app/Facades/Utils.php b/app/Facades/Utils.php index c077c819..8a9973e0 100644 --- a/app/Facades/Utils.php +++ b/app/Facades/Utils.php @@ -5,9 +5,6 @@ namespace App\Facades; use GuzzleHttp\Client; use Illuminate\Support\Facades\Facade; -/** - * Class Utils - */ class Utils extends Facade { /** diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 4c35ccca..2605280a 100755 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -25,7 +25,7 @@ use App\Models\Subfleet; use App\Models\User; use App\Repositories\SettingRepository; use App\Services\ModuleService; -use Illuminate\Contracts\Container\BindingResolutionException; +use App\Support\Utils; use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\View; use Illuminate\Support\ServiceProvider; @@ -76,13 +76,10 @@ class AppServiceProvider extends ServiceProvider $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class); } - try { - if (config('app.debug_toolbar') === true) { - app('debugbar')->enable(); - } else { - app('debugbar')->disable(); - } - } catch (BindingResolutionException $e) { + if (config('app.debug_toolbar') === true) { + Utils::enableDebugToolbar(); + } else { + Utils::disableDebugToolbar(); } } } diff --git a/modules/Installer/Services/DatabaseService.php b/app/Services/Installer/DatabaseService.php similarity index 97% rename from modules/Installer/Services/DatabaseService.php rename to app/Services/Installer/DatabaseService.php index 9a1618b6..57ddabfa 100644 --- a/modules/Installer/Services/DatabaseService.php +++ b/app/Services/Installer/DatabaseService.php @@ -1,6 +1,6 @@ disable(); + + $module = Module::find('importer'); + $module->disable(); + } } diff --git a/modules/Installer/Utils/LoggerTrait.php b/app/Services/Installer/LoggerTrait.php similarity index 89% rename from modules/Installer/Utils/LoggerTrait.php rename to app/Services/Installer/LoggerTrait.php index f8faa60b..872827ef 100644 --- a/modules/Installer/Utils/LoggerTrait.php +++ b/app/Services/Installer/LoggerTrait.php @@ -1,6 +1,6 @@ enable(); + } catch (BindingResolutionException $e) { + } + } + + /** + * Disable the debug toolbar + */ + public static function disableDebugToolbar() + { + try { + app('debugbar')->disable(); + } catch (BindingResolutionException $e) { + } + } + /** * Is the installer enabled? * diff --git a/config/modules_statuses.json b/config/modules_statuses.json index 6aba0422..d7b8ddbe 100644 --- a/config/modules_statuses.json +++ b/config/modules_statuses.json @@ -1,7 +1,9 @@ { "Awards": true, + "Importer": true, "Installer": true, "Sample": true, + "Updater": true, "VMSAcars": true, "Vacentral": true -} \ No newline at end of file +} diff --git a/intellij_style.xml b/intellij_style.xml index 9c0b5256..3fc35b05 100644 --- a/intellij_style.xml +++ b/intellij_style.xml @@ -17,9 +17,9 @@