@php use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; use App\Transaction; use Carbon\Carbon; // Queries $config = DB::table('config')->get(); // Fetch current user's details $user = Auth::user(); $allowedPermissions = json_decode($user->permissions, true); // Ensure `$allowedPermissions` is an array (to handle cases where permissions are null or malformed) if (!is_array($allowedPermissions)) { $allowedPermissions = []; } // Add or update missing permissions $defaultPermissions = [ 'coupons' => 1, 'custom_domain' => 1, 'marketing' => 1, 'maintenance_mode' => 1, 'demo_mode' => 1, 'backup' => 1, 'nfc_card_design' => 1, 'nfc_card_orders' => 1, 'nfc_card_order_transactions' => 1, 'nfc_card_key_generations' => 1, 'email_templates' => 1, 'plugins' => 1, 'referral_system' => 1, ]; // Merge default permissions with the current ones (current values take precedence) $allowedPermissions = array_merge($defaultPermissions, $allowedPermissions); // Update user details if permissions were changed if ($allowedPermissions !== json_decode($user->permissions, true)) { $user->permissions = json_encode($allowedPermissions); $user->updated_at = Carbon::now(); // Update timestamp explicitly $user->save(); // Save changes to the database } // Fetch updated permissions $allowedPermissions = json_decode($user->permissions, true); // Get user paid transactions (Online) $onlinePaidTransactions = Transaction::where('payment_gateway_name', '!=', 'Offline') ->where('payment_status', 'SUCCESS') ->count(); // Get user unpaid transactions (Offline) $onlineUnpaidTransactions = Transaction::where('payment_gateway_name', '!=', 'Offline') ->where('payment_status', '!=', 'SUCCESS') ->count(); // Get user paid transactions (Offline) $offlinePaidTransactions = Transaction::where('payment_gateway_name', 'Offline') ->where('payment_status', 'SUCCESS') ->count(); // Get user unpaid transactions (Offline) $offlineUnpaidTransactions = Transaction::where('payment_gateway_name', 'Offline') ->where('payment_status', '!=', 'SUCCESS') ->count(); @endphp