diff --git a/phpcs.xml b/phpcs.xml --- a/phpcs.xml +++ b/phpcs.xml @@ -9,4 +9,5 @@ src/app/ src/tests/ + src/database/ diff --git a/src/database/migrations/2014_10_12_100000_create_password_resets_table.php b/src/database/migrations/2014_10_12_100000_create_password_resets_table.php --- a/src/database/migrations/2014_10_12_100000_create_password_resets_table.php +++ b/src/database/migrations/2014_10_12_100000_create_password_resets_table.php @@ -4,6 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; +// phpcs:ignore class CreatePasswordResetsTable extends Migration { /** diff --git a/src/database/migrations/2019_09_17_102626_create_wallet_table.php b/src/database/migrations/2019_09_17_102626_create_wallet_table.php --- a/src/database/migrations/2019_09_17_102626_create_wallet_table.php +++ b/src/database/migrations/2019_09_17_102626_create_wallet_table.php @@ -4,6 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; +// phpcs:ignore class CreateWalletTable extends Migration { /** diff --git a/src/database/migrations/2019_09_17_102627_wallet_controllers.php b/src/database/migrations/2019_09_17_102627_wallet_controllers.php --- a/src/database/migrations/2019_09_17_102627_wallet_controllers.php +++ b/src/database/migrations/2019_09_17_102627_wallet_controllers.php @@ -4,6 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; +// phpcs:ignore class WalletControllers extends Migration { /** diff --git a/src/database/migrations/2019_09_17_105606_create_jobs_table.php b/src/database/migrations/2019_09_17_105606_create_jobs_table.php --- a/src/database/migrations/2019_09_17_105606_create_jobs_table.php +++ b/src/database/migrations/2019_09_17_105606_create_jobs_table.php @@ -4,6 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; +// phpcs:ignore class CreateJobsTable extends Migration { /** diff --git a/src/database/migrations/2019_09_17_132012_create_user_settings_table.php b/src/database/migrations/2019_09_17_132012_create_user_settings_table.php --- a/src/database/migrations/2019_09_17_132012_create_user_settings_table.php +++ b/src/database/migrations/2019_09_17_132012_create_user_settings_table.php @@ -4,6 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; +// phpcs:ignore class CreateUserSettingsTable extends Migration { /** diff --git a/src/database/migrations/2019_09_23_071701_create_domains_table.php b/src/database/migrations/2019_09_23_071701_create_domains_table.php --- a/src/database/migrations/2019_09_23_071701_create_domains_table.php +++ b/src/database/migrations/2019_09_23_071701_create_domains_table.php @@ -4,6 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; +// phpcs:ignore class CreateDomainsTable extends Migration { /** diff --git a/src/database/migrations/2019_09_23_110000_create_signupcodes_table.php b/src/database/migrations/2019_09_23_110000_create_signupcodes_table.php --- a/src/database/migrations/2019_09_23_110000_create_signupcodes_table.php +++ b/src/database/migrations/2019_09_23_110000_create_signupcodes_table.php @@ -3,6 +3,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; +// phpcs:ignore class CreateSignupCodesTable extends Migration { /** diff --git a/src/database/migrations/2019_09_24_082203_create_failed_jobs_table.php b/src/database/migrations/2019_09_24_082203_create_failed_jobs_table.php --- a/src/database/migrations/2019_09_24_082203_create_failed_jobs_table.php +++ b/src/database/migrations/2019_09_24_082203_create_failed_jobs_table.php @@ -4,6 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; +// phpcs:ignore class CreateFailedJobsTable extends Migration { /** diff --git a/src/database/migrations/2019_10_10_095050_create_quota_table.php b/src/database/migrations/2019_10_10_095050_create_quota_table.php --- a/src/database/migrations/2019_10_10_095050_create_quota_table.php +++ b/src/database/migrations/2019_10_10_095050_create_quota_table.php @@ -4,6 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; +// phpcs:ignore class CreateQuotaTable extends Migration { /** diff --git a/src/database/migrations/2019_12_10_095027_create_packages_table.php b/src/database/migrations/2019_12_10_095027_create_packages_table.php --- a/src/database/migrations/2019_12_10_095027_create_packages_table.php +++ b/src/database/migrations/2019_12_10_095027_create_packages_table.php @@ -4,6 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; +// phpcs:ignore class CreatePackagesTable extends Migration { /** diff --git a/src/database/migrations/2019_12_10_105428_create_plans_table.php b/src/database/migrations/2019_12_10_105428_create_plans_table.php --- a/src/database/migrations/2019_12_10_105428_create_plans_table.php +++ b/src/database/migrations/2019_12_10_105428_create_plans_table.php @@ -4,6 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; +// phpcs:ignore class CreatePlansTable extends Migration { /** diff --git a/src/database/migrations/2019_12_10_105942_create_plan_packages_table.php b/src/database/migrations/2019_12_10_105942_create_plan_packages_table.php --- a/src/database/migrations/2019_12_10_105942_create_plan_packages_table.php +++ b/src/database/migrations/2019_12_10_105942_create_plan_packages_table.php @@ -4,6 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; +// phpcs:ignore class CreatePlanPackagesTable extends Migration { /** diff --git a/src/database/migrations/2019_12_20_130000_create_verification_codes_table.php b/src/database/migrations/2019_12_20_130000_create_verification_codes_table.php --- a/src/database/migrations/2019_12_20_130000_create_verification_codes_table.php +++ b/src/database/migrations/2019_12_20_130000_create_verification_codes_table.php @@ -3,6 +3,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; +// phpcs:ignore class CreateVerificationCodesTable extends Migration { /** diff --git a/src/database/migrations/2020_02_26_000000_create_user_aliases_table.php b/src/database/migrations/2020_02_26_000000_create_user_aliases_table.php --- a/src/database/migrations/2020_02_26_000000_create_user_aliases_table.php +++ b/src/database/migrations/2020_02_26_000000_create_user_aliases_table.php @@ -4,6 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; +// phpcs:ignore class CreateUserAliasesTable extends Migration { /** diff --git a/src/database/migrations/2020_04_21_100000_create_wallet_settings.php b/src/database/migrations/2020_04_21_100000_create_wallet_settings.php --- a/src/database/migrations/2020_04_21_100000_create_wallet_settings.php +++ b/src/database/migrations/2020_04_21_100000_create_wallet_settings.php @@ -4,6 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; +// phpcs:ignore class CreateWalletSettings extends Migration { /** diff --git a/src/database/seeds/DatabaseSeeder.php b/src/database/seeds/DatabaseSeeder.php --- a/src/database/seeds/DatabaseSeeder.php +++ b/src/database/seeds/DatabaseSeeder.php @@ -2,6 +2,7 @@ use Illuminate\Database\Seeder; +// phpcs:ignore class DatabaseSeeder extends Seeder { /** @@ -11,15 +12,26 @@ */ public function run() { - $this->call( - [ - DiscountSeeder::class, - DomainSeeder::class, - SkuSeeder::class, - PackageSeeder::class, - PlanSeeder::class, - UserSeeder::class - ] - ); + // Define seeders order + $seeders = [ + 'DiscountSeeder', + 'DomainSeeder', + 'SkuSeeder', + 'PackageSeeder', + 'PlanSeeder', + 'UserSeeder' + ]; + + $env = ucfirst(App::environment()); + + // Check if the seeders exists + foreach ($seeders as $idx => $name) { + $class = "Database\\Seeds\\$env\\$name"; + $seeders[$idx] = class_exists($class) ? $class : null; + } + + $seeders = array_filter($seeders); + + $this->call($seeders); } } diff --git a/src/database/seeds/DiscountSeeder.php b/src/database/seeds/local/DiscountSeeder.php rename from src/database/seeds/DiscountSeeder.php rename to src/database/seeds/local/DiscountSeeder.php --- a/src/database/seeds/DiscountSeeder.php +++ b/src/database/seeds/local/DiscountSeeder.php @@ -1,5 +1,7 @@ true, ] ); - - Discount::create( - [ - 'description' => 'Test voucher', - 'discount' => 10, - 'active' => true, - 'code' => 'TEST', - ] - ); } } diff --git a/src/database/seeds/DomainSeeder.php b/src/database/seeds/production/DomainSeeder.php rename from src/database/seeds/DomainSeeder.php rename to src/database/seeds/production/DomainSeeder.php --- a/src/database/seeds/DomainSeeder.php +++ b/src/database/seeds/production/DomainSeeder.php @@ -1,5 +1,7 @@ \config('app.domain'), - 'status' => DOMAIN::STATUS_CONFIRMED + Domain::STATUS_ACTIVE, - 'type' => Domain::TYPE_PUBLIC - ] - ); - } - - $domains = [ - 'example.com', - 'example.net', - 'example.org' - ]; - - foreach ($domains as $domain) { - Domain::create( - [ - 'namespace' => $domain, - 'status' => Domain::STATUS_CONFIRMED + Domain::STATUS_ACTIVE, - 'type' => Domain::TYPE_EXTERNAL - ] - ); - } } } diff --git a/src/database/seeds/PackageSeeder.php b/src/database/seeds/production/PackageSeeder.php rename from src/database/seeds/PackageSeeder.php rename to src/database/seeds/production/PackageSeeder.php --- a/src/database/seeds/PackageSeeder.php +++ b/src/database/seeds/production/PackageSeeder.php @@ -1,10 +1,11 @@ Everything you need to get started or try Kolab Now, including:

