<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Support\Facades\Storage; class UpdateEnvToSaasEnv extends Migration { public function up() { $settings = [ 'APP_NAME' => env('APP_NAME'), 'APP_URL' => env('APP_URL'), 'APP_DEBUG' => env('APP_DEBUG') ? 'true' : 'false', 'BROADCAST_DRIVER' => env('BROADCAST_DRIVER'), 'CACHE_DRIVER' => env('CACHE_DRIVER'), 'QUEUE_CONNECTION' => env('QUEUE_CONNECTION'), 'SESSION_DRIVER' => env('SESSION_DRIVER'), 'SESSION_LIFETIME' => env('SESSION_LIFETIME'), 'REDIS_HOST' => env('REDIS_HOST'), 'REDIS_PASSWORD' => env('REDIS_PASSWORD'), 'REDIS_PORT' => env('REDIS_PORT'), 'MAIL_DRIVER' => env('MAIL_DRIVER'), 'MAIL_HOST' => env('MAIL_HOST'), 'MAIL_PORT' => env('MAIL_PORT'), 'MAIL_USERNAME' => env('MAIL_USERNAME'), 'MAIL_PASSWORD' => env('MAIL_PASSWORD'), 'MAIL_ENCRYPTION' => env('MAIL_ENCRYPTION'), 'MAIL_FROM_ADDRESS' => env('MAIL_FROM_ADDRESS'), 'MAIL_FROM_NAME' => env('MAIL_FROM_NAME'), 'AWS_ACCESS_KEY_ID' => env('AWS_ACCESS_KEY_ID'), 'AWS_SECRET_ACCESS_KEY' => env('AWS_SECRET_ACCESS_KEY'), 'AWS_DEFAULT_REGION' => env('AWS_DEFAULT_REGION'), 'AWS_BUCKET' => env('AWS_BUCKET'), 'PUSHER_APP_ID' => env('PUSHER_APP_ID'), 'PUSHER_APP_KEY' => env('PUSHER_APP_KEY'), 'PUSHER_APP_SECRET' => env('PUSHER_APP_SECRET'), 'PUSHER_APP_CLUSTER' => env('PUSHER_APP_CLUSTER'), 'TIME_ZONE' => env('TIME_ZONE'), 'MIX_PUSHER_APP_KEY' => env('MIX_PUSHER_APP_KEY'), 'MIX_PUSHER_APP_CLUSTER' => env('MIX_PUSHER_APP_CLUSTER'), 'VIMEO_CLIENT' => env('VIMEO_CLIENT'), 'VIMEO_SECRET' => env('VIMEO_SECRET'), 'VIMEO_ACCESS' => env('VIMEO_ACCESS'), 'VIMEO_COMMON_USE' => env('VIMEO_COMMON_USE') ? 'true' : 'false', 'VIMEO_UPLOAD_TYPE' => env('VIMEO_UPLOAD_TYPE'), 'ZOOM_CLIENT_KEY' => env('ZOOM_CLIENT_KEY'), 'ZOOM_CLIENT_SECRET' => env('ZOOM_CLIENT_SECRET'), 'BBB_SECURITY_SALT' => env('BBB_SECURITY_SALT'), 'BBB_SERVER_BASE_URL' => env('BBB_SERVER_BASE_URL'), 'FIXER_ACCESS_KEY' => env('FIXER_ACCESS_KEY'), 'FORCE_HTTPS' => env('FORCE_HTTPS') ? 'true' : 'false', 'NOCAPTCHA_SITEKEY' => env('NOCAPTCHA_SITEKEY'), 'NOCAPTCHA_SECRET' => env('NOCAPTCHA_SECRET'), 'NOCAPTCHA_IS_INVISIBLE' => env('NOCAPTCHA_IS_INVISIBLE') ? 'true' : 'false', 'NOCAPTCHA_FOR_LOGIN' => env('NOCAPTCHA_FOR_LOGIN') ? 'true' : 'false', 'NOCAPTCHA_FOR_REG' => env('NOCAPTCHA_FOR_REG') ? 'true' : 'false', 'NOCAPTCHA_FOR_CONTACT' => env('NOCAPTCHA_FOR_CONTACT') ? 'true' : 'false', 'VDOCIPHER_API_SECRET' => env('VDOCIPHER_API_SECRET'), 'ALLOW_GOOGLE_LOGIN' => env('ALLOW_GOOGLE_LOGIN') ? 'true' : 'false', 'GOOGLE_CLIENT_ID' => env('GOOGLE_CLIENT_ID'), 'GOOGLE_CLIENT_SECRET' => env('GOOGLE_CLIENT_SECRET'), 'FACEBOOK_CLIENT_ID' => env('FACEBOOK_CLIENT_ID'), 'FACEBOOK_CLIENT_SECRET' => env('FACEBOOK_CLIENT_SECRET'), 'ALLOW_FACEBOOK_LOGIN' => env('ALLOW_FACEBOOK_LOGIN') ? 'true' : 'false', 'ACELLE_STATUS' => env('ACELLE_STATUS') ? 'true' : 'false', 'ACELLE_API_URL' => env('ACELLE_API_URL'), 'ACELLE_API_TOKEN' => env('ACELLE_API_TOKEN'), 'FCM_SECRET_KEY' => env('FCM_SECRET_KEY'), ]; $domain = 'main'; $path = Storage::path('saas_env.json'); if (!Storage::has('saas_env.json')) { $strJsonFileContents = null; } else { $strJsonFileContents = file_get_contents($path); } $file_data = json_decode($strJsonFileContents, true); $new_setting = new \stdClass; foreach ($settings as $key => $value) { $new_setting->{$key} = $value; } $setting_array[$domain] = $new_setting; if (!empty($file_data)) { $merged_array = array_merge($file_data, $setting_array); $merged_array = json_encode($merged_array, JSON_PRETTY_PRINT); } else { $merged_array = json_encode($setting_array, JSON_PRETTY_PRINT); } file_put_contents($path, $merged_array); } public function down() { } }