'Booking Unlock', 'message' => 'You have successfully unlock the Booking for editing' ]; } /** @var CanDeleteBooking */ private $canDeleteBooking; /** @var DeletesBooking */ private $deletesBooking; /** @var FetchesBooking */ private $fetchesBooking; public function __construct( CanDeleteBooking $canDeleteBooking, DeletesBooking $deletesBooking, FetchesBooking $fetchesBooking ) { $this->canDeleteBooking = $canDeleteBooking; $this->deletesBooking = $deletesBooking; $this->fetchesBooking = $fetchesBooking; } /** * @param Request $request * @return JsonResponse * @throws AccessForbiddenException */ public function logic(Request $request) : JsonResponse { // cief todo: 110 - CanDeleteBookingLock $password = $request->input('password'); if($password !== 'prototype'){ throw new AccessForbiddenException('Incorrect Password'); } $booking = $this->fetchesBooking->execute(['id' => $request->route('id')]); $booking->attributesKVP()->where('key', KVPKey::BOOKING_IS_LOCKED)->delete(); return $this->response([]); } }