Add bird_flash_calls_client implementation with endpoint builder, request schemas, and validator for managing flash call functionality.
This commit is contained in:
@@ -11,6 +11,7 @@ use classes\stripe;
|
||||
use modules\selfserve\helpers\selfserve_lane_command;
|
||||
use modules\selfserve\helpers\selfserve_lane_port;
|
||||
use modules\selfserve\helpers\selfserve_lane_relay;
|
||||
use modules\selfserve\helpers\selfserve_wash_session_status;
|
||||
use objects\departments_o;
|
||||
use objects\logs_o;
|
||||
use objects\orders_o;
|
||||
@@ -220,13 +221,30 @@ class moduleSelfServeRoute
|
||||
$customer = $build_customer($customer_number);
|
||||
$vehicle = $build_vehicle($vehicle_id, $session_reg);
|
||||
$machine_start_triggered_at = $session->machine_start_triggered_at->value() === null ? null : (string)$session->machine_start_triggered_at->value();
|
||||
$wash_started_at = $session->wash_started_at->value() === null ? null : (string)$session->wash_started_at->value();
|
||||
if ($wash_started_at === null) {
|
||||
$wash_started_at = $machine_start_triggered_at;
|
||||
}
|
||||
if ($wash_started_at === null) {
|
||||
$wash_started_at = $format_wash_started_at($selfserve->lane($lane_id)->getWashStartTime());
|
||||
}
|
||||
$machine_relay_enabled = (bool)$session->machine_relay_enabled->value();
|
||||
$included_minutes = $machine_relay_enabled ? $included_minutes_when_machine_enabled : null;
|
||||
$status = $session->status->value();
|
||||
$in_progress_statusses = [
|
||||
selfserve_wash_session_status::MACHINE_RELAY_ENABLED->value,
|
||||
selfserve_wash_session_status::READY_FOR_MACHINE_START->value,
|
||||
selfserve_wash_session_status::MACHINE_STARTED->value,
|
||||
selfserve_wash_session_status::PENDING_QUESTIONS->value,
|
||||
selfserve_wash_session_status::MACHINE_NOT_ALLOWED->value
|
||||
];
|
||||
$in_progress = in_array($status, $in_progress_statusses);
|
||||
|
||||
$response->success([
|
||||
'lane_id' => $lane_id,
|
||||
'in_progress' => true,
|
||||
'elapsed_minutes' => 0, // TODO: Start when the session was created.
|
||||
'status' => (string)$session->status->value(),
|
||||
'in_progress' => $in_progress,
|
||||
'elapsed_minutes' => $session->getElapsedMinutes(),
|
||||
'session' => [
|
||||
'id' => (int)$session->id,
|
||||
'status' => (string)$session->status->value(),
|
||||
@@ -234,13 +252,13 @@ class moduleSelfServeRoute
|
||||
'customer_number' => $customer_number,
|
||||
'vehicle_id' => $vehicle_id,
|
||||
'vehicle_type_id' => $session->vehicle_type_id->value() === null ? null : (int)$session->vehicle_type_id->value(),
|
||||
'included_minutes' => $included_minutes,
|
||||
'included_minutes' => $included_minutes ?? 0,
|
||||
'machine_type_id' => $session->machine_type_id->value() === null ? null : (int)$session->machine_type_id->value(),
|
||||
'machine_relay_enabled' => $machine_relay_enabled,
|
||||
'machine_relay_enabled_at' => $session->machine_relay_enabled_at->value() === null ? null : (string)$session->machine_relay_enabled_at->value(),
|
||||
'machine_start_triggered' => (bool)$session->machine_start_triggered->value(),
|
||||
'machine_start_triggered_at' => $machine_start_triggered_at,
|
||||
'wash_started_at' => $machine_start_triggered_at,
|
||||
'wash_started_at' => $wash_started_at,
|
||||
'created_at' => (string)$session->created_at->value(),
|
||||
'updated_at' => $session->updated_at->value() === null ? null : (string)$session->updated_at->value(),
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user