<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     */
    public function run(): void
    {
        // System defaults and catalog data required in every environment
        $this->call([
            MediaStorageTargetSeeder::class,
            LegalPagesSeeder::class,
            PackageSeeder::class,
            GiftVoucherTierSeeder::class,
            CouponSeeder::class,
            PackageAddonSeeder::class,
            EventTypesSeeder::class,
            EmotionsSeeder::class,
            TaskCollectionsSeeder::class,

        ]);

        $this->call([
            BlogPostSeeder::class,
            BlogPostErgaenzungSeeder::class,
            SuperAdminSeeder::class,
        ]);

        if (! app()->environment('production')) {
            $this->call([
                DemoTenantSeeder::class,
                DemoEventSeeder::class,
                TasksSeeder::class,
                EventTasksSeeder::class,
            ]);
        }

        if (app()->environment(['local', 'development', 'demo'])) {
            $this->call([
                DemoPhotosSeeder::class,
                DemoAchievementsSeeder::class,
            ]);
        }
    }
}
