mirror of
https://github.com/Bigherollc/wticreatorstudio.git
synced 2026-10-01 09:13:19 -04:00
39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Modules\StaffPayroll\Services;
|
|
|
|
use App\Models\User;
|
|
use Modules\StaffPayroll\Entities\InvoiceSetting;
|
|
use Modules\StaffPayroll\Entities\StaffPayrollUser;
|
|
use Modules\StaffPayroll\Repositories\InvoiceRepository;
|
|
use Modules\StaffPayroll\Repositories\InvoiceSettingRepository;
|
|
|
|
class InvoiceSettingService
|
|
{
|
|
public function __construct(
|
|
private InvoiceRepository $invoiceRepository,
|
|
private InvoiceSettingRepository $invoiceSettingRepository
|
|
) {
|
|
}
|
|
|
|
public function getLatestInvoiceNumber(User $user): int
|
|
{
|
|
$latestInvoice = $this->invoiceRepository->getLatestInvoice($user);
|
|
|
|
return $latestInvoice
|
|
? $latestInvoice->invoice_number
|
|
: $this->invoiceSettingRepository->getStartInvoiceNumber();
|
|
}
|
|
|
|
public static function isValidUserRole(User $user): bool
|
|
{
|
|
$roleSettings = InvoiceSetting::query()
|
|
->where('name', 'roles')
|
|
->first();
|
|
|
|
if (!$roleSettings) return false;
|
|
|
|
return in_array($user->role_id, json_decode($roleSettings->value));
|
|
}
|
|
}
|