Skip to content

Commit 6ede43a

Browse files
authored
Merge pull request #65 from aligent/fix/add-missing-create-and-update-methods
Fix/add missing create and update methods
2 parents 874b40b + 2a0c29a commit 6ede43a

File tree

5 files changed

+58
-8
lines changed

5 files changed

+58
-8
lines changed

RELEASE_NOTES.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,9 @@
22

33
Added missing create and update endpoints for:
44

5-
- [ProductMetafieldsApi](https://aligent.github.io/bigcommerce-v3-api-php-client/classes/BigCommerce-ApiV3-Api-Catalog-Products-ProductMetafieldsApi.html)
5+
- [ProductReviewsApi](https://aligent.github.io/bigcommerce-v3-api-php-client/classes/BigCommerce-ApiV3-Api-Catalog-Products-ProductReviewsApi.html)
6+
- [ProductBulkPricingRulesApi](https://aligent.github.io/bigcommerce-v3-api-php-client/classes/BigCommerce-ApiV3-Api-Catalog-Products-ProductBulkPricingRulesApi.html)
7+
- [ProductVariantMetafieldsApi](https://aligent.github.io/bigcommerce-v3-api-php-client/classes/BigCommerce-ApiV3-Api-Catalog-Products-ProductVariant-ProductVariantMetafieldsApi.html)
8+
- [ProductOptionValuesApi](https://aligent.github.io/bigcommerce-v3-api-php-client/classes/BigCommerce-ApiV3-Api-Catalog-Products-ProductOption-ProductOptionValuesApi.html)
9+
- [ProductMetafieldsApi](https://aligent.github.io/bigcommerce-v3-api-php-client/classes/BigCommerce-ApiV3-Api-Catalog-Products-ProductMetafieldsApi.html)
10+

src/BigCommerce/Api/Catalog/Products/ProductBulkPricingRulesApi.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
namespace BigCommerce\ApiV3\Api\Catalog\Products;
44

55
use BigCommerce\ApiV3\Api\Generic\ResourceApi;
6+
use BigCommerce\ApiV3\ResourceModels\Catalog\Product\ProductBulkPricingRule;
67
use BigCommerce\ApiV3\ResponseModels\Product\ProductBulkPricingRuleResponse;
78
use BigCommerce\ApiV3\ResponseModels\Product\ProductBulkPricingRulesResponse;
89

910
class ProductBulkPricingRulesApi extends ResourceApi
1011
{
1112
public const RESOURCE_NAME = 'bulk-pricing-rules';
12-
public const BULK_PRICING_RULE_ENDPOINT = 'catalog/products/%d/bulk-pricing-rules/%d';
13+
public const BULK_PRICING_RULE_ENDPOINT = 'catalog/products/%d/bulk-pricing-rules/%d';
1314
public const BULK_PRICING_RULES_ENDPOINT = 'catalog/products/%d/bulk-pricing-rules';
1415

1516
protected function singleResourceEndpoint(): string
@@ -36,4 +37,14 @@ public function getAll(array $filters = [], int $page = 1, int $limit = 250): Pr
3637
{
3738
return new ProductBulkPricingRulesResponse($this->getAllResources($filters, $page, $limit));
3839
}
40+
41+
public function create(ProductBulkPricingRule $bulkPricingRule): ProductBulkPricingRuleResponse
42+
{
43+
return new ProductBulkPricingRuleResponse($this->createResource($bulkPricingRule));
44+
}
45+
46+
public function update(ProductBulkPricingRule $bulkPricingRule): ProductBulkPricingRuleResponse
47+
{
48+
return new ProductBulkPricingRuleResponse($this->updateResource($bulkPricingRule));
49+
}
3950
}

src/BigCommerce/Api/Catalog/Products/ProductOption/ProductOptionValuesApi.php

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,17 @@
33
namespace BigCommerce\ApiV3\Api\Catalog\Products\ProductOption;
44

55
use BigCommerce\ApiV3\Api\Generic\ResourceApi;
6+
use BigCommerce\ApiV3\ResourceModels\Catalog\Product\ProductOptionValue;
67
use BigCommerce\ApiV3\ResponseModels\Product\ProductOptionValueResponse;
78
use BigCommerce\ApiV3\ResponseModels\Product\ProductOptionValuesResponse;
89

910
class ProductOptionValuesApi extends ResourceApi
1011
{
1112
private int $productId;
1213

13-
public const RESOURCE_NAME = 'values';
14+
public const RESOURCE_NAME = 'values';
1415
public const VALUES_ENDPOINT = 'catalog/products/%d/options/%d/values';
15-
public const VALUE_ENDPOINT = 'catalog/products/%d/options/%d/values/%d';
16+
public const VALUE_ENDPOINT = 'catalog/products/%d/options/%d/values/%d';
1617

1718
public function setProductId(int $productId): void
1819
{
@@ -67,4 +68,14 @@ public function getAll(array $filters = [], int $page = 1, int $limit = 250): Pr
6768
{
6869
return new ProductOptionValuesResponse($this->getAllResources($filters, $page, $limit));
6970
}
71+
72+
public function create(ProductOptionValue $optionValue): ProductOptionValueResponse
73+
{
74+
return new ProductOptionValueResponse($this->createResource($optionValue));
75+
}
76+
77+
public function update(ProductOptionValue $optionValue): ProductOptionValueResponse
78+
{
79+
return new ProductOptionValueResponse($this->updateResource($optionValue));
80+
}
7081
}

src/BigCommerce/Api/Catalog/Products/ProductReviewsApi.php

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,17 @@
33
namespace BigCommerce\ApiV3\Api\Catalog\Products;
44

55
use BigCommerce\ApiV3\Api\Generic\ResourceApi;
6+
use BigCommerce\ApiV3\ResourceModels\Catalog\Product\ProductReview;
67
use BigCommerce\ApiV3\ResponseModels\PaginatedResponse;
78
use BigCommerce\ApiV3\ResponseModels\Product\ProductReviewResponse;
89
use BigCommerce\ApiV3\ResponseModels\Product\ProductReviewsResponse;
910
use BigCommerce\ApiV3\ResponseModels\SingleResourceResponse;
1011

1112
class ProductReviewsApi extends ResourceApi
1213
{
13-
public const RESOURCE_NAME = 'reviews';
14-
public const REVIEW_ENDPOINT = 'catalog/products/%s/reviews/%s';
15-
public const REVIEWS_ENDPOINT = 'catalog/products/%s/reviews';
14+
public const RESOURCE_NAME = 'reviews';
15+
public const REVIEW_ENDPOINT = 'catalog/products/%s/reviews/%s';
16+
public const REVIEWS_ENDPOINT = 'catalog/products/%s/reviews';
1617

1718
protected function singleResourceEndpoint(): string
1819
{
@@ -38,4 +39,14 @@ public function getAll(array $filters = [], int $page = 1, int $limit = 250): Pr
3839
{
3940
return new ProductReviewsResponse($this->getAllResources($filters, $page, $limit));
4041
}
42+
43+
public function create(ProductReview $review): ProductReviewResponse
44+
{
45+
return new ProductReviewResponse($this->createResource($review));
46+
}
47+
48+
public function update(ProductReview $review): ProductReviewResponse
49+
{
50+
return new ProductReviewResponse($this->updateResource($review));
51+
}
4152
}

src/BigCommerce/Api/Catalog/Products/ProductVariant/ProductVariantMetafieldsApi.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace BigCommerce\ApiV3\Api\Catalog\Products\ProductVariant;
44

55
use BigCommerce\ApiV3\Api\Generic\ResourceApi;
6+
use BigCommerce\ApiV3\ResourceModels\Catalog\Product\ProductVariantMetafield;
67
use BigCommerce\ApiV3\ResponseModels\Product\ProductVariantMetafieldResponse;
78
use BigCommerce\ApiV3\ResponseModels\Product\ProductVariantMetafieldsResponse;
89

@@ -11,7 +12,7 @@ class ProductVariantMetafieldsApi extends ResourceApi
1112
private int $productId;
1213

1314
private const RESOURCE_NAME = 'metafields';
14-
private const METAFIELD_ENDPOINT = 'catalog/product/%d/variants/%d/metafields/%d';
15+
private const METAFIELD_ENDPOINT = 'catalog/product/%d/variants/%d/metafields/%d';
1516
private const METAFIELDS_ENDPOINT = 'catalog/product/%d/variants/%d/metafields';
1617

1718
public function getProductId(): int
@@ -67,4 +68,15 @@ public function getAll(array $filters = [], int $page = 1, int $limit = 250): Pr
6768
{
6869
return new ProductVariantMetafieldsResponse($this->getAllResources($filters, $page, $limit));
6970
}
71+
72+
public function create(ProductVariantMetafield $metafield): ProductVariantMetafieldResponse
73+
{
74+
$metafield->resource_id = $this->getParentResourceId() ?? 0;
75+
return new ProductVariantMetafieldResponse($this->createResource($metafield));
76+
}
77+
78+
public function update(ProductVariantMetafield $metafield): ProductVariantMetafieldResponse
79+
{
80+
return new ProductVariantMetafieldResponse($this->updateResource($metafield));
81+
}
7082
}

0 commit comments

Comments
 (0)