group(function () { //Route::get('/', [WebstatementController::class, 'index'])->name('webstatement.index'); // Customer routes Route::get('datatables', [CustomerController::class, 'dataForDatatables'])->name('customer.datatables'); Route::get('export', [CustomerController::class, 'export'])->name('customer.export'); Route::post('delete-multiple', [CustomerController::class, 'deleteMultiple'])->name('deleteMultiple'); Route::resource('customer', CustomerController::class); Route::prefix('jenis-kartu')->name('jenis-kartu.')->group(function () { Route::get('datatables', [JenisKartuController::class, 'dataForDatatables'])->name('datatables'); Route::get('export', [JenisKartuController::class, 'export'])->name('export'); Route::post('delete-multiple', [JenisKartuController::class, 'deleteMultiple'])->name('deleteMultiple'); }); Route::resource('jenis-kartu', JenisKartuController::class); Route::prefix('kartu-atm')->name('kartu-atm.')->group(function () { Route::get('datatables', [KartuAtmController::class, 'dataForDatatables'])->name('datatables'); }); Route::resource('kartu-atm', KartuAtmController::class)->only('index'); Route::prefix('sync-logs')->name('sync-logs.')->group(function () { Route::get('datatables', [SyncLogsController::class, 'dataForDatatables'])->name('datatables'); Route::get('/download/{id}', [SyncLogsController::class, 'downloadFile'])->name('download'); }); Route::resource('sync-logs', SyncLogsController::class); Route::prefix('emailblast')->group(function () { Route::get('/', [EmailBlastController::class, 'index'])->name('emailblast.index'); Route::get('/create', [EmailBlastController::class, 'create'])->name('emailblast.create'); Route::post('/', [EmailBlastController::class, 'store'])->name('emailblast.store'); Route::get('/{id}/view', [EmailBlastController::class, 'view'])->name('emailblast.view'); Route::get('/datatables', [EmailBlastController::class, 'datatables'])->name('emailblast.datatables'); }); // Periode Statement Routes Route::group(['prefix' => 'periode-statements', 'as' => 'periode-statements.', 'middleware' => ['auth']], function () { Route::get('/datatables', [PeriodeStatementController::class, 'dataForDatatables'])->name('datatables'); Route::get('/export', [PeriodeStatementController::class, 'export'])->name('export'); // Process, complete, and fail routes Route::get('/{periodeStatement}/process', 'PeriodeStatementController@process')->name('process'); Route::get('/{periodeStatement}/complete', 'PeriodeStatementController@complete')->name('complete'); Route::post('/{periodeStatement}/fail', 'PeriodeStatementController@fail')->name('fail'); // Authorization routes Route::get('/pending-authorization', 'PeriodeStatementController@pendingAuthorization')->name('pending-authorization'); Route::get('/{periodeStatement}/authorize', 'PeriodeStatementController@showAuthorize')->name('show-authorize'); Route::post('/{periodeStatement}/authorize', 'PeriodeStatementController@authorize')->name('authorize'); }); Route::resource('periode-statements', PeriodeStatementController::class); Route::group(['prefix' => 'statements', 'as' => 'statements.', 'middleware' => ['auth']], function () { Route::get('/datatables', [PrintStatementController::class, 'dataForDatatables'])->name('datatables'); Route::get('/{statement}/download', [PrintStatementController::class, 'download'])->name('download'); Route::post('/{statement}/authorize', [PrintStatementController::class, 'authorize'])->name('authorize'); Route::get('/{statement}/send-email', [PrintStatementController::class, 'sendEmail'])->name('send-email'); }); Route::resource('statements', PrintStatementController::class); // ATM Transaction Report Routes Route::group(['prefix' => 'atm-reports', 'as' => 'atm-reports.', 'middleware' => ['auth']], function () { Route::get('/datatables', [AtmTransactionReportController::class, 'dataForDatatables'])->name('datatables'); Route::get('/{atmReport}/download', [AtmTransactionReportController::class, 'download'])->name('download'); Route::post('/{atmReport}/authorize', [AtmTransactionReportController::class, 'authorize'])->name('authorize'); Route::get('/{atmReport}/send-email', [AtmTransactionReportController::class, 'sendEmail'])->name('send-email'); Route::post('/{atmReport}/retry', [AtmTransactionReportController::class, 'retry'])->name('retry'); }); Route::resource('atm-reports', AtmTransactionReportController::class); // Email Statement Log Routes Route::group(['prefix' => 'email-statement-logs', 'as' => 'email-statement-logs.', 'middleware' => ['auth']], function () { Route::get('/datatables', [EmailStatementLogController::class, 'dataForDatatables'])->name('datatables'); Route::post('/{id}/resend-email', [EmailStatementLogController::class, 'resendEmail'])->name('resend-email'); }); Route::resource('email-statement-logs', EmailStatementLogController::class)->only(['index', 'show']); // Laporan Closing Balance Routes Route::group(['prefix' => 'laporan-closing-balance', 'as' => 'laporan-closing-balance.', 'middleware' => ['auth']], function () { Route::get('/datatables', [LaporanClosingBalanceController::class, 'dataForDatatables'])->name('datatables'); Route::get('/export', [LaporanClosingBalanceController::class, 'export'])->name('export'); Route::get('/{accountNumber}/{period}', [LaporanClosingBalanceController::class, 'show'])->name('show'); }); Route::resource('laporan-closing-balance', LaporanClosingBalanceController::class)->only(['index']); }); Route::get('/stmt-export-csv', [WebstatementController::class, 'index'])->name('webstatement.index'); Route::prefix('debug')->group(function () { Route::get('/test-statement',[WebstatementController::class,'printStatementRekening'])->name('webstatement.test'); Route::post('/statement', [DebugStatementController::class, 'debugStatement'])->name('debug.statement'); Route::get('/statements', [DebugStatementController::class, 'listStatements'])->name('debug.statements.list'); });