|
9 | 9 | namespace WPGraphQL\WooCommerce; |
10 | 10 |
|
11 | 11 | use WPGraphQL\WooCommerce\Data\Loader\WC_Customer_Loader; |
12 | | -use WPGraphQL\WooCommerce\Data\Loader\WC_Post_Crud_Loader; |
| 12 | +use WPGraphQL\WooCommerce\Data\Loader\WC_CPT_Loader; |
| 13 | +use WPGraphQL\WooCommerce\Data\Loader\WC_Db_Loader; |
13 | 14 | use WPGraphQL\WooCommerce\Data\Factory; |
14 | 15 |
|
15 | 16 | /** |
16 | 17 | * Class Core_Schema_Filters |
17 | 18 | */ |
18 | 19 | class Core_Schema_Filters { |
19 | | - /** |
20 | | - * Stores instance WC_Customer_Loader |
21 | | - * |
22 | | - * @var WC_Customer_Loader |
23 | | - */ |
24 | | - private static $customer_loader; |
25 | | - |
26 | | - /** |
27 | | - * Stores instance WC_Post_Crud_Loader |
28 | | - * |
29 | | - * @var WC_Post_Crud_Loader |
30 | | - */ |
31 | | - private static $post_crud_loader; |
32 | | - |
33 | 20 | /** |
34 | 21 | * Register filters |
35 | 22 | */ |
@@ -104,34 +91,6 @@ public static function add_filters() { |
104 | 91 | ); |
105 | 92 | } |
106 | 93 |
|
107 | | - /** |
108 | | - * Initializes WC_Loader instance |
109 | | - * |
110 | | - * @param AppContext $context - AppContext. |
111 | | - * |
112 | | - * @return WC_Post_Crud_Loader |
113 | | - */ |
114 | | - public static function post_crud_loader( $context ) { |
115 | | - if ( is_null( self::$post_crud_loader ) ) { |
116 | | - self::$post_crud_loader = new WC_Post_Crud_Loader( $context ); |
117 | | - } |
118 | | - return self::$post_crud_loader; |
119 | | - } |
120 | | - |
121 | | - /** |
122 | | - * Initializes Customer_Loader instance |
123 | | - * |
124 | | - * @param AppContext $context - AppContext. |
125 | | - * |
126 | | - * @return WC_Customer_Loader |
127 | | - */ |
128 | | - public static function customer_loader( $context ) { |
129 | | - if ( is_null( self::$customer_loader ) ) { |
130 | | - self::$customer_loader = new WC_Customer_Loader( $context ); |
131 | | - } |
132 | | - return self::$customer_loader; |
133 | | - } |
134 | | - |
135 | 94 | /** |
136 | 95 | * Registers WooCommerce post-types to be used in GraphQL schema |
137 | 96 | * |
@@ -255,12 +214,20 @@ public static function register_taxonomy_args( $args, $taxonomy ) { |
255 | 214 | */ |
256 | 215 | public static function graphql_data_loaders( $loaders, $context ) { |
257 | 216 | // WooCommerce customer loader. |
258 | | - $customer_loader = self::customer_loader( $context ); |
| 217 | + $customer_loader = new WC_Customer_Loader( $context ); |
259 | 218 | $loaders['wc_customer'] = &$customer_loader; |
260 | 219 |
|
261 | | - // WooCommerce crud object loader. |
262 | | - $post_crud_loader = self::post_crud_loader( $context ); |
263 | | - $loaders['wc_post_crud'] = &$post_crud_loader; |
| 220 | + // WooCommerce CPT loader. |
| 221 | + $cpt_loader = new WC_CPT_Loader( $context ); |
| 222 | + $loaders['wc_cpt'] = &$cpt_loader; |
| 223 | + |
| 224 | + // WooCommerce DB loaders. |
| 225 | + $cart_item_loader = new WC_Db_Loader( $context, 'CART_ITEM' ); |
| 226 | + $loaders['cart_item'] = &$cart_item_loader; |
| 227 | + $downloadable_item_loader = new WC_Db_Loader( $context, 'DOWNLOADABLE_ITEM' ); |
| 228 | + $loaders['downloadable_item'] = &$downloadable_item_loader; |
| 229 | + $tax_rate_loader = new WC_Db_Loader( $context, 'TAX_RATE' ); |
| 230 | + $loaders['tax_rate'] = &$tax_rate_loader; |
264 | 231 |
|
265 | 232 | return $loaders; |
266 | 233 | } |
|
0 commit comments