fix: bypass invoice quota checks for super_admin in all upload and creation endpoints

This commit is contained in:
Hamza-Ayed
2026-05-15 23:41:48 +03:00
parent 3f0534ba0d
commit a98a5abcce
2 changed files with 9 additions and 5 deletions

View File

@@ -53,10 +53,12 @@ if ($decoded['role'] !== 'super_admin' && $company['tenant_id'] !== $tenantId) {
$targetTenantId = $company['tenant_id'];
// 3. Check quota (preview — don't increment yet)
try {
QuotaMiddleware::checkInvoiceQuota($targetTenantId);
} catch (\Exception $e) {
json_error('تم استنفاد رصيد الفواتير لهذا الشهر. قم بترقية باقتك.', 429);
if ($decoded['role'] !== 'super_admin') {
try {
QuotaMiddleware::checkInvoiceQuota($targetTenantId);
} catch (\Exception $e) {
json_error('تم استنفاد رصيد الفواتير لهذا الشهر. قم بترقية باقتك.', 429);
}
}
// 4. Generate batch ID

View File

@@ -50,7 +50,9 @@ try {
try {
// Check quota for each invoice (preventive)
QuotaMiddleware::checkInvoiceQuota($tenantId);
if ($decoded['role'] !== 'super_admin') {
QuotaMiddleware::checkInvoiceQuota($tenantId);
}
$invoiceData = [
'id' => Database::generateUuid(),