Updates for routes

This commit is contained in:
David Bomba 2025-10-28 08:13:52 +11:00
parent 3f391b868b
commit 9aec1415d8
4 changed files with 25 additions and 21 deletions

View File

@ -96,7 +96,7 @@ class StoreSchedulerRequest extends Request
'parameters.auto_send' => ['bail','sometimes', 'boolean', 'required_if:template,invoice_outstanding_tasks'], 'parameters.auto_send' => ['bail','sometimes', 'boolean', 'required_if:template,invoice_outstanding_tasks'],
'parameters.invoice_id' => ['bail', 'string', 'required_if:template,payment_schedule', new InvoiceWithNoExistingSchedule()], 'parameters.invoice_id' => ['bail', 'string', 'required_if:template,payment_schedule', new InvoiceWithNoExistingSchedule()],
'parameters.auto_bill' => ['bail', 'boolean', 'required_if:template,payment_schedule'], 'parameters.auto_bill' => ['bail', 'boolean', 'required_if:template,payment_schedule'],
'parameters.template' => ['bail', 'sometimes', 'string', Rule::in($this->templates)], 'parameters.template' => ['bail', 'sometimes', 'nullable', 'string', Rule::in($this->templates)],
'parameters.schedule' => ['bail', 'array', 'required_if:template,payment_schedule', 'min:1'], 'parameters.schedule' => ['bail', 'array', 'required_if:template,payment_schedule', 'min:1'],
'parameters.schedule.*.id' => ['bail','sometimes', 'integer'], 'parameters.schedule.*.id' => ['bail','sometimes', 'integer'],
'parameters.schedule.*.date' => ['bail','sometimes', 'date:Y-m-d'], 'parameters.schedule.*.date' => ['bail','sometimes', 'date:Y-m-d'],

View File

@ -93,7 +93,7 @@ class UpdateSchedulerRequest extends Request
'parameters.auto_send' => ['bail','sometimes', 'boolean', 'required_if:template,invoice_outstanding_tasks'], 'parameters.auto_send' => ['bail','sometimes', 'boolean', 'required_if:template,invoice_outstanding_tasks'],
// 'parameters.invoice_id' => ['bail','sometimes', 'string', 'required_if:template,payment_schedule'], // 'parameters.invoice_id' => ['bail','sometimes', 'string', 'required_if:template,payment_schedule'],
'parameters.auto_bill' => ['bail','sometimes', 'boolean', 'required_if:template,payment_schedule'], 'parameters.auto_bill' => ['bail','sometimes', 'boolean', 'required_if:template,payment_schedule'],
'parameters.template' => ['bail', 'sometimes', 'string', Rule::in($this->templates)], 'parameters.template' => ['bail', 'sometimes', 'nullable', 'string', Rule::in($this->templates)],
'parameters.schedule' => ['bail', 'array', 'required_if:template,payment_schedule','min:1'], 'parameters.schedule' => ['bail', 'array', 'required_if:template,payment_schedule','min:1'],
'parameters.schedule.*.id' => ['bail','sometimes', 'integer'], 'parameters.schedule.*.id' => ['bail','sometimes', 'integer'],

View File

