<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Application Name
    |--------------------------------------------------------------------------
    */

    'name' => env('APP_NAME', 'Rubel'),

    /*
    |--------------------------------------------------------------------------
    | Application Environment
    |--------------------------------------------------------------------------
    */

    'env' => env('APP_ENV', 'production'),

    /*
    |--------------------------------------------------------------------------
    | Application Debug Mode
    |--------------------------------------------------------------------------
    */

    'debug' => env('APP_DEBUG', false),

    /*
    |--------------------------------------------------------------------------
    | Application URL
    |--------------------------------------------------------------------------
    */

    'url' => env('APP_URL', 'http://localhost'),

    /*
    |--------------------------------------------------------------------------
    | Application Timezone
    |--------------------------------------------------------------------------
    */

    'timezone' => env('APP_TIMEZONE', 'Asia/Tokyo'),

    /*
    |--------------------------------------------------------------------------
    | Application Locale Configuration
    |--------------------------------------------------------------------------
    */

    'locale' => env('APP_LOCALE', 'ja'),

    /*
    |--------------------------------------------------------------------------
    | Application Fallback Locale
    |--------------------------------------------------------------------------
    */

    'fallback_locale' => env('APP_FALLBACK_LOCALE', 'ja'),

    /*
    |--------------------------------------------------------------------------
    | Encryption Key
    |--------------------------------------------------------------------------
    */

    'key' => env('APP_KEY'),

    'cipher' => 'AES-256-CBC',

    /*
    |--------------------------------------------------------------------------
    | Logging Configuration
    |--------------------------------------------------------------------------
    */

    'log' => env('APP_LOG', 'single'),

    'log_level' => env('APP_LOG_LEVEL', 'debug'),

    /*
    |--------------------------------------------------------------------------
    | Autoloaded Service Providers
    |--------------------------------------------------------------------------
    */

    'providers' => [

        /*
         * Laravel Framework Service Providers...
         */
        Illuminate\Auth\AuthServiceProvider::class,
        Illuminate\Broadcasting\BroadcastServiceProvider::class,
        Illuminate\Bus\BusServiceProvider::class,
        Illuminate\Cache\CacheServiceProvider::class,
        Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
        Illuminate\Cookie\CookieServiceProvider::class,
        Illuminate\Database\DatabaseServiceProvider::class,
        Illuminate\Encryption\EncryptionServiceProvider::class,
        Illuminate\Filesystem\FilesystemServiceProvider::class,
        Illuminate\Foundation\Providers\FoundationServiceProvider::class,
        Illuminate\Hashing\HashServiceProvider::class,
        Illuminate\Mail\MailServiceProvider::class,
        Illuminate\Notifications\NotificationServiceProvider::class,
        Illuminate\Pagination\PaginationServiceProvider::class,
        Illuminate\Pipeline\PipelineServiceProvider::class,
        Illuminate\Queue\QueueServiceProvider::class,
        Illuminate\Redis\RedisServiceProvider::class,
        Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
        Illuminate\Session\SessionServiceProvider::class,
        Illuminate\Translation\TranslationServiceProvider::class,
        Illuminate\Validation\ValidationServiceProvider::class,
        Illuminate\View\ViewServiceProvider::class,

        /*
         * Package Service Providers...
         */
        BmfTech\Providers\AppServiceProvider::class,

        /*
         * Application Service Providers...
         */
        Rubel\Providers\AppServiceProvider::class,
        Rubel\Providers\AuthServiceProvider::class,
        // Rubel\Providers\BroadcastServiceProvider::class,
        Rubel\Providers\EventServiceProvider::class,
        Rubel\Providers\RouteServiceProvider::class,
        Barryvdh\Cors\ServiceProvider::class,
        Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
        Laravel\Tinker\TinkerServiceProvider::class,
        Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class,
    ],

    /*
    |--------------------------------------------------------------------------
    | Repositories
    |--------------------------------------------------------------------------
    */

    'repositories' => [
        Rubel\Repositories\Contracts\Config\ConfigRepositoryInterface::class => Rubel\Repositories\Eloquent\Config\CategoryRepository::class,
        Rubel\Repositories\Contracts\Category\CategoryRepositoryInterface::class => Rubel\Repositories\Eloquent\Category\CategoryRepository::class,
        Rubel\Repositories\Contracts\Post\PostRepositoryInterface::class => Rubel\Repositories\Eloquent\Post\PostRepository::class,
        Rubel\Repositories\Contracts\Tag\TagRepositoryInterface::class => Rubel\Repositories\Eloquent\Tag\TagRepository::class,
    ],

    /*
    |--------------------------------------------------------------------------
    | Class Aliases
    |--------------------------------------------------------------------------
    */

    'aliases' => [

        // 'App' => Illuminate\Support\Facades\App::class,
        'Artisan' => Illuminate\Support\Facades\Artisan::class,
        // 'Auth' => Illuminate\Support\Facades\Auth::class,
        // 'Blade' => Illuminate\Support\Facades\Blade::class,
        // 'Bus' => Illuminate\Support\Facades\Bus::class,
        // 'Cache' => Illuminate\Support\Facades\Cache::class,
        // 'Config' => Illuminate\Support\Facades\Config::class,
        // 'Cookie' => Illuminate\Support\Facades\Cookie::class,
        // 'Crypt' => Illuminate\Support\Facades\Crypt::class,
        // 'DB' => Illuminate\Support\Facades\DB::class,
        // 'Eloquent' => Illuminate\Database\Eloquent\Model::class,
        // 'Event' => Illuminate\Support\Facades\Event::class,
        // 'File' => Illuminate\Support\Facades\File::class,
        // 'Gate' => Illuminate\Support\Facades\Gate::class,
        // 'Hash' => Illuminate\Support\Facades\Hash::class,
        // 'Lang' => Illuminate\Support\Facades\Lang::class,
        'Log' => Illuminate\Support\Facades\Log::class,
        // 'Mail' => Illuminate\Support\Facades\Mail::class,
        // 'Notification' => Illuminate\Support\Facades\Notification::class,
        // 'Password' => Illuminate\Support\Facades\Password::class,
        // 'Queue' => Illuminate\Support\Facades\Queue::class,
        // 'Redirect' => Illuminate\Support\Facades\Redirect::class,
        // 'Redis' => Illuminate\Support\Facades\Redis::class,
        // 'Request' => Illuminate\Support\Facades\Request::class,
        // 'Response' => Illuminate\Support\Facades\Response::class,
        // 'Route' => Illuminate\Support\Facades\Route::class,
        'Schema' => Illuminate\Support\Facades\Schema::class,
        // 'Session' => Illuminate\Support\Facades\Session::class,
        // 'Storage' => Illuminate\Support\Facades\Storage::class,
        // 'URL' => Illuminate\Support\Facades\URL::class,
        // 'Validator' => Illuminate\Support\Facades\Validator::class,
        // 'View' => Illuminate\Support\Facades\View::class,
        // 'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class,
        // 'JWTFactory' => Tymon\JWTAuth\Facades\JWTFactory::class,
    ],

];
