mirror of
https://github.com/wp-graphql/wp-graphql-woocommerce.git
synced 2026-08-14 12:53:44 +02:00
172 lines
7.0 KiB
PHP
172 lines
7.0 KiB
PHP
<?php
|
|
/**
|
|
* Actions
|
|
*
|
|
* Action callbacks for executing actions on the GraphQL Schema
|
|
*
|
|
* @package \WPGraphQL\Extensions\WooCommerce
|
|
* @since 0.0.1
|
|
*/
|
|
|
|
namespace WPGraphQL\Extensions\WooCommerce;
|
|
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Backorders;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Catalog_Visibility;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Countries;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Customer_Connection_Orderby_Enum;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Discount_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Manage_Stock;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Order_Status;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Product_Types;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Stock_Status;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Tax_Class;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Tax_Status;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\WC_Connection_Orderby_Enum;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Tax_Rate_Connection_Orderby_Enum;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Pricing_Field_Format;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPInputObject\Customer_Address_Input;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPInputObject\Product_Attribute_Input;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPInputObject\WC_Connection_Orderby_Input;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPInputObject\Tax_Rate_Connection_Orderby_Input;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPInputObject\Fee_Line_Input;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPInputObject\Line_Item_Input;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPInputObject\Meta_Data_Input;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPInputObject\Shipping_Line_Input;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPObject\Coupon_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPObject\Order_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPObject\Order_Item_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPObject\Refund_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPObject\Product_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPObject\Product_Variation_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPObject\Product_Attribute_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPObject\Product_Download_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPObject\Customer_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPObject\Customer_Address_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPObject\Tax_Rate_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPObject\Shipping_Method_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPObject\Cart_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Type\WPObject\Variation_Attribute_Type;
|
|
use WPGraphQL\Extensions\WooCommerce\Connection\Posts;
|
|
use WPGraphQL\Extensions\WooCommerce\Connection\WC_Terms;
|
|
use WPGraphQL\Extensions\WooCommerce\Connection\Coupons;
|
|
use WPGraphQL\Extensions\WooCommerce\Connection\Products;
|
|
use WPGraphQL\Extensions\WooCommerce\Connection\Orders;
|
|
use WPGraphQL\Extensions\WooCommerce\Connection\Order_Items;
|
|
use WPGraphQL\Extensions\WooCommerce\Connection\Refunds;
|
|
use WPGraphQL\Extensions\WooCommerce\Connection\Product_Attributes;
|
|
use WPGraphQL\Extensions\WooCommerce\Connection\Variation_Attributes;
|
|
use WPGraphQL\Extensions\WooCommerce\Connection\Product_Gallery;
|
|
use WPGraphQL\Extensions\WooCommerce\Connection\Customers;
|
|
use WPGraphQL\Extensions\WooCommerce\Connection\Tax_Rates;
|
|
use WPGraphQL\Extensions\WooCommerce\Connection\Shipping_Methods;
|
|
use WPGraphQL\Extensions\WooCommerce\Connection\Cart_Items;
|
|
use WPGraphQL\Extensions\WooCommerce\Mutation\Customer_Register;
|
|
use WPGraphQL\Extensions\WooCommerce\Mutation\Customer_Update;
|
|
use WPGraphQL\Extensions\WooCommerce\Mutation\Cart_Add_Item;
|
|
use WPGraphQL\Extensions\WooCommerce\Mutation\Cart_Update_Item_Quantity;
|
|
use WPGraphQL\Extensions\WooCommerce\Mutation\Cart_Remove_Items;
|
|
use WPGraphQL\Extensions\WooCommerce\Mutation\Cart_Restore_Items;
|
|
use WPGraphQL\Extensions\WooCommerce\Mutation\Cart_Empty;
|
|
use WPGraphQL\Extensions\WooCommerce\Mutation\Cart_Apply_Coupon;
|
|
use WPGraphQL\Extensions\WooCommerce\Mutation\Cart_Remove_Coupons;
|
|
use WPGraphQL\Extensions\WooCommerce\Mutation\Cart_Add_Fee;
|
|
use WPGraphQL\Extensions\WooCommerce\Mutation\Order_Create;
|
|
use WPGraphQL\Extensions\WooCommerce\Mutation\Order_Update;
|
|
use WPGraphQL\Extensions\WooCommerce\Mutation\Order_Delete;
|
|
|
|
/**
|
|
* Class Actions
|
|
*/
|
|
class Actions {
|
|
/**
|
|
* Loads plugin actions
|
|
*/
|
|
public static function load() {
|
|
add_action(
|
|
'graphql_register_types',
|
|
array(
|
|
'\WPGraphQL\Extensions\WooCommerce\Actions',
|
|
'graphql_register_types',
|
|
),
|
|
10
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Registers WooCommerce types and type_fields to GraphQL schema
|
|
*/
|
|
public static function graphql_register_types() {
|
|
// Enumerations.
|
|
Backorders::register();
|
|
Catalog_Visibility::register();
|
|
Countries::register();
|
|
Customer_Connection_Orderby_Enum::register();
|
|
Discount_Type::register();
|
|
Manage_Stock::register();
|
|
Order_Status::register();
|
|
Product_Types::register();
|
|
Stock_Status::register();
|
|
Tax_Class::register();
|
|
Tax_Status::register();
|
|
WC_Connection_Orderby_Enum::register();
|
|
Tax_Rate_Connection_Orderby_Enum::register();
|
|
Pricing_Field_Format::register();
|
|
|
|
// InputObjects.
|
|
Customer_Address_Input::register();
|
|
Product_Attribute_Input::register();
|
|
WC_Connection_Orderby_Input::register();
|
|
Tax_Rate_Connection_Orderby_Input::register();
|
|
Fee_Line_Input::register();
|
|
Line_Item_Input::register();
|
|
Meta_Data_Input::register();
|
|
Shipping_Line_Input::register();
|
|
|
|
// Objects.
|
|
Coupon_Type::register();
|
|
Product_Type::register();
|
|
Product_Variation_Type::register();
|
|
Order_Type::register();
|
|
Order_Item_Type::register();
|
|
Refund_Type::register();
|
|
Product_Attribute_Type::register();
|
|
Product_Download_Type::register();
|
|
Customer_Type::register();
|
|
Customer_Address_Type::register();
|
|
Tax_Rate_Type::register();
|
|
Shipping_Method_Type::register();
|
|
Cart_Type::register();
|
|
Variation_Attribute_Type::register();
|
|
|
|
// Connections.
|
|
Posts::register_connections();
|
|
WC_Terms::register_connections();
|
|
Coupons::register_connections();
|
|
Products::register_connections();
|
|
Orders::register_connections();
|
|
Order_Items::register_connections();
|
|
Refunds::register_connections();
|
|
Product_Attributes::register_connections();
|
|
Variation_Attributes::register_connections();
|
|
Customers::register_connections();
|
|
Tax_Rates::register_connections();
|
|
Shipping_Methods::register_connections();
|
|
Cart_Items::register_connections();
|
|
|
|
// Mutations.
|
|
Customer_Register::register_mutation();
|
|
Customer_Update::register_mutation();
|
|
Cart_Add_Item::register_mutation();
|
|
Cart_Update_Item_Quantity::register_mutation();
|
|
Cart_Remove_Items::register_mutation();
|
|
Cart_Restore_Items::register_mutation();
|
|
Cart_Empty::register_mutation();
|
|
Cart_Apply_Coupon::register_mutation();
|
|
Cart_Remove_Coupons::register_mutation();
|
|
Cart_Add_Fee::register_mutation();
|
|
Order_Create::register_mutation();
|
|
Order_Update::register_mutation();
|
|
Order_Delete::register_mutation();
|
|
}
|
|
}
|