@ -11,6 +11,7 @@
| |
*/ */
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
use App\Http\Controllers\SNSController;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Controllers\PingController; use App\Http\Controllers\PingController;
use App\Http\Controllers\SmtpController; use App\Http\Controllers\SmtpController;
@ -49,6 +50,7 @@ use App\Http\Controllers\WebhookController;
use App\Http\Controllers\ActivityController; use App\Http\Controllers\ActivityController;
use App\Http\Controllers\DocumentController; use App\Http\Controllers\DocumentController;
use App\Http\Controllers\EInvoiceController; use App\Http\Controllers\EInvoiceController;
use App\Http\Controllers\FeedbackController;
use App\Http\Controllers\LocationController; use App\Http\Controllers\LocationController;
use App\Http\Controllers\PostMarkController; use App\Http\Controllers\PostMarkController;
use App\Http\Controllers\TemplateController; use App\Http\Controllers\TemplateController;
@ -116,6 +118,7 @@ use App\Http\Controllers\Reports\ARDetailReportController;
use App\Http\Controllers\Reports\DocumentReportController; use App\Http\Controllers\Reports\DocumentReportController;
use App\Http\Controllers\Reports\ARSummaryReportController; use App\Http\Controllers\Reports\ARSummaryReportController;
use App\Http\Controllers\Reports\QuoteItemReportController; use App\Http\Controllers\Reports\QuoteItemReportController;
use App\Http\Controllers\Reports\TaxPeriodReportController;
use App\Http\Controllers\Reports\UserSalesReportController; use App\Http\Controllers\Reports\UserSalesReportController;
use App\Http\Controllers\Reports\TaxSummaryReportController; use App\Http\Controllers\Reports\TaxSummaryReportController;
use App\Http\Controllers\Support\Messages\SendingController; use App\Http\Controllers\Support\Messages\SendingController;
@ -189,6 +192,7 @@ Route::group(['middleware' => ['throttle:api', 'token_auth', 'valid_json','local
Route::post('reactivate_email/{bounce_id}', [ClientController::class, 'reactivateEmail'])->name('clients.reactivate_email'); Route::post('reactivate_email/{bounce_id}', [ClientController::class, 'reactivateEmail'])->name('clients.reactivate_email');
Route::post('feedback', FeedbackController::class)->name('feedback');
Route::post('filters/{entity}', [FilterController::class, 'index'])->name('filters'); Route::post('filters/{entity}', [FilterController::class, 'index'])->name('filters');
Route::resource('client_gateway_tokens', ClientGatewayTokenController::class); Route::resource('client_gateway_tokens', ClientGatewayTokenController::class);
@ -276,6 +280,8 @@ Route::group(['middleware' => ['throttle:api', 'token_auth', 'valid_json','local
Route::get('invoices/{invoice}/delivery_note', [InvoiceController::class, 'deliveryNote'])->name('invoices.delivery_note'); Route::get('invoices/{invoice}/delivery_note', [InvoiceController::class, 'deliveryNote'])->name('invoices.delivery_note');
Route::get('invoices/{invoice}/{action}', [InvoiceController::class, 'action'])->name('invoices.action'); Route::get('invoices/{invoice}/{action}', [InvoiceController::class, 'action'])->name('invoices.action');
Route::put('invoices/{invoice}/upload', [InvoiceController::class, 'upload'])->name('invoices.upload'); Route::put('invoices/{invoice}/upload', [InvoiceController::class, 'upload'])->name('invoices.upload');
Route::post('invoices/{invoice}/payment_schedule', [InvoiceController::class, 'paymentSchedule'])->name('invoices.payment_schedule');
Route::delete('invoices/{invoice}/payment_schedule', [InvoiceController::class, 'deletePaymentSchedule'])->name('invoices.delete_payment_schedule');
Route::get('invoice/{invitation_key}/download', [InvoiceController::class, 'downloadPdf'])->name('invoices.downloadPdf'); Route::get('invoice/{invitation_key}/download', [InvoiceController::class, 'downloadPdf'])->name('invoices.downloadPdf');
Route::get('invoice/{invitation_key}/download_e_invoice', [InvoiceController::class, 'downloadEInvoice'])->name('invoices.downloadEInvoice'); Route::get('invoice/{invitation_key}/download_e_invoice', [InvoiceController::class, 'downloadEInvoice'])->name('invoices.downloadEInvoice');
Route::post('invoices/bulk', [InvoiceController::class, 'bulk'])->name('invoices.bulk'); Route::post('invoices/bulk', [InvoiceController::class, 'bulk'])->name('invoices.bulk');
@ -370,6 +376,7 @@ Route::group(['middleware' => ['throttle:api', 'token_auth', 'valid_json','local
Route::post('reports/client_balance_report', ClientBalanceReportController::class); Route::post('reports/client_balance_report', ClientBalanceReportController::class);
Route::post('reports/client_sales_report', ClientSalesReportController::class); Route::post('reports/client_sales_report', ClientSalesReportController::class);
Route::post('reports/tax_summary_report', TaxSummaryReportController::class); Route::post('reports/tax_summary_report', TaxSummaryReportController::class);
Route::post('reports/tax_period_report', TaxPeriodReportController::class);
Route::post('reports/user_sales_report', UserSalesReportController::class); Route::post('reports/user_sales_report', UserSalesReportController::class);
Route::post('reports/projects', ProjectReportController::class); Route::post('reports/projects', ProjectReportController::class);
Route::post('reports/preview/{hash}', ReportPreviewController::class); Route::post('reports/preview/{hash}', ReportPreviewController::class);
@ -410,7 +417,7 @@ Route::group(['middleware' => ['throttle:api', 'token_auth', 'valid_json','local
Route::post('settings/disable_two_factor', [TwoFactorController::class, 'disableTwoFactor']); Route::post('settings/disable_two_factor', [TwoFactorController::class, 'disableTwoFactor']);
Route::post('verify', [TwilioController::class, 'generate'])->name('verify.generate')->middleware('throttle:daily-verify'); Route::post('verify', [TwilioController::class, 'generate'])->name('verify.generate')->middleware('throttle:daily-verify');
Route::post('verify/confirm', [TwilioController::class, 'confirm'])->name('verify.confirm'); Route::post('verify/confirm', [TwilioController::class, 'confirm'])->name('verify.confirm')->middleware('throttle:daily-verify');
Route::resource('vendors', VendorController::class); // name = (vendors. index / create / show / update / destroy / edit Route::resource('vendors', VendorController::class); // name = (vendors. index / create / show / update / destroy / edit
Route::post('vendors/bulk', [VendorController::class, 'bulk'])->name('vendors.bulk'); Route::post('vendors/bulk', [VendorController::class, 'bulk'])->name('vendors.bulk');
@ -463,7 +470,7 @@ Route::group(['middleware' => ['throttle:api', 'token_auth', 'valid_json','local
}); });
Route::post('api/v1/sms_reset', [TwilioController::class, 'generate2faResetCode'])->name('sms_reset.generate')->middleware('throttle:daily-verify'); Route::post('api/v1/sms_reset', [TwilioController::class, 'generate2faResetCode'])->name('sms_reset.generate')->middleware('throttle:daily-verify');
Route::post('api/v1/sms_reset/confirm', [TwilioController::class, 'confirm2faResetCode'])->name('sms_reset.confirm')->middleware('throttle:3,1'); Route::post('api/v1/sms_reset/confirm', [TwilioController::class, 'confirm2faResetCode'])->name('sms_reset.confirm')->middleware('throttle:daily-verify');
Route::match(['get', 'post'], 'payment_webhook/{company_key}/{company_gateway_id}', PaymentWebhookController::class) Route::match(['get', 'post'], 'payment_webhook/{company_key}/{company_gateway_id}', PaymentWebhookController::class)
->middleware('throttle:1000,1') ->middleware('throttle:1000,1')
@ -474,6 +481,7 @@ Route::match(['get', 'post'], 'payment_notification_webhook/{company_key}/{compa
->name('payment_notification_webhook'); ->name('payment_notification_webhook');
Route::post('api/v1/postmark_webhook', [PostMarkController::class, 'webhook'])->middleware('throttle:5000,1'); Route::post('api/v1/postmark_webhook', [PostMarkController::class, 'webhook'])->middleware('throttle:5000,1');
Route::post('api/v1/sns_webhook', [SNSController::class, 'webhook'])->middleware('throttle:5000,1');
Route::post('api/v1/postmark_inbound_webhook', [PostMarkController::class, 'inboundWebhook'])->middleware('throttle:1000,1'); Route::post('api/v1/postmark_inbound_webhook', [PostMarkController::class, 'inboundWebhook'])->middleware('throttle:1000,1');
Route::post('api/v1/mailgun_webhook', [MailgunController::class, 'webhook'])->middleware('throttle:1000,1'); Route::post('api/v1/mailgun_webhook', [MailgunController::class, 'webhook'])->middleware('throttle:1000,1');
Route::post('api/v1/mailgun_inbound_webhook', [MailgunController::class, 'inboundWebhook'])->middleware('throttle:1000,1'); Route::post('api/v1/mailgun_inbound_webhook', [MailgunController::class, 'inboundWebhook'])->middleware('throttle:1000,1');

View File

@ -416,10 +416,6 @@ class SchedulerTest extends TestCase
], ],
]; ];
$response = $this->withHeaders([ $response = $this->withHeaders([
'X-API-SECRET' => config('ninja.api_secret'), 'X-API-SECRET' => config('ninja.api_secret'),
'X-API-TOKEN' => $this->token, 'X-API-TOKEN' => $this->token,