<?php 
/*
* FlatLab
* Clase principal del paquete instalador de la plantilla
*/

namespace Sargilla\FlatLab;

class FlatLab
{
    /**
    * Create a new controller instance.
    *
    * @return void
    */
    public function __construct()
    {

    }

    /**
    * languages
    *
    * @return Response
    */
    public function languages()
    {
        return [
        FLATLAB_PATH.'/resources/lang' => resource_path('lang/vendor/flatlab'),
        FLATLAB_PATH.'/resources/original-lang' => resource_path('lang/')   
        ];
    }

    /**
    * Config path.
    *
    * @return array
    */
    public function config()
    {
        return [
        FLATLAB_PATH.'/config/flatlab.php' => config_path('flatlab.php'),
        FLATLAB_PATH.'/config/image.php' => config_path('image.php'),
        FLATLAB_PATH.'/config/imagecache.php' => config_path('imagecache.php'),
        ];
    }

    /**
    * Views copy path.
    *
    * @return array
    */
    public function views()
    {
        return [
        FLATLAB_PATH.'/resources/views/flatlab'  =>  resource_path('views/vendor/flatlab'),
        FLATLAB_PATH.'/resources/views/mail'  =>  resource_path('views/vendor/mail'),
        FLATLAB_PATH.'/resources/views/notifications' =>  resource_path('views/vendor/notifications')
        ];
    }
    /**
    * Views copy path.
    *
    * @return array
    */
    public function viewsToOverwrite()
    {
        return [
            FLATLAB_PATH.'/resources/views/errors'  =>  resource_path('views/errors')
        ];
    }

    /**
     * Gravatar path.
     *
     * @return array
     */
    public function gravatar()
    {
        return [
            base_path().'/vendor/creativeorange/gravatar/config/gravatar.php' => config_path('gravatar.php'),
        ];
    }

    /**
     * Public Assets.
     *
     * @return array
     */
    public function publicAssets()
    {
        return [
            FLATLAB_PATH.'/public'  =>  public_path('')
        ];
    }

    /**
     * Resource assets copy path.
     *
     * @return array
     */
    public function resourceAssets()
    {
        return [
            FLATLAB_PATH.'/resources/assets' => resource_path('assets/flatlab/assets'),
            FLATLAB_PATH.'/resources/css' => resource_path('assets/flatlab/css'),
            FLATLAB_PATH.'/resources/img' => resource_path('assets/flatlab/img'),
            FLATLAB_PATH.'/resources/fonts' => resource_path('assets/flatlab/fonts'),
            FLATLAB_PATH.'/resources/lang' => resource_path('lang/vendor/flatlab'),
            FLATLAB_PATH.'/resources/original-lang' => resource_path('lang'),
            FLATLAB_PATH.'/resources/sass/app.scss   ' => resource_path('assets/flatlab/sass/app.scss'),
            FLATLAB_PATH.'/resources/js' => resource_path('assets/flatlab/js'),
            FLATLAB_PATH.'/webpack.mix.js'        => base_path('webpack.mix.js'),
            FLATLAB_PATH.'/package.json'        => base_path('/package.json'),
        ];
    }
    
    /**
    * Auth login controller copy path.
    *
    * @return array
    */
    public function loginController()
    {
        return [
        FLATLAB_PATH.'/src/Stubs/LoginController.stub' =>
        app_path('Http/Controllers/Auth/LoginController.php'),
        ];
    }

    /**
    * Home controller copy path.
    *
    * @return array
    */
    public function homeController()
    {
        return [
        FLATLAB_PATH.'/src/Stubs/HomeController.stub' => app_path('Http/Controllers/HomeController.php'),
        ];
    }

    /**
    * Auth register controller copy path.
    *
    * @return array
    */
    public function registerController()
    {
        return [
        FLATLAB_PATH.'/src/Stubs/RegisterController.stub' =>
        app_path('Http/Controllers/Auth/RegisterController.php'),
        ];
    }

    /**
    * Auth forgot password controller copy path.
    *
    * @return array
    */
    public function forgotPasswordController()
    {
        return [
        FLATLAB_PATH.'/src/Stubs/ForgotPasswordController.stub' =>
        app_path('Http/Controllers/Auth/ForgotPasswordController.php'),
        ];
    }

    /**
    * Auth reset password controller copy path.
    *
    * @return array
    */
    public function resetPasswordController()
    {
        return [
        FLATLAB_PATH.'/src/Stubs/ResetPasswordController.stub' =>
        app_path('Http/Controllers/Auth/ResetPasswordController.php'),
        ];
    }

    /**
     * Auth reset password notification.
     *
     * @return array
     */
    public function PasswordResetNotification()
    {
        return [
        FLATLAB_PATH.'/src/Stubs/PasswordResetNotification.stub' =>
        app_path('Notifications/PasswordResetNotification.php'),
        ];
    }

    /**
     * Auth reset password notification.
     *
     * @return array
     */
    public function UserModel()
    {
        return [
        FLATLAB_PATH.'/src/Stubs/User.stub' =>
        app_path('User.php'),
        ];
    }

     /**
     * Auth reset password notification.
     *
     * @return array
     */
    public function UserMigration()
    {
        return [
        FLATLAB_PATH.'/migrations/2014_10_12_000000_create_users_table.php' =>
        database_path('migrations/2014_10_12_000000_create_users_table.php'),
        ];
    }

    /**
     * Web routes path.
     *
     * @return array
     */
    public function webroutes()
    {
        return [
            FLATLAB_PATH.'/routes/web.php' =>
                base_path('routes/web.php')
        ];
    }

    /**
     * Api routes path.
     *
     * @return array
     */
    public function apiroutes()
    {
        return [
            FLATLAB_PATH.'/routes/api.php' =>
                base_path('routes/api.php')
        ];
    }
    
}