OrderRepositoryInterface.php 981 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace App\Shop\Orders\Repositories\Interfaces;
  3. use Jsdecena\Baserepo\BaseRepositoryInterface;
  4. use App\Shop\Orders\Order;
  5. use App\Shop\Products\Product;
  6. use Illuminate\Support\Collection;
  7. interface OrderRepositoryInterface extends BaseRepositoryInterface
  8. {
  9. public function createOrder(array $data) : Order;
  10. public function updateOrder(array $params) : bool;
  11. public function findOrderById(int $id) : Order;
  12. public function listOrders(string $order = 'id', string $sort = 'desc', array $columns = ['*']) : Collection;
  13. public function findProducts(Order $order) : Collection;
  14. public function associateProduct(Product $product, int $quantity = 1, array $data = []);
  15. public function searchOrder(string $text) : Collection;
  16. public function listOrderedProducts() : Collection;
  17. public function buildOrderDetails(Collection $items);
  18. public function getAddresses() : Collection;
  19. public function getCouriers() : Collection;
  20. }