Files
shipping-portal/routes/transaction.php

90 lines
6.9 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Transactions\ListTransactionsController;
use App\Http\Controllers\Transactions\SuspendTransactionController;
use App\Http\Controllers\Transactions\DeleteTransactionController;
use App\Http\Controllers\Transactions\DeletePaymentTransactionController;
use App\Http\Controllers\Transactions\UpdateTransactionStatusController;
use App\Http\Controllers\Transactions\RegenerateSingleShippingInvoiceTransactionController;
use App\Http\Controllers\Transactions\WaiveTransactionController;
use App\Http\Controllers\Transactions\RegenerateSingleStorageInvoiceTransactionController;
use App\Http\Controllers\Transactions\ListWalletTransactionsController;
use App\Http\Controllers\Transactions\VerifyTransactionsController;
use App\Http\Controllers\Transactions\CreatePaymentTransactionController;
use App\Http\Controllers\Transactions\UploadPaymentVerificationDocumentController;
use App\Http\Controllers\Transactions\ApprovePaymentTransactionController;
use App\Http\Controllers\Transactions\CreateShippingInvoiceTransactionController;
use App\Http\Controllers\Transactions\RegenerateShippingInvoiceTransactionController;
use App\Http\Controllers\Transactions\UpdateShippingInvoiceTransactionController;
use App\Http\Controllers\Transactions\ApproveShippingInvoiceTransactionController;
use App\Http\Controllers\Transactions\ShippingEstimationCalculatorController;
use App\Http\Controllers\Transactions\CreateGroupsController;
use App\Http\Controllers\Transactions\ListGroupsController;
use App\Http\Controllers\Transactions\DeleteGroupController;
use App\Http\Controllers\Transactions\DeletePaidGroupController;
use App\Http\Controllers\Transactions\UpdateGroupController;
use App\Http\Controllers\Transactions\FetchGroupController;
use App\Http\Controllers\Transactions\FetchTransactionController;
Route::group(['prefix' => 'transactions', 'as' => 'transaction.'], function () {
Route::get('/list', [ListTransactionsController::class, 'list'])->middleware('storage.invoice.check.bytransactions')->name('list');
Route::delete('/suspend/{id}', [SuspendTransactionController::class, 'suspend'])->name('suspend');
Route::delete('/delete/{id}', [DeleteTransactionController::class, 'delete'])->name('delete');
Route::delete('/delete-payment/{id}', [DeletePaymentTransactionController::class, 'delete'])->name('payment.delete');
Route::put('{id}/status/update/{status}', [UpdateTransactionStatusController::class, 'update'])->where('status', 'approve|expire|reject')->name('update');
Route::post('/{invoice_id}/regenerate', [RegenerateSingleShippingInvoiceTransactionController::class, 'regenerate'])->name('invoice.regenerate');
Route::post('/waive/{id}', [WaiveTransactionController::class, 'waive'])->name('waive');
Route::post('/e-invoice/{invoice_id}/regenerate', [RegenerateSingleShippingInvoiceTransactionController::class, 'regenerateEInvoice'])->name('einvoice.regenerate');
Route::post('/storage-invoice/{invoice_id}/regenerate', [RegenerateSingleStorageInvoiceTransactionController::class, 'regenerate'])->name('storage.invoice.regenerate');
Route::post('/sales-order/{invoice_id}/regenerate', [RegenerateSingleShippingInvoiceTransactionController::class, 'regenerateSalesOrder'])->name('sales.order.regenerate');
Route::post('/storage-e-invoice/{invoice_id}/regenerate', [RegenerateSingleStorageInvoiceTransactionController::class, 'regenerateEInvoice'])->name('storage.einvoice.regenerate');
Route::get('wallet/list', [ListWalletTransactionsController::class, 'list'])->name('wallet.list');
Route::get('/verify/{transaction_ids}', [VerifyTransactionsController::class, 'verify'])->name('verify.transactions');
Route::group(['prefix' => 'payment', 'as' => 'payment.'], function () {
Route::post('/create', [CreatePaymentTransactionController::class, 'create'])->name('create');
Route::post('/upload-verification-document/{transaction_id}', [UploadPaymentVerificationDocumentController::class, 'upload'])->name('verification.create');
Route::put('/approve/{transaction_id}/{status}', [ApprovePaymentTransactionController::class, 'approve'])->where('status', 'approve|reject')->name('approval');
});
Route::group(['prefix' => 'invoice', 'as' => 'invoice.'], function () {
Route::post('/shipping-invoice/create', [CreateShippingInvoiceTransactionController::class, 'create'])->name('create');
Route::post('/shipping-invoice/company/{company_module_id}/regenerate', [RegenerateShippingInvoiceTransactionController::class, 'regenerate'])->name('company.regenerate');
Route::put('/shipping-invoice/{id}/update', [UpdateShippingInvoiceTransactionController::class, 'update'])->name('update');
Route::put('/shipping-invoice/{id}/approve', [ApproveShippingInvoiceTransactionController::class, 'approve'])->name('approve');
});
Route::post('/shipping-invoice/calculator', [ShippingEstimationCalculatorController::class, 'calculate'])->name('shipping.estimation.calculator');
// Route::group(['prefix' => '{id}/payment', 'as' => 'payment.'], function () {
// Route::post('quotation', 'FetchBookingPaymentQuotationController@fetch')->name('quotation');
// Route::post('create', 'CreateBookingPaymentController@create')->name('create');
// Route::post('{payment_id}/verification/create', 'CreatePaymentVerificationController@create')->name('verification.create');
// Route::put('/{payment_id}/approval/{status}', 'ApprovePaymentVerificationController@approve')->where('status', 'approve|reject')->name('approval');
// });
// route::post('{id}/bill/verification', 'CreatePaymentProofDocumentController@verify')->name('bill.verification');
// Route::post('booking/{id}/details/update', 'CreatePurchaseOrderTransactionController@create')->name('po.create');
Route::group(['prefix' => 'groups', 'as' => 'group.'], function () {
Route::post('/{transaction_ids}/create', [CreateGroupsController::class, 'create'])->name('create');
Route::get('/list', [ListGroupsController::class, 'list'])->name('list');
// Route::get('/list', 'ListGroupsController@list')->middleware('storage.invoice.check.bygroup')->name('list');
Route::delete('/{id}/delete', [DeleteGroupController::class, 'delete'])->name('delete');
Route::delete('/{id}/delete-paid', [DeletePaidGroupController::class, 'delete'])->name('paidGroup.delete');
Route::put('/{id}/update', [UpdateGroupController::class, 'update'])->name('update');
// Route::post('/{id}/approve', 'CreateBulkPurchaseOrderDocumentController@aprove')->name('approve');
// Route::post('/bulk/po', 'CreateBulkPurchaseOrderDocumentController@create')->name('bulk.po');
Route::get('/single/{group_id}', [FetchGroupController::class, 'fetch'])->name('fetch.single');
});
Route::get('/single/{transaction_id}', [FetchTransactionController::class, 'fetch'])->middleware('storage.invoice.check.bytransaction')->name('fetch');
});