mein-sterntours/app/Http/Controllers/API/BookingController.php
2026-04-22 16:01:27 +02:00

44 lines
1.3 KiB
PHP
Executable file

<?php
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use App\Models\TravelBooking;
use App\Services\BookingImport;
class BookingController extends Controller
{
private int $successStatus = 200;
private string $successKey;
public function __construct()
{
$this->successKey = config('app.success_key');
}
public function import()
{
$request = \Request::all();
if (!isset($request['key']) || $request['key'] !== $this->successKey) {
return response()->json(['error' => "key"], 401);
}
$travel_booking = TravelBooking::find($request['travel_booking_id']);
if (!$travel_booking) {
return response()->json(['error' => 'no-booking-found'], $this->successStatus);
}
$booking = BookingImport::importFrom($travel_booking);
$ret = [
'url_v1' => make_old_url('/index.php/booking/' . $booking->id . '/edit'),
'url_v3' => route('booking_detail', $booking->id),
// API-Feld bleibt `lead_id` aus Abwärtskompatibilität für API-Konsumenten;
// Wert kommt nach Modul 3 Phase 2 aus booking.inquiry_id.
'lead_id' => $booking->inquiry_id
];
return response()->json(['success' => "import", "ret" => $ret], $this->successStatus);
}
}