'Restore Booking', 'message' => 'You have successfully restored the Booking' ]; } /** @var CanDeleteBooking */ private $canDeleteBooking; /** @var FetchesBooking */ private $fetchesBooking; /** @var RestoresBooking */ private $restoresBooking; /** * RestoreBookingLogic constructor. * @param CanDeleteBooking $canDeleteBooking * @param FetchesBooking $fetchesBooking * @param RestoresBooking $restoresBooking */ public function __construct(CanDeleteBooking $canDeleteBooking, FetchesBooking $fetchesBooking, RestoresBooking $restoresBooking) { $this->canDeleteBooking = $canDeleteBooking; $this->fetchesBooking = $fetchesBooking; $this->restoresBooking = $restoresBooking; } /** * @param Request $request * @return JsonResponse * @throws \App\Classes\Exceptions\MalformedRequestException */ public function logic(Request $request) : JsonResponse { $booking = $this->fetchesBooking->execute(['id' => $request->route('id')]); $this->restoresBooking->execute($booking); return $this->resourceResponse(new BookingResource($booking)); } }