group(function () { Route::get('receipt/report/{report}', 'ReceiptReportController'); Route::patch('receipt/actions/{action}', 'ReceiptActionsController'); Route::patch('receipt/action/{receipt}/{action}', 'ReceiptActionController'); Route::patch('receipt/workflow/{receipt}/{transition}', 'ReceiptWorkflowController'); Route::resource('receipt', 'ReceiptResourceController'); }); // Guard routes for invoice Route::prefix('{guard}/account')->group(function () { Route::get('invoice/report/{report}', 'InvoiceReportController'); Route::patch('invoice/actions/{action}', 'InvoiceActionsController'); Route::patch('invoice/action/{invoice}/{action}', 'InvoiceActionController'); Route::patch('invoice/workflow/{invoice}/{transition}', 'InvoiceWorkflowController'); Route::resource('invoice', 'InvoiceResourceController'); }); // Guard routes for invoice_items Route::prefix('{guard}/account')->group(function () { Route::patch('invoice_items/actions/{action}', 'InvoiceItemsActionsController'); Route::patch('invoice_items/action/{invoice_items}/{action}', 'InvoiceItemsActionController'); Route::resource('invoice_items', 'InvoiceItemsResourceController'); }); // Guard routes for product Route::prefix('{guard}/account')->group(function () { Route::get('product/report/{report}', 'ProductReportController'); Route::patch('product/actions/{action}', 'ProductActionsController'); Route::patch('product/action/{product}/{action}', 'ProductActionController'); Route::resource('product', 'ProductResourceController'); }); // Guard routes for coa Route::prefix('{guard}/account')->group(function () { Route::patch('coa/actions/{action}', 'CoaActionsController'); Route::patch('coa/action/{coa}/{action}', 'CoaActionController'); Route::resource('coa', 'CoaResourceController'); }); // Guard routes for costcenter Route::prefix('{guard}/account')->group(function () { Route::resource('costcenter', 'CostcenterResourceController'); }); // Guard routes for ledger Route::prefix('{guard}/account')->group(function () { Route::get('ledger/report/{report}', 'LedgerReportController'); Route::patch('ledger/actions/{action}', 'LedgerActionsController'); Route::patch('ledger/action/{ledger}/{action}', 'LedgerActionController'); Route::patch('ledger/workflow/{ledger}/{transition}', 'LedgerWorkflowController'); Route::resource('ledger', 'LedgerResourceController'); }); // Guard routes for journal Route::prefix('{guard}/account')->group(function () { Route::resource('journal', 'JournalResourceController'); }); // Guard routes for detail Route::prefix('{guard}/account')->group(function () { Route::patch('detail/actions/{action}', 'DetailActionsController'); Route::patch('detail/action/{detail}/{action}', 'DetailActionController'); Route::resource('detail', 'DetailResourceController'); }); // Public routes for account Route::get('accounts/', 'AccountPublicController@index'); Route::get('account/{slug?}', 'AccountPublicController@show');