<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class ProfileController extends Controller
{
    public function index(Request $request)
    {
        try {
            // Ambil user yang sudah divalidasi oleh SsoBitterId
            $user = $request->user(); 

            if (!$user) {
                return response()->json(['status' => 'error', 'message' => 'User tidak ditemukan'], 401);
            }

            // Ambil data dari tabel relasi store_user
            $storeUser = DB::table('store_user')->where('user_id', $user->id)->first();
            
            // Jika user tidak punya toko sama sekali di database
            if (!$storeUser) {
                return response()->json([
                    'status' => 'success',
                    'data' => [
                        'user_name' => $user->name,
                        'role' => 'Guest',
                        'store_name' => 'Tidak Ada Akses Toko',
                    ]
                ]);
            }

            // Ambil nama toko asli dari tabel stores
            $store = DB::table('stores')->where('id', $storeUser->store_id)->first();

            return response()->json([
                'status' => 'success',
                'data' => [
                    'user_name' => $user->name,
                    'role' => $storeUser->role ?? 'Staff', // Diambil dari kolom role di store_user
                    'store_name' => $store ? $store->name : 'Toko Tidak Ditemukan',
                ]
            ]);
            
        } catch (\Exception $e) {
            return response()->json([
                'status' => 'error', 
                'message' => 'Profile Error: ' . $e->getMessage()
            ], 500);
        }
    }
}