dscf-marketplace 0.5.2 → 0.5.3
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 +4 -4
- data/app/controllers/dscf/marketplace/businesses_controller.rb +7 -16
- data/app/serializers/dscf/marketplace/business_serializer.rb +4 -1
- data/app/serializers/dscf/marketplace/review_serializer.rb +13 -0
- data/app/services/dscf/marketplace/my_resource_service.rb +1 -1
- data/lib/dscf/marketplace/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a36cea2c52f86ddd9e201a684e5392883e7e9ea75b9f8a51de3ee205f9868883
|
4
|
+
data.tar.gz: 79743b73e332628ca62d6dcb139c8340f6ffebd681a81a0e158b29afadee7185
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6efaf45a41ce405b3f433b1b475ea75e362abaa4eae679b66e7087a1bdb0856ce8f8f1f516deeabdf9a8138ea48a831a102cdd5eaaca2290725f5c81ab407d5
|
7
|
+
data.tar.gz: 9dc8436d4ff38cad70ae33fdea699deb8af22aaac6263d47986995d14bbacb98ca6a247b5e6f4c4c01fa2da1d6a5722f6424a639468dad3c013ab9816246eaae
|
@@ -40,11 +40,16 @@ module Dscf
|
|
40
40
|
businesses = service.my_businesses(params)
|
41
41
|
|
42
42
|
options = {
|
43
|
-
include:
|
43
|
+
include: [ :business_type, :user, :documents, {reviews: {reviewed_by: :user_profile}} ],
|
44
44
|
meta: {resource_type: "my_businesses"}
|
45
45
|
}
|
46
46
|
|
47
|
-
|
47
|
+
# Manually serialize to ensure reviews are included
|
48
|
+
serialized = businesses.map do |business|
|
49
|
+
BusinessSerializer.new(business, options).as_json
|
50
|
+
end
|
51
|
+
|
52
|
+
render_success(data: serialized, meta: {resource_type: "my_businesses"})
|
48
53
|
end
|
49
54
|
|
50
55
|
private
|
@@ -90,20 +95,6 @@ module Dscf
|
|
90
95
|
def allowed_order_columns
|
91
96
|
%w[id name description contact_email contact_phone tin_number created_at updated_at]
|
92
97
|
end
|
93
|
-
|
94
|
-
def render_success(message = nil, data: nil, serializer_options: {}, status: :ok)
|
95
|
-
# Ensure reviews are included in serializer options for business-related responses
|
96
|
-
unless serializer_options[:include]&.any? { |inc| inc.is_a?(Hash) && inc.key?(:reviews) }
|
97
|
-
if action_name == "index" || action_name == "my_businesses"
|
98
|
-
includes = default_serializer_includes[:index] || []
|
99
|
-
serializer_options = serializer_options.merge(include: includes)
|
100
|
-
elsif action_name == "show"
|
101
|
-
includes = default_serializer_includes[:show] || []
|
102
|
-
serializer_options = serializer_options.merge(include: includes)
|
103
|
-
end
|
104
|
-
end
|
105
|
-
super
|
106
|
-
end
|
107
98
|
end
|
108
99
|
end
|
109
100
|
end
|
@@ -7,8 +7,11 @@ module Dscf
|
|
7
7
|
belongs_to :business_type
|
8
8
|
belongs_to :user
|
9
9
|
has_many :documents
|
10
|
+
has_many :reviews, serializer: ReviewSerializer
|
10
11
|
|
11
|
-
|
12
|
+
def reviews
|
13
|
+
object.reviews.includes(reviewed_by: :user_profile)
|
14
|
+
end
|
12
15
|
end
|
13
16
|
end
|
14
17
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Dscf
|
2
|
+
module Marketplace
|
3
|
+
class ReviewSerializer < ActiveModel::Serializer
|
4
|
+
attributes :id, :context, :status, :feedback, :reviewed_at, :created_at, :updated_at
|
5
|
+
|
6
|
+
attribute :reviewed_by do
|
7
|
+
if object.reviewed_by
|
8
|
+
UserSerializer.new(object.reviewed_by).as_json
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -28,7 +28,7 @@ module Dscf
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def my_businesses(params = {})
|
31
|
-
@current_user.businesses.includes(:business_type, :user, :documents)
|
31
|
+
@current_user.businesses.includes(:business_type, :user, :documents, reviews: {reviewed_by: :user_profile})
|
32
32
|
end
|
33
33
|
|
34
34
|
def my_listings(params = {})
|
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.5.
|
4
|
+
version: 0.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Asrat
|
@@ -464,6 +464,7 @@ files:
|
|
464
464
|
- app/serializers/dscf/marketplace/quotation_item_serializer.rb
|
465
465
|
- app/serializers/dscf/marketplace/quotation_serializer.rb
|
466
466
|
- app/serializers/dscf/marketplace/request_for_quotation_serializer.rb
|
467
|
+
- app/serializers/dscf/marketplace/review_serializer.rb
|
467
468
|
- app/serializers/dscf/marketplace/rfq_item_serializer.rb
|
468
469
|
- app/serializers/dscf/marketplace/supplier_product_serializer.rb
|
469
470
|
- app/serializers/dscf/marketplace/unit_conversion_serializer.rb
|