woothemes/woocommerce

View on GitHub
includes/interfaces/class-wc-order-data-store-interface.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
/**
 * Order Data Store Interface
 *
 * @version 3.0.0
 * @package WooCommerce\Interface
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

/**
 * WC Order Data Store Interface
 *
 * Functions that must be defined by order store classes.
 *
 * @version  3.0.0
 */
interface WC_Order_Data_Store_Interface {
    /**
     * Get amount already refunded.
     *
     * @param WC_Order $order Order object.
     * @return float
     */
    public function get_total_refunded( $order );

    /**
     * Get the total tax refunded.
     *
     * @param WC_Order $order Order object.
     * @return float
     */
    public function get_total_tax_refunded( $order );

    /**
     * Get the total shipping refunded.
     *
     * @param WC_Order $order Order object.
     * @return float
     */
    public function get_total_shipping_refunded( $order );

    /**
     * Finds an Order ID based on an order key.
     *
     * @param string $order_key An order key has generated by.
     * @return int The ID of an order, or 0 if the order could not be found.
     */
    public function get_order_id_by_order_key( $order_key );

    /**
     * Return count of orders with a specific status.
     *
     * @param string $status Order status.
     * @return int
     */
    public function get_order_count( $status );

    /**
     * Get all orders matching the passed in args.
     *
     * @see    wc_get_orders()
     * @param array $args Arguments.
     * @return array of orders
     */
    public function get_orders( $args = array() );

    /**
     * Get unpaid orders after a certain date,
     *
     * @param int $date timestamp.
     * @return array
     */
    public function get_unpaid_orders( $date );

    /**
     * Search order data for a term and return ids.
     *
     * @param  string $term Term name.
     * @return array of ids
     */
    public function search_orders( $term );

    /**
     * Gets information about whether permissions were generated yet.
     *
     * @param WC_Order $order Order object.
     * @return bool
     */
    public function get_download_permissions_granted( $order );

    /**
     * Stores information about whether permissions were generated yet.
     *
     * @param WC_Order $order Order object.
     * @param bool     $set If should set.
     */
    public function set_download_permissions_granted( $order, $set );

    /**
     * Gets information about whether sales were recorded.
     *
     * @param WC_Order $order Order object.
     * @return bool
     */
    public function get_recorded_sales( $order );

    /**
     * Stores information about whether sales were recorded.
     *
     * @param WC_Order $order Order object.
     * @param bool     $set If should set.
     */
    public function set_recorded_sales( $order, $set );

    /**
     * Gets information about whether coupon counts were updated.
     *
     * @param WC_Order $order Order object.
     * @return bool
     */
    public function get_recorded_coupon_usage_counts( $order );

    /**
     * Stores information about whether coupon counts were updated.
     *
     * @param WC_Order $order Order object.
     * @param bool     $set If should set.
     */
    public function set_recorded_coupon_usage_counts( $order, $set );

    /**
     * Get the order type based on Order ID.
     *
     * @param int $order_id Order ID.
     * @return string
     */
    public function get_order_type( $order_id );
}