<?php

namespace App\Controllers\Admin;

use App\Controllers\BaseController;
use App\Models\ActivityLogModel;
use App\Models\CompanyModel;

/**
 * سجل النشاطات - يعرض كل عملية حصلت بالنظام (من عمل إيه، إمتى، وIP).
 * - السوبر أدمن: يشوف سجل كل الشركات (مع فلتر اختياري لشركة معينة).
 * - مدير الشركة: يشوف سجل شركته هو فقط تلقائياً (بدون أي إعداد إضافي).
 */
class ActivityLogController extends BaseController
{
    public function index()
    {
        $model = new ActivityLogModel();
        $query = $model->orderBy('created_at', 'DESC');

        if ($this->isSuperAdmin()) {
            // فلتر اختياري بشركة معينة من القائمة
            $filterCompany = $this->request->getGet('company_id');
            if ($filterCompany) {
                $query->where('company_id', $filterCompany);
            }
            $companies = array_column((new CompanyModel())->findAll(), 'name', 'id');
        } else {
            $query->where('company_id', $this->currentCompanyId());
            $companies = [];
        }

        // فلتر اختياري بنوع العملية أو بمستخدم معين
        if ($action = $this->request->getGet('action')) {
            $query->like('action', $action);
        }

        $logs = $query->paginate(30);

        return view('admin/logs/index', [
            'logs' => $logs,
            'pager' => $model->pager,
            'companies' => $companies,
            'selectedCompany' => $this->request->getGet('company_id'),
            'selectedAction' => $this->request->getGet('action'),
        ]);
    }
}
