'Update Bank Metadata', 'message' => 'You have successfully updated the Bank metadata' ]; } /** @var CanUpdateBankMetadata */ private $canUpdateBankMetadata; /** @var FetchesTransaction */ private $fetchesTransaction; /** * UpdateBankMetadataLogic constructor. * @param CanUpdateBankMetadata $canUpdateBankMetadata * @param FetchesTransaction $fetchesTransaction */ public function __construct( CanUpdateBankMetadata $canUpdateBankMetadata, FetchesTransaction $fetchesTransaction ) { $this->canUpdateBankMetadata = $canUpdateBankMetadata; $this->fetchesTransaction = $fetchesTransaction; } /** * @param Request $request * @return JsonResponse * @throws \App\Classes\Exceptions\AccessForbiddenException * @throws \App\Classes\Exceptions\MalformedRequestException * @throws \App\Classes\Exceptions\RequestValidationException */ public function logic(Request $request) : JsonResponse { $bankMetadataObject = new BankMetadataObject( $request->input('transactionId'), ); $this->canUpdateBankMetadata->passes($bankMetadataObject); $transaction = $this->fetchesTransaction->execute(['id' => $request->input('transactionId')]); $transaction->attributesKVP()->delete(); return $this->response([]); } }