Skip to content

Commit 6e74f9c

Browse files
committed
fix: updated data-loaders to be in compliance with WPGraphQL v2.3.x
1 parent 24dede2 commit 6e74f9c

9 files changed

+200
-21
lines changed

includes/class-core-schema-filters.php

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,13 @@
1212
use WPGraphQL\WooCommerce\Data\Factory;
1313
use WPGraphQL\WooCommerce\Data\Loader\WC_CPT_Loader;
1414
use WPGraphQL\WooCommerce\Data\Loader\WC_Customer_Loader;
15-
use WPGraphQL\WooCommerce\Data\Loader\WC_Db_Loader;
15+
use WPGraphQL\WooCommerce\Data\Loader\WC_Cart_Item_Loader;
16+
use WPGraphQL\WooCommerce\Data\Loader\WC_Downloadable_Item_Loader;
17+
use WPGraphQL\WooCommerce\Data\Loader\WC_Order_Item_Loader;
18+
use WPGraphQL\WooCommerce\Data\Loader\WC_Shipping_Method_Loader;
19+
use WPGraphQL\WooCommerce\Data\Loader\WC_Shipping_Zone_Loader;
20+
use WPGraphQL\WooCommerce\Data\Loader\WC_Tax_Class_Loader;
21+
use WPGraphQL\WooCommerce\Data\Loader\WC_Tax_Rate_Loader;
1622
use WPGraphQL\WooCommerce\WP_GraphQL_WooCommerce as WooGraphQL;
1723

