Skip to content

Commit 797c8cf

Browse files
committed
added runtime ability to change the store
1 parent 215d6c3 commit 797c8cf

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

src/WooCommerceApi.php

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,25 +27,33 @@ class WooCommerceApi
2727
public function __construct()
2828
{
2929
try {
30-
$this->headers = [
31-
'header_total' => config('woocommerce.header_total') ?? 'X-WP-Total',
32-
'header_total_pages' => config('woocommerce.header_total_pages') ?? 'X-WP-TotalPages',
30+
$this->forStore();
31+
} catch (\Exception $e) {
32+
throw new \Exception($e->getMessage(), 1);
33+
}
34+
}
35+
36+
public function forStore(string $store="")
37+
{
38+
if ( $store !=="" ) {
39+
$store = "multisite." . $store;
40+
}
41+
$this->headers = [
42+
'header_total' => config($store.'.header_total') ?? 'X-WP-Total',
43+
'header_total_pages' => config($store.'.header_total_pages') ?? 'X-WP-TotalPages',
3344
];
3445

3546
$this->client = new Client(
36-
config('woocommerce.store_url'),
37-
config('woocommerce.consumer_key'),
38-
config('woocommerce.consumer_secret'),
47+
config($store.'.store_url'),
48+
config($store.'.consumer_key'),
49+
config($store.'.consumer_secret'),
3950
[
40-
'version' => 'wc/'.config('woocommerce.api_version'),
41-
'wp_api' => config('woocommerce.wp_api_integration'),
42-
'verify_ssl' => config('woocommerce.verify_ssl'),
43-
'query_string_auth' => config('woocommerce.query_string_auth'),
44-
'timeout' => config('woocommerce.timeout'),
51+
'version' => 'wc/'.config($store.'.api_version'),
52+
'wp_api' => config($store.'.wp_api_integration'),
53+
'verify_ssl' => config($store.'.verify_ssl'),
54+
'query_string_auth' => config($store.'.query_string_auth'),
55+
'timeout' => config($store.'.timeout'),
4556
]
4657
);
47-
} catch (\Exception $e) {
48-
throw new \Exception($e->getMessage(), 1);
49-
}
5058
}
5159
}

0 commit comments

Comments
 (0)