From c7694885bb0e86a01e138d104d87f514aa947ec8 Mon Sep 17 00:00:00 2001 From: Jarrod Swift Date: Fri, 20 Nov 2020 14:58:53 +1030 Subject: [PATCH 1/2] Add scaffolding for Subscribers api --- .../Api/Subscribers/SubscribersApi.php | 39 +++++++++++++++++++ .../ResourceModels/Customer/Subscriber.php | 22 +++++++++++ .../Customer/SubscriberResponse.php | 22 +++++++++++ .../Customer/SubscribersResponse.php | 21 ++++++++++ .../Api/Subscribers/SubscribersApiTest.php | 18 +++++++++ 5 files changed, 122 insertions(+) create mode 100644 src/BigCommerce/Api/Subscribers/SubscribersApi.php create mode 100644 src/BigCommerce/ResourceModels/Customer/Subscriber.php create mode 100644 src/BigCommerce/ResponseModels/Customer/SubscriberResponse.php create mode 100644 src/BigCommerce/ResponseModels/Customer/SubscribersResponse.php create mode 100644 tests/BigCommerce/Api/Subscribers/SubscribersApiTest.php diff --git a/src/BigCommerce/Api/Subscribers/SubscribersApi.php b/src/BigCommerce/Api/Subscribers/SubscribersApi.php new file mode 100644 index 00000000..4f67f4e0 --- /dev/null +++ b/src/BigCommerce/Api/Subscribers/SubscribersApi.php @@ -0,0 +1,39 @@ +getResource()); + } + + public function getAll(array $filters = [], int $page = 1, int $limit = 250): SubscribersResponse + { + return new SubscribersResponse($this->getAllResources($filters, $page, $limit)); + } +} diff --git a/src/BigCommerce/ResourceModels/Customer/Subscriber.php b/src/BigCommerce/ResourceModels/Customer/Subscriber.php new file mode 100644 index 00000000..6d93cc2f --- /dev/null +++ b/src/BigCommerce/ResourceModels/Customer/Subscriber.php @@ -0,0 +1,22 @@ +subscriber; + } + + protected function addData(stdClass $rawData): void + { + $this->subscriber = new Subscriber($rawData); + } +} diff --git a/src/BigCommerce/ResponseModels/Customer/SubscribersResponse.php b/src/BigCommerce/ResponseModels/Customer/SubscribersResponse.php new file mode 100644 index 00000000..06bcf3c3 --- /dev/null +++ b/src/BigCommerce/ResponseModels/Customer/SubscribersResponse.php @@ -0,0 +1,21 @@ +getData(); + } + protected function resourceClass(): string + { + return Subscriber::class; + } +} diff --git a/tests/BigCommerce/Api/Subscribers/SubscribersApiTest.php b/tests/BigCommerce/Api/Subscribers/SubscribersApiTest.php new file mode 100644 index 00000000..8fe6910f --- /dev/null +++ b/tests/BigCommerce/Api/Subscribers/SubscribersApiTest.php @@ -0,0 +1,18 @@ +markTestIncomplete(); + } + + public function testCanGetSubscribers(): void + { + $this->markTestIncomplete(); + } +} From 8d58c0062fe548feb5750facfefffcd69905ce14 Mon Sep 17 00:00:00 2001 From: Jarrod Swift Date: Fri, 20 Nov 2020 15:34:52 +1030 Subject: [PATCH 2/2] Update release notes and readme with the addition of the subscribers API --- README.md | 2 +- RELEASE_NOTES.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2bbaf698..c9f5daa8 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ Running tests: `composer run-script test` #### Subscribers -- ☐ Subscribers +- ☑️ Subscribers #### Themes diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 3deadfab..bdb8e4d1 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,3 +1,3 @@ -### Breaking Change +### New Features -API classes have been refactored to all be under the `Api/` namespace, with the exception of `Client`, which has not moved. +- Implement Subscribers API