<?php

namespace App\Http\Controllers\Concerns;

use App\Services\Finance\FinanceNavService;

trait AuthorizesFinanceAccess
{
    protected function ensureTreasuryAccess(): void
    {
        abort_unless(
            app(FinanceNavService::class)->hasTreasuryAccess(auth()->user()),
            403,
            'Treasury access is required for this page.'
        );
    }

    protected function ensureOperationalOrTreasuryAccess(): void
    {
        $nav = app(FinanceNavService::class);
        $user = auth()->user();

        abort_unless(
            $nav->hasOperationalAccess($user) || $nav->hasTreasuryAccess($user),
            403,
            'You do not have access to company finance records.'
        );
    }
}
