dscf-marketplace 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6369ee5595ca023697c774365dee93c16a985614fc46057ee9effd1e2120a244
4
- data.tar.gz: 696e16ed8bac9ba0b214979d69b3b133c3ea5a32374bc44dd7ef9db0253bac6c
3
+ metadata.gz: 9c6753e6a99d5fcd1f3a5f3c81e9ea36bef71439a4eb3840ed3f7d8f4deb1f5f
4
+ data.tar.gz: edbf169441292502b45e8d67ab61bee187816d574a17e27c6b8a0a4bfb4b4bf5
5
5
  SHA512:
6
- metadata.gz: 218769eb0baba77cb42ec31c7519ea60ad1ed2483135446a98970cf18b928dc1ccc29a44dcdc941c144ac94cdf9098400628b9e521b4956f8bfe10c51913616b
7
- data.tar.gz: aedbbb4601fab05aa6ce8e60470609286b71d5b3b6e7f9da201337073e12b5255c151fc16de074083c9511cbf10c6ff1d86d140cee6ae66bb95d1bf20df93d21
6
+ metadata.gz: 367c4df2d4a125126c527c123668eafd975fb52a7082a2f792e69bfbacf6978ecaac8742a745470a2eca82c9db13ee6da6dfa847c434a999e9343c6dbdaed7f5
7
+ data.tar.gz: 5199ecec95982d83a2fb842c95921ff2037cd479f3f0127dc0d930a3c471dea767e743898ff9dc1a1df0c18b3dcff75a15fbe8eab91b04e21665f3f46e7149d7
@@ -42,6 +42,28 @@ module Dscf
42
42
  render_success("listings.success.index", data: listings, serializer_options: options)
43
43
  end
44
44
 
45
+ def listings_by_supplier
46
+ supplier_id = params[:supplier_id]
47
+
48
+ # Validate supplier exists
49
+ supplier = Dscf::Core::Business.find_by(id: supplier_id)
50
+ return render_error("Supplier not found") unless supplier
51
+
52
+ service = MyResourceService.new(current_user)
53
+ listings = service.listings_by_supplier(supplier_id, params)
54
+
55
+ options = {
56
+ include: default_serializer_includes[:index] || [],
57
+ meta: {
58
+ resource_type: "listings_by_supplier",
59
+ supplier_id: supplier_id,
60
+ supplier_name: supplier.name
61
+ }
62
+ }
63
+
64
+ render_success("listings.success.index", data: listings, serializer_options: options)
65
+ end
66
+
45
67
  private
46
68
 
47
69
  def model_params
@@ -47,6 +47,14 @@ module Dscf
47
47
  apply_filters(products, params)
48
48
  end
49
49
 
50
+ def listings_by_supplier(supplier_id, params = {})
51
+ listings = Dscf::Marketplace::Listing.joins(:supplier_product)
52
+ .where(dscf_marketplace_supplier_products: {business_id: supplier_id})
53
+ .includes(:business, :supplier_product, :order_items)
54
+
55
+ apply_filters(listings, params)
56
+ end
57
+
50
58
  private
51
59
 
52
60
  def apply_filters(query, params)
data/config/routes.rb CHANGED
@@ -39,6 +39,7 @@ Dscf::Marketplace::Engine.routes.draw do
39
39
  end
40
40
  collection do
41
41
  get "my_listings"
42
+ get "by_supplier/:supplier_id", to: "listings#listings_by_supplier"
42
43
  end
43
44
  end
44
45
 
@@ -1,5 +1,5 @@
1
1
  module Dscf
2
2
  module Marketplace
3
- VERSION = "0.2.3".freeze
3
+ VERSION = "0.2.4".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dscf-marketplace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Asrat