Handle boolean conversion, null checks, and object sanitization in db_object_t and enhance parameter validation in orderBookingRoute
- Added boolean to integer conversion in `db_object_t` during database operations. - Improved handling of null values, numeric types, and sanitized inputs in `db_object_t`. - Enhanced safety seal parameter validation in `orderBookingRoute` with support for nullable integers. - Updated `getTargetItems` to retrieve product names for each item in the order.
This commit is contained in:
@@ -8,6 +8,7 @@ use objects\departments_o;
|
||||
use objects\logs_o;
|
||||
use objects\order_bookings_o;
|
||||
use objects\order_items_o;
|
||||
use objects\products_o;
|
||||
use objects\users_o;
|
||||
use traits\route_t;
|
||||
|
||||
@@ -317,7 +318,13 @@ class orderBookingRoute
|
||||
$error = 'Invalid safety seal';
|
||||
if (!$required && !$this->isParametersSet([$parameter])) return null;
|
||||
self::requireParameters([$parameter]);
|
||||
self::requireType(self::getParameter($parameter), self::type_int());
|
||||
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);
|
||||
@@ -466,6 +473,10 @@ class orderBookingRoute
|
||||
self::requireType(self::getParameter($parameter), self::type_bool());
|
||||
return (bool)self::getParameter($parameter);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
private function getTargetItems(bool $required = true): array|null {
|
||||
global $response;
|
||||
$parameter = 'items';
|
||||
@@ -481,6 +492,7 @@ class orderBookingRoute
|
||||
foreach ($items as $key => $item) {
|
||||
self::requireType($item, self::type_array());
|
||||
self::requireValidItem((array)$item, $key);
|
||||
$items[$key]['name'] = (new products_o())->select((int)$item['id'])->name->value();
|
||||
}
|
||||
return $items;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user