-Approve refund - only super admin

-If invoice generated - only super admin can request refund
This commit is contained in:
JiaSheng
2024-03-25 15:06:46 +08:00
parent c95c274db7
commit 3deba3468a
4 changed files with 15 additions and 8 deletions
@@ -2,7 +2,7 @@
namespace App\Classes\Modules\Transactions\ControllersLogic;
use App\Classes\Exceptions\MalformedRequestException;
use App\Classes\General\Abstracts\AbstractControllerLogic;
use App\Classes\Modules\Bookings\ControllersLogic\UpdateBookingAmountLogic;
use App\Classes\Modules\Companies\Services\FetchesCompany;
@@ -17,6 +17,7 @@ use App\Classes\Modules\Wallets\Processors\CreditWalletProcessor;
use App\Classes\Modules\Bookings\Services\CalculatesBookingPayableAmount;
use App\Classes\Modules\Bookings\Services\CalculatesBookingRefundAmount;
use App\Classes\ValueObjects\Constants\TransactionType;
use Illuminate\Support\Facades\Auth;
class UpdateRefundTransactionStatusLogic extends AbstractControllerLogic
{
@@ -85,6 +86,10 @@ class UpdateRefundTransactionStatusLogic extends AbstractControllerLogic
*/
public function logic(Request $request) : JsonResponse
{
if (!(Auth::user()->type === 0 || Auth::user()->type === 1)) {
throw new MalformedRequestException('Only super admin can update refund status.');
}
$refundTransaction = $this->fetchesTransaction->execute(['id' => $request->route('id')]);
$refundTransaction = $this->updatesTransactionStatus->execute($refundTransaction, $request->route('status'));