<?php
$params = array_merge(
    require __DIR__ . '/../../common/config/params.php',
    require __DIR__ . '/../../common/config/params-local.php',
    require __DIR__ . '/../../common/config/error.php',
    require __DIR__ . '/params.php',
    require __DIR__ . '/params-local.php'
);
date_default_timezone_set("Asia/Calcutta");

return [
    'id' => 'app-backend',
    'basePath' => dirname(__DIR__),
    'controllerNamespace' => 'backend\controllers',
    'bootstrap' => ['log'],
    'modules' => [
        'user' => [
            'class' => 'app\modules\user\UserModule',
        ],
        'api' => [
            'class' => 'app\modules\api\ApiModule',
        ],
    ],
    'components' => [
        'request' => [
            'csrfParam' => '_csrf-backend',
            'enableCookieValidation' => false,
            'enableCsrfValidation' => false,
            'parsers' => [
                'application/json' => 'yii\web\JsonParser',
            ]
            //'baseUrl' => '/admin'
        ],
        'common' => [
            'class' => 'backend\components\Common'
        ],
        'digiSms' => [
            'class' => 'backend\components\DigiSms'
        ],
        'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => false,
            'identityCookie' => ['name' => '_identity-backend', 'httpOnly' => true],
        ],
        'session' => [
            // this is the name of the session cookie used for login on the backend
            'name' => 'advanced-backend',
        ],
        /* 'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            'useFileTransport' => false, // Set to false to send real emails
            'transport' => [
                'class' => 'Swift_SmtpTransport',
                'host' => 'smtp.cpbroadcast.com', // SMTP server
                'username' => 'support@cpbroadcast.com',
                'password' => '5esus1id3bt7',
                'port' => '587', // 465 for SSL, 587 for TLS
                'encryption' => 'tls', // ssl or tls
            ],
        ], */
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => \yii\log\FileTarget::class,
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'errorHandler' => [
            //'errorAction' => 'site/error',
            'errorAction' => 'api/default/error',
        ],

        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'enableStrictParsing' => false,
            'rules' => [
                // all api routes
                'cp_getbyrera' => 'api/channelpartner/getbyrera',
                'cp_createcp' => 'api/channelpartner/createcp',

                'ld_create' => 'api/lead/create',
                'ld_detail' => 'api/lead/detail',
                'ld_stats' => 'api/lead/stats',
                'ld_list' => 'api/lead/list',
                'ld_listname' => 'api/lead/listname',
                'ld_update' => 'api/lead/update',
                'ld_delete' => 'api/lead/delete',

                'loc_list' => 'api/location/list',

                'mk_list' => 'api/marketing/list',
                'mk_connect' => 'api/marketing/connect',

                'pr_detail' => 'api/project/detail',
                'pr_bookmark' => 'api/project/bookmark',
                'pr_list' => 'api/project/list',
                'pr_listname' => 'api/project/listname',
                'pr_listbuilder' => 'api/project/listbuilder',
                'pr_bookmarklist' => 'api/project/bookmarklist',
                'pr_amenities' => 'api/project/amenities',
                'pr_guidelines' => 'api/project/guidelines',
                'pr_listsm' => 'api/project/listsm',

                'sm_create' => 'api/smcp/create',
                'sm_update' => 'api/smcp/update',
                'sm_list' => 'api/smcp/list',
                'sm_profile' => 'api/smcp/profile',
                'sm_member' => 'api/smcp/member',
                'sm_manager' => 'api/smcp/manager',
                'sm_listname' => 'api/smcp/listname',
                'sm_delete' => 'api/smcp/delete',
                'sm_notifications' => 'api/smcp/listnotification',
                'sm_notification_detail' => 'api/smcp/getnotification',
                'sm_readnotification' => 'api/smcp/readnotification',
                'sm_listnetwork' => 'api/smcp/listnetwork',
                'sm_listnetworkname' => 'api/smcp/listnetworkname',
                'sm_listapprovals' => 'api/smcp/listapprovals',
                'sm_updatenetwork' => 'api/smcp/updatenetwork',

                'tg_create' => 'api/tagging/create',
                'tg_direct' => 'api/tagging/direct',
                'tg_createmultiple' => 'api/tagging/createmultiple',
                'tg_detail' => 'api/tagging/detail',
                'tg_stats' => 'api/tagging/stats',
                'tg_update' => 'api/tagging/update',
                'tg_delete' => 'api/tagging/delete',
                'tg_list' => 'api/tagging/list',
                'tg_monthly' => 'api/tagging/monthly',
                'tg_updatestatus' => 'api/tagging/updatestatus',
                'tg_addfeed' => 'api/tagging/addfeed',

                'tk_create' => 'api/ticket/create',
                'tk_detail' => 'api/ticket/detail',
                'tk_list' => 'api/ticket/list',

                'post_create' => 'api/cpconnect/postdata',
                'post_mypostlist' => 'api/cpconnect/mypostlist',
                'post_mypostdetail' => 'api/cpconnect/mypostdetail',
                'post_mypostresults' => 'api/cpconnect/mypostresults',
                'post_detail' => 'api/cpconnect/detail',
                'post_spam' => 'api/cpconnect/spam',
                'post_update' => 'api/cpconnect/update',
                'post_listpost' => 'api/cpconnect/listpost',

                'fq_detail' => 'api/faq/detail',
                'fq_list' => 'api/faq/list',

                'rf_create' => 'api/refer/create',
                'rf_list' => 'api/refer/list',
                'rf_detail' => 'api/refer/detail',
                'rf_updatestatus' => 'api/refer/updatestatus',

                'us_verifycontact' => 'api/user/verifycontact',
                'us_otprequest' => 'api/user/otprequest',
                'us_verifyotp' => 'api/user/verifyotp',
                'us_logout' => 'api/user/logout',

                //'api/<controller:\w+>/<action:\w+>' => 'api/<controller>/<action>',
                //'/api_channelparter' => '/api/channelparter',

                //'locationlist' => 'api/location/list',
                // Default routes
                /* '<controller:\w+>/<id:\d+>' => '<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
                '<controller:\w+>/<action:\w+>' => '<controller>/<action>', */

                // Remove 'site' parameter from URL
                //'<action:(.*)>' => 'site/<action>',
            ],
        ],

    ],
    'params' => $params,
];