+ +EOD; + + $plan = Plan::create( + [ + 'title' => 'individual', + 'name' => 'Individual Account', + 'description' => $description, + 'discount_qty' => 0, + 'discount_rate' => 0 + ] + ); + + $packages = [ + Package::firstOrCreate(['title' => 'kolab']) + ]; + + $plan->packages()->saveMany($packages); + + $description = <<<'EOD' +

All the features of the Individual Account, with the following extras:

+ +EOD; + + $plan = Plan::create( + [ + 'title' => 'group', + 'name' => 'Group Account', + 'description' => $description, + 'discount_qty' => 0, + 'discount_rate' => 0 + ] + ); + + $packages = [ + Package::firstOrCreate(['title' => 'domain-hosting']), + Package::firstOrCreate(['title' => 'kolab']), + ]; + + $plan->packages()->saveMany($packages); + } +} diff --git a/src/database/seeds/SkuSeeder.php b/src/database/seeds/production/SkuSeeder.php rename from src/database/seeds/SkuSeeder.php rename to src/database/seeds/production/SkuSeeder.php --- a/src/database/seeds/SkuSeeder.php +++ b/src/database/seeds/production/SkuSeeder.php @@ -1,5 +1,7 @@ 'storage', 'name' => 'Storage Quota', 'description' => 'Some wiggle room', - 'cost' => 25, + 'cost' => 50, 'units_free' => 2, 'period' => 'monthly', 'handler_class' => 'App\Handlers\Storage',