Add order_id handling in orderBookingRoute

- Added `order_id` extraction logic with validation in `getTargetOrderId` method.
- Included `order_id` in the data update process for order bookings.
- Updated `order_bookings_o` class to support `order_id` property.
This commit is contained in:
Jeppe Bundgaard
2025-11-10 10:31:57 +01:00
parent 7c7cb03641
commit c0b6ed6972
2 changed files with 28 additions and 0 deletions
@@ -139,6 +139,7 @@ class orderBookingRoute
$po = self::getTargetPo(false); // String | Null
$pickup = self::getTargetPickup(false); // Bool | Null
$items = self::getTargetItems(false); // Array of order_items_o objects
$order_id = self::getTargetOrderId(false); // Int | Null
/**
* Authentication
*/
@@ -185,6 +186,7 @@ class orderBookingRoute
...(isset($po) ? ['po' => $po] : []),
...(isset($pickup) ? ['pickup' => $pickup] : []),
...(isset($items) ? ['items' => $items] : []),
...(isset($order_id) ? ['order_id' => $order_id] : []),
];
$object->update($data);
/**
@@ -219,6 +221,28 @@ class orderBookingRoute
return $object;
}
private function getTargetOrderId(bool $required = true): int|string|null
{
global $response;
$parameter = 'order_id';
$error = 'Invalid order ID';
if (!$required && !$this->isParametersSet([$parameter])) return null;
self::requireParameters([$parameter]);
if ($required) {
self::requireType(self::getParameter($parameter), self::type_int());
} else {
self::requireTypeIn(self::getParameter($parameter), [self::type_int(), self::type_null()]);
// Check if the value is null
if ($this->getParameter($parameter) === null) return "null";
}
self::requireMinLength($parameter, 1);
self::requireMaxLength($parameter, 9);
$value = (int)self::getParameter($parameter);
self::requireMinValue($value, 1);
self::requireMaxValue($value, 999999999);
return $value;
}
private function getTargetCustomer(bool $required = true): users_o|null
{
global $response;