* Return early from creating customer if order is false
* Refactor customer first and last name methods
* Separate customer name tests to create guest orders
* Check for parent_id before retrieving customer ID in refund
* Use registered customer ID in import report tests
* Compare absolute integer when checking for valid customer ID
* Check for order before getting customer ID when retrieving existing customer ID
* Hook up import/status endpoint to Historical Data Import screen
* Fix PHP tests
* Add speak message when the import is complete
* Several fixes
* Cleanup
* Update progress bars every 3 seconds and bugfixes
* Rename ongoingImport to activeImport
* Use timestamp to identify queries
* Use timestamps for historical data state
* Add 'initializing' status
* Cleanup
* Pass less props around
* Refactor getStatus
* Set stop timestamp on request error
* Typo
* Add profiler body class on initial load, and respect skipped/complete status.
* Handle PR feedback: Remove unnecessary global, add some todos, added a filter around the next step slug, generalized the is-loading class a bit.
* Add method to go to next profiler step in step controller
* Add method to update profile params in step controller
* Add action methods to step 1 in the profiler
* Allow JSON body params for profile controller
* Use JSON body params in onboarding profile tests
* Update import progress during batches
* Add import status route for querying import progress
* Update import totals before import start
* Move wc admin notes to separate action scheduler group
* Add import totals route to query customer and order totals
* Add wc helper queue job processing method
* Add import status and total tests
* Separate action type clearing for imports and notes
* Typecast action types as array in clear_pending_wcadmin_actions()
* Make customer name extendable
* Update get_customer_name to favor user profile information
* Update customer name on profile update
* Add tests around customer name getting and setting
* Prefix customer name filter with woocommerce_reports_
* Add leaderboard controller and endpoint
* Add existing leaderboard stats to leaderboard endpoint
* Add persisted query to leaderboard params
* Add leaderboard endpoint tests
* Check if extended_info params are set before assigning
* Change number param input format to mixed inside wc_admin_number_format
* Separate notes controller request args and add collection params
* Fix page param var
* Fix collection params sanitization
* Allow array of note types to be queried
* Add order and orderby collection params to notes controller
* Allow sorting by order and orderby params in notes data store
* Make sure notes are ordered by date and unread matches inbox note types
* Allow status or type params to use an array of items
* Add tests for notes ordering
* Remove unnecessary query arg assignment in the notes data store
* Update get_notes_count to use array for status and type
* Change coupons sum to distinct coupon count in REST API
* Hook up unique coupon count to orders summary numbers
* Add coupons count to order segmenting
* Add coupons count to expected stats in order test and revenue tests
* Translation call text domain change from “wc-admin” to “woocommerce-admin”.
* Fix .pot file generation.
* Fix errantly closed array item in /revenue/stats controller.
* Rename plugin zip, main file, and repo name to "woocommerce-admin".
* Add store notice around processing historical data.
* Cleanup
* Handle PR feedback.
* Clean up `add` logic and add empty content_data. Also add logic to get_notes_count so that we can hide unactioned statuses.
* Add the ability to update a note, and to also mark a status when an alert is clicked.
* Remove mark_actioned call on sync
* add missing todo
* Make categories endpoint return zero-value items
* Rename PHP variable to make it more specific
* Remove uneeded lines
* Make variations and coupons endpoints return zero-value items
* Remove second parameter from get_ids_table
* Make categories endpoint return zero-value items
* Rename PHP variable to make it more specific
* Remove uneeded lines
* Remove second parameter from get_ids_table
* Make products endpoint return zero-value items
* Make rates endpoint return zero-value items
* Several fixes
* Add tests
* Simplify code
* Merge both queries into one to simplify code
* Rename 'get_outer_from_sql_params' to 'get_from_sql_params'
* Display order number on reports, and add to API response.
* Add method for getting order number, avoiding loading the data store if no filter is attached.
* Fix indendtation for table creations
* Refactor how customers are created on order update
* Check if user has a role of customer or previous orders before storing
* Add tests for user creation
* Allow null emails for customers
* Only select customer_id in guest ID query
* Add the ability to search name, username, and email fields on the customer endpoint, update autocompletors, add in include parameter.
* Update the username to be returned in the download response, update download filtering based on customer id, and only rename include parameter on main customers endpoint.
* Add item and shipping refund calucations to taxes on order update
* Sync taxes on refund delete
* Fix up tax stats API testing
* Add refunds to tax stats API tests
* Add manage_stock to stock controller response
* Add manage_stock property to stock report tests
* Add changelog entry
* Make stock quantity float instead of int
* Add manage_stock to the products API response
* Check for manage_stock in products table
* Add manage_stock property to product API tests
Product detail report and comparison
Code cleanup
Fix 404 on product variations endpoint after rebase
Fix up tests
Fix loading indicators and add some checks around malformed variation response
Add date filtering SQL bits to the variations query
Handle PR feedback: Fix viewport, fix duplicate product issue, fix legend display reset, fix bargraph overflow, fix some coding standards/whitespace, add extra variation santiziation.
Fix scroll on wide charts, and fix undefined prop getting passed into report chart render
* Update all wc-admin endpoints to v4
* Add namespace for products and customers controllers
* Include product quantity in orders data store
* Add coupons to extended data in the orders data store
* Format order statuses response from database
* Hook up orders table to orders endpoint
* Add namespace to data endpoint controller
* Add namespaces to remaining extended controllers
* Use NAMESPACE var in place of wc/v4
* Update product links in orders table to products reports
* Add coupons rest controller override
* Format coupon code in response
Co-Authored-By: joshuatf <joshuatf@gmail.com>
* Store all orders regardless of status in wc_order_stats
* Only query select statuses if status_is or status_is_not is not set
* Fix order stats example query
* Filter category store by default order statuses
* Add table_name to interval functions to avoid ambiguity
* Filter coupon store by default order statuses
* Fix interval stats by adding table_name to interval function
* Filter products store by default order statuses
* Remove unused order_status in coupons data store
* Store products with any order status
* Fix ambiguous order by call in products data store
* Apply status filter after other filters to avoid logical OR matching
* Store all coupon data regardless of order status
* Filter taxes by default order statuses
* Filter customer stats by default order status
* Filter default order statuses in variations data store
* Use excluded statuses to filter reports by default
* DRY up default excluded statuses query
* Fix up new orders data store after rebase
* Rename orders controllers and data store to order stats
* Add orders data store and controller
* Add coupon, product, and status filters
* Add customer type query filter
* Add extended info for products and categories
* Bump API namespace to v4
* Add missing schema properties
* Set default customer_type and extended_info params
* Add orders endpoint tests
* Only use one JOIN if both excluded and included queries are used
* Optimize query calls to get product and category data
* Split product and category fetch and limit to product_cat taxonomy