From a1bc3a3c700b1a1d7b732ef1eefc7ae5c217e325 Mon Sep 17 00:00:00 2001 From: Qadeer Ahmed Date: Sun, 7 May 2023 09:17:44 +0500 Subject: [PATCH 1/9] Complex Rule Condition Null Variant ID Allow null values for variant id in complex rule condition. --- .../ResourceModels/Catalog/Product/ComplexRuleConditions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BigCommerce/ResourceModels/Catalog/Product/ComplexRuleConditions.php b/src/BigCommerce/ResourceModels/Catalog/Product/ComplexRuleConditions.php index 2b488fe0..dbbd599c 100644 --- a/src/BigCommerce/ResourceModels/Catalog/Product/ComplexRuleConditions.php +++ b/src/BigCommerce/ResourceModels/Catalog/Product/ComplexRuleConditions.php @@ -9,6 +9,6 @@ class ComplexRuleConditions extends ResourceModel public int $rule_id; public int $modifier_id; public int $modifier_value_id; - public array $variant_id; + public ?int $variant_id; public int $combination_id; } From 751c4f4767284882a00973703cbe3d96597d5ec4 Mon Sep 17 00:00:00 2001 From: Qadeer Ahmed Date: Sun, 7 May 2023 17:24:16 +0500 Subject: [PATCH 2/9] Update PriceAdjuster Incorporate Null Adjuster from API for FIXED adjuster value. --- .../ResourceModels/Catalog/Product/PriceAdjuster.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/BigCommerce/ResourceModels/Catalog/Product/PriceAdjuster.php b/src/BigCommerce/ResourceModels/Catalog/Product/PriceAdjuster.php index c97ed1b7..059a8de4 100644 --- a/src/BigCommerce/ResourceModels/Catalog/Product/PriceAdjuster.php +++ b/src/BigCommerce/ResourceModels/Catalog/Product/PriceAdjuster.php @@ -11,4 +11,13 @@ class PriceAdjuster extends ResourceModel public string $adjuster; public float $adjuster_value; + + protected function beforeBuildObject(): void + { + if (!is_null($this->optionObject)) { + if(is_null($this->optionObject->adjuster)){ + $this->optionObject->adjuster = ADJUSTER_FIXED; + } + } + } } From 8ea0b1dcc92ff9d81a814baf29502e3bb627ef0f Mon Sep 17 00:00:00 2001 From: Qadeer Ahmed Date: Sun, 7 May 2023 17:25:34 +0500 Subject: [PATCH 3/9] Update WeightAdjuster Fix for Null adjuster value from API for FIXED type. --- .../Catalog/Product/WeightAdjuster.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/BigCommerce/ResourceModels/Catalog/Product/WeightAdjuster.php b/src/BigCommerce/ResourceModels/Catalog/Product/WeightAdjuster.php index 26a2112c..c68b5836 100644 --- a/src/BigCommerce/ResourceModels/Catalog/Product/WeightAdjuster.php +++ b/src/BigCommerce/ResourceModels/Catalog/Product/WeightAdjuster.php @@ -6,6 +6,18 @@ class WeightAdjuster extends ResourceModel { + public const ADJUSTER_RELATIVE = 'relative'; + public const ADJUSTER_FIXED = 'fixed'; + public string $adjuster; public float $adjuster_value; + + protected function beforeBuildObject(): void + { + if (!is_null($this->optionObject)) { + if(is_null($this->optionObject->adjuster)){ + $this->optionObject->adjuster = ADJUSTER_FIXED; + } + } + } } From c036092ca23893f0f3eb12a9876fce1d9c9b4f73 Mon Sep 17 00:00:00 2001 From: Qadeer Ahmed Date: Sun, 7 May 2023 17:24:16 +0500 Subject: [PATCH 4/9] Update PriceAdjuster Incorporate Null Adjuster from API for FIXED adjuster value. --- .../ResourceModels/Catalog/Product/PriceAdjuster.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/BigCommerce/ResourceModels/Catalog/Product/PriceAdjuster.php b/src/BigCommerce/ResourceModels/Catalog/Product/PriceAdjuster.php index c97ed1b7..059a8de4 100644 --- a/src/BigCommerce/ResourceModels/Catalog/Product/PriceAdjuster.php +++ b/src/BigCommerce/ResourceModels/Catalog/Product/PriceAdjuster.php @@ -11,4 +11,13 @@ class PriceAdjuster extends ResourceModel public string $adjuster; public float $adjuster_value; + + protected function beforeBuildObject(): void + { + if (!is_null($this->optionObject)) { + if(is_null($this->optionObject->adjuster)){ + $this->optionObject->adjuster = ADJUSTER_FIXED; + } + } + } } From 8f228dac238d16446a707831d1b91bc4575059b0 Mon Sep 17 00:00:00 2001 From: Qadeer Ahmed Date: Sun, 7 May 2023 17:25:34 +0500 Subject: [PATCH 5/9] Update WeightAdjuster Fix for Null adjuster value from API for FIXED type. --- .../Catalog/Product/WeightAdjuster.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/BigCommerce/ResourceModels/Catalog/Product/WeightAdjuster.php b/src/BigCommerce/ResourceModels/Catalog/Product/WeightAdjuster.php index 26a2112c..c68b5836 100644 --- a/src/BigCommerce/ResourceModels/Catalog/Product/WeightAdjuster.php +++ b/src/BigCommerce/ResourceModels/Catalog/Product/WeightAdjuster.php @@ -6,6 +6,18 @@ class WeightAdjuster extends ResourceModel { + public const ADJUSTER_RELATIVE = 'relative'; + public const ADJUSTER_FIXED = 'fixed'; + public string $adjuster; public float $adjuster_value; + + protected function beforeBuildObject(): void + { + if (!is_null($this->optionObject)) { + if(is_null($this->optionObject->adjuster)){ + $this->optionObject->adjuster = ADJUSTER_FIXED; + } + } + } } From 0d32d2eb73e4e30929ee88781b4f5880e56f0426 Mon Sep 17 00:00:00 2001 From: Qadeer Ahmed Date: Sun, 7 May 2023 17:45:47 +0500 Subject: [PATCH 6/9] Update ResourceModel Allow usage of optionObject when overriding functions. --- src/BigCommerce/ResourceModels/ResourceModel.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BigCommerce/ResourceModels/ResourceModel.php b/src/BigCommerce/ResourceModels/ResourceModel.php index 12ab1877..5e703a84 100644 --- a/src/BigCommerce/ResourceModels/ResourceModel.php +++ b/src/BigCommerce/ResourceModels/ResourceModel.php @@ -7,7 +7,7 @@ abstract class ResourceModel implements JsonSerializable { - private ?stdClass $optionObject; + protected ?stdClass $optionObject; public function __construct(?stdClass $optionObject = null) { From 717555399babfda6463e956391e227c93b7c3d44 Mon Sep 17 00:00:00 2001 From: Qadeer Ahmed Date: Sun, 7 May 2023 17:45:47 +0500 Subject: [PATCH 7/9] Update ResourceModel Allow usage of optionObject when overriding functions. --- src/BigCommerce/ResourceModels/ResourceModel.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BigCommerce/ResourceModels/ResourceModel.php b/src/BigCommerce/ResourceModels/ResourceModel.php index 12ab1877..5e703a84 100644 --- a/src/BigCommerce/ResourceModels/ResourceModel.php +++ b/src/BigCommerce/ResourceModels/ResourceModel.php @@ -7,7 +7,7 @@ abstract class ResourceModel implements JsonSerializable { - private ?stdClass $optionObject; + protected ?stdClass $optionObject; public function __construct(?stdClass $optionObject = null) { From bcb1bb0e3901bdfe7ff73b0f59a9e0424dfb5562 Mon Sep 17 00:00:00 2001 From: Qadeer Ahmed Date: Sun, 7 May 2023 17:56:09 +0500 Subject: [PATCH 8/9] Update PriceAdjuster Using class constants. --- .../ResourceModels/Catalog/Product/PriceAdjuster.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BigCommerce/ResourceModels/Catalog/Product/PriceAdjuster.php b/src/BigCommerce/ResourceModels/Catalog/Product/PriceAdjuster.php index 059a8de4..31b4793d 100644 --- a/src/BigCommerce/ResourceModels/Catalog/Product/PriceAdjuster.php +++ b/src/BigCommerce/ResourceModels/Catalog/Product/PriceAdjuster.php @@ -16,7 +16,7 @@ protected function beforeBuildObject(): void { if (!is_null($this->optionObject)) { if(is_null($this->optionObject->adjuster)){ - $this->optionObject->adjuster = ADJUSTER_FIXED; + $this->optionObject->adjuster = self::ADJUSTER_FIXED; } } } From 3459b21179a1d8c8457155532d7fe086c4ed97c6 Mon Sep 17 00:00:00 2001 From: Qadeer Ahmed Date: Sun, 7 May 2023 17:56:56 +0500 Subject: [PATCH 9/9] Update WeightAdjuster Using Class Constants --- .../ResourceModels/Catalog/Product/WeightAdjuster.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BigCommerce/ResourceModels/Catalog/Product/WeightAdjuster.php b/src/BigCommerce/ResourceModels/Catalog/Product/WeightAdjuster.php index c68b5836..1961e314 100644 --- a/src/BigCommerce/ResourceModels/Catalog/Product/WeightAdjuster.php +++ b/src/BigCommerce/ResourceModels/Catalog/Product/WeightAdjuster.php @@ -16,7 +16,7 @@ protected function beforeBuildObject(): void { if (!is_null($this->optionObject)) { if(is_null($this->optionObject->adjuster)){ - $this->optionObject->adjuster = ADJUSTER_FIXED; + $this->optionObject->adjuster = self::ADJUSTER_FIXED; } } }