1824
/**
@@ -33,7 +39,7 @@ public static function add_filters() {
3339
add_filter( 'register_taxonomy_args', [ self::class, 'register_taxonomy_args' ], 10, 2 );
3440

3541
// Add data-loaders to AppContext.
36-
add_filter( 'graphql_data_loaders', [ self::class, 'graphql_data_loaders' ], 10, 2 );
42+
add_filter( 'graphql_data_loader_classes', [ self::class, 'graphql_data_loader_classes' ], 10, 2 );
3743

3844
// Add node resolvers.
3945
add_filter(
@@ -255,30 +261,21 @@ public static function register_taxonomy_args( $args, $taxonomy ) {
255261
*
256262
* @return array
257263
*/
258-
public static function graphql_data_loaders( $loaders, $context ) {
264+
public static function graphql_data_loader_classes( $loaders ) {
259265
// WooCommerce customer loader.
260-
$customer_loader = new WC_Customer_Loader( $context );
261-
$loaders['wc_customer'] = &$customer_loader;
266+
$loaders['wc_customer'] = WC_Customer_Loader::class;
262267

263268
// WooCommerce CPT loader.
264-
$cpt_loader = new WC_CPT_Loader( $context );
265-
$loaders['wc_post'] = &$cpt_loader;
269+
$loaders['wc_post'] = WC_CPT_Loader::class;
266270

267271
// WooCommerce DB loaders.
268-
$cart_item_loader = new WC_Db_Loader( $context, 'CART_ITEM' );
269-
$loaders['cart_item'] = &$cart_item_loader;
270-
$downloadable_item_loader = new WC_Db_Loader( $context, 'DOWNLOADABLE_ITEM' );
271-
$loaders['downloadable_item'] = &$downloadable_item_loader;
272-
$tax_class_loader = new WC_Db_Loader( $context, 'TAX_CLASS' );
273-
$loaders['tax_class'] = &$tax_class_loader;
274-
$tax_rate_loader = new WC_Db_Loader( $context, 'TAX_RATE' );
275-
$loaders['tax_rate'] = &$tax_rate_loader;
276-
$order_item_loader = new WC_Db_Loader( $context, 'ORDER_ITEM' );
277-
$loaders['order_item'] = &$order_item_loader;
278-
$shipping_item_loader = new WC_Db_Loader( $context, 'SHIPPING_METHOD' );
279-
$loaders['shipping_method'] = &$shipping_item_loader;
280-
$shipping_zone_loader = new WC_Db_Loader( $context, 'SHIPPING_ZONE' );
281-
$loaders['shipping_zone'] = &$shipping_zone_loader;
272+
$loaders['cart_item'] = WC_Cart_Item_Loader::class;
273+
$loaders['downloadable_item'] = WC_Downloadable_Item_Loader::class;
274+
$loaders['tax_class'] = WC_Tax_Class_Loader::class;
275+
$loaders['tax_rate'] = WC_Tax_Rate_Loader::class;
276+
$loaders['order_item'] = WC_Order_Item_Loader::class;
277+
$loaders['shipping_method'] = WC_Shipping_Method_Loader::class;
278+
$loaders['shipping_zone'] = WC_Shipping_Zone_Loader::class;
282279
return $loaders;
283280
}
284281

includes/class-wp-graphql-woocommerce.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,13 @@ private function includes() {
181181
require $include_directory_path . 'data/loader/class-wc-cpt-loader.php';
182182
require $include_directory_path . 'data/loader/class-wc-customer-loader.php';
183183
require $include_directory_path . 'data/loader/class-wc-db-loader.php';
184+
require $include_directory_path . 'data/loader/class-wc-cart-item-loader.php';
185+
require $include_directory_path . 'data/loader/class-wc-downloadable-item-loader.php';
186+
require $include_directory_path . 'data/loader/class-wc-order-item-loader.php';
187+
require $include_directory_path . 'data/loader/class-wc-shipping-method-loader.php';
188+
require $include_directory_path . 'data/loader/class-wc-shipping-zone-loader.php';
189+
require $include_directory_path . 'data/loader/class-wc-tax-class-loader.php';
190+
require $include_directory_path . 'data/loader/class-wc-tax-rate-loader.php';
184191

185192
// Include connection resolver trait/class files.
186193
require $include_directory_path . 'data/connection/trait-wc-db-loader-common.php';
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
/**
3+
* DataLoader - WC_Cart_Item_Loader
4+
*
5+
* Loads Models for WooCommerce Shipping Methods defined in custom DB tables.
6+
*
7+
* @package WPGraphQL\WooCommerce\Data\Loader
8+
* @since TBD
9+
*/
10+
11+
namespace WPGraphQL\WooCommerce\Data\Loader;
12+
13+
/**
14+
* Class WC_Cart_Item_Loader
15+
*/
16+
class WC_Cart_Item_Loader extends WC_Db_Loader {
17+
/**
18+
* WC_Cart_Item_Loader constructor
19+
*
20+
* @param \WPGraphQL\AppContext $context AppContext instance.
21+
*/
22+
public function __construct( $context ) {
23+
parent::__construct( $context, 'CART_ITEM' );
24+
}
25+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
/**
3+
* DataLoader - WC_Downloadable_Item_Loader
4+
*
5+
* Loads Models for WooCommerce Downloadable Items defined in custom DB tables.
6+
*
7+
* @package WPGraphQL\WooCommerce\Data\Loader
8+
* @since TBD
9+
*/
10+
11+
namespace WPGraphQL\WooCommerce\Data\Loader;
12+
13+
/**
14+
* Class WC_Downloadable_Item_Loader
15+
*/
16+
class WC_Downloadable_Item_Loader extends WC_Db_Loader {
17+
/**
18+
* WC_Downloadable_Item_Loader constructor
19+
*
20+
* @param \WPGraphQL\AppContext $context AppContext instance.
21+
*/
22+
public function __construct( $context ) {
23+
parent::__construct( $context, 'DOWNLOADABLE_ITEM' );
24+
}
25+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
/**
3+
* DataLoader - WC_Order_Item_Loader
4+
*
5+
* Loads Models for WooCommerce Order Items defined in custom DB tables.
6+
*
7+
* @package WPGraphQL\WooCommerce\Data\Loader
8+
* @since TBD
9+
*/
10+
11+
namespace WPGraphQL\WooCommerce\Data\Loader;
12+
13+
/**
14+
* Class WC_Order_Item_Loader
15+
*/
16+
class WC_Order_Item_Loader extends WC_Db_Loader {
17+
/**
18+
* WC_Order_Item_Loader constructor
19+
*
20+
* @param \WPGraphQL\AppContext $context AppContext instance.
21+
*/
22+
public function __construct( $context ) {
23+
parent::__construct( $context, 'ORDER_ITEM' );
24+
}
25+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
/**
3+
* DataLoader - WC_Shipping_Method_Loader
4+
*
5+
* Loads Models for WooCommerce Shipping Methods defined in custom DB tables.
6+
*
7+
* @package WPGraphQL\WooCommerce\Data\Loader
8+
* @since TBD
9+
*/
10+
11+
namespace WPGraphQL\WooCommerce\Data\Loader;
12+
13+
/**
14+
* Class WC_Shipping_Method_Loader
15+
*/
16+
class WC_Shipping_Method_Loader extends WC_Db_Loader {
17+
/**
18+
* WC_Shipping_Method_Loader constructor
19+
*
20+
* @param \WPGraphQL\AppContext $context AppContext instance.
21+
*/
22+
public function __construct( $context ) {
23+
parent::__construct( $context, 'SHIPPING_METHOD' );
24+
}
25+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
/**
3+
* DataLoader - WC_Shipping_Zone_Loader
4+
*
5+
* Loads Models for WooCommerce Shipping Zones defined in custom DB tables.
6+
*
7+
* @package WPGraphQL\WooCommerce\Data\Loader
8+
* @since TBD
9+
*/
10+
11+
namespace WPGraphQL\WooCommerce\Data\Loader;
12+
13+
/**
14+
* Class WC_Shipping_Zone_Loader
15+
*/
16+
class WC_Shipping_Zone_Loader extends WC_Db_Loader {
17+
/**
18+
* WC_Shipping_Zone_Loader constructor
19+
*
20+
* @param \WPGraphQL\AppContext $context AppContext instance.
21+
*/
22+
public function __construct( $context ) {
23+
parent::__construct( $context, 'SHIPPING_ZONE' );
24+
}
25+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
/**
3+
* DataLoader - WC_Tax_Class_Loader
4+
*
5+
* Loads Models for WooCommerce Tax Classes defined in custom DB tables.
6+
*
7+
* @package WPGraphQL\WooCommerce\Data\Loader
8+
* @since TBD
9+
*/
10+
11+
namespace WPGraphQL\WooCommerce\Data\Loader;
12+
13+
/**
14+
* Class WC_Tax_Class_Loader
15+
*/
16+
class WC_Tax_Class_Loader extends WC_Db_Loader {
17+
/**
18+
* WC_Tax_Class_Loader constructor
19+
*
20+
* @param \WPGraphQL\AppContext $context AppContext instance.
21+
*/
22+
public function __construct( $context ) {
23+
parent::__construct( $context, 'TAX_CLASS' );
24+
}
25+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
/**
3+
* DataLoader - WC_Tax_Rate_Loader
4+
*
5+
* Loads Models for WooCommerce Tax Rates defined in custom DB tables.
6+
*
7+
* @package WPGraphQL\WooCommerce\Data\Loader
8+
* @since TBD
9+
*/
10+
11+
namespace WPGraphQL\WooCommerce\Data\Loader;
12+
13+
/**
14+
* Class WC_Tax_Rate_Loader
15+
*/
16+
class WC_Tax_Rate_Loader extends WC_Db_Loader {
17+
/**
18+
* WC_Tax_Rate_Loader constructor
19+
*
20+
* @param \WPGraphQL\AppContext $context AppContext instance.
21+
*/
22+
public function __construct( $context ) {
23+
parent::__construct( $context, 'TAX_RATE' );
24+
}
25+
}

0 commit comments

Comments
 (0)