comee_core 0.1.43 → 0.1.44

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: 4614aa569251964bb6f680e1aaaf6cba4f2ce8a64f45d54751e18ad62378b871
4
- data.tar.gz: 0f8f41bf2828f2292ee6e65906bb47c8888ebae8ed79e8e978bd7e6cdc432878
3
+ metadata.gz: f696cebf98304e61d0188deac70ea559b73e9d55cf256486cfeb0526f4f6c305
4
+ data.tar.gz: 2c044422308efb79ff83835533d663d18aa9e23b3245a4ac063dc65ddc5332c0
5
5
  SHA512:
6
- metadata.gz: 743afdd1aac35780b96ace42f00eb9cf14fd29cfb4cff61412121288846f8574ce1f7c61b955038b0cb6a31a900267e90bb29d11cf880403d107bca0d45e06ba
7
- data.tar.gz: 1d3d427ef671fa0cf13bdb50424c6f4bd93edbc2822090dcc0dcb428e710a84547a14e5231815f892b05b2aa2886446053dd455ff5a36a11d3842488b41e8f6e
6
+ metadata.gz: 89872d2c3e16b303abf9fd3d559b12db2f8f8e62ac592fba18ce61b3b4653f13ec676e03c664116e351f7ae73181ac4bd30811640f706e1f3bdec5f6e32b5b11
7
+ data.tar.gz: 547c0a49ecaa14fef846ef42e8d18cb282c4b821d06dd0f6e64bb221a505b16f04cd6d0b49181dc23efe67c494192afe7e37952696191a8e8b1eea3a22bc5a3e
@@ -10,10 +10,17 @@ module Comee
10
10
  end
11
11
  end
12
12
 
13
+ def show
14
+ super do
15
+ product = Comee::Core::Product.with_attached_images.find(params[:id])
16
+ product
17
+ end
18
+ end
19
+
13
20
  private
14
21
 
15
22
  def model_params
16
- params.required(:payload).permit(:code, :name, :description, :parent_id)
23
+ params.required(:payload).permit(:code, :name, :description, :parent_id, :thumbnail_image, images: [])
17
24
  end
18
25
  end
19
26
  end
@@ -1,9 +1,12 @@
1
1
  module Comee
2
2
  module Core
3
3
  class Product < ApplicationRecord
4
- has_ancestry
5
4
  after_save :update_parent, if: proc { |product| product.parent && product.parent.leaf? }
6
5
 
6
+ has_ancestry
7
+ has_one_attached :thumbnail_image
8
+ has_many_attached :images
9
+
7
10
  validates :code, presence: true, uniqueness: true
8
11
  validates :name, presence: true
9
12
 
@@ -14,6 +17,14 @@ module Comee
14
17
  obj.leaf = false
15
18
  obj.save!
16
19
  end
20
+
21
+ def thumbnail_image_url
22
+ thumbnail_image.attached? ? Rails.application.routes.url_helpers.rails_blob_url(thumbnail_image, only_path: false) : nil
23
+ end
24
+
25
+ def images_url
26
+ images.attached? ? images.map { |image| Rails.application.routes.url_helpers.rails_blob_url(image, only_path: false) } : []
27
+ end
17
28
  end
18
29
  end
19
30
  end
@@ -1,7 +1,7 @@
1
1
  module Comee
2
2
  module Core
3
3
  class ProductSerializer < ActiveModel::Serializer
4
- attributes :id, :code, :name, :description
4
+ attributes :id, :code, :name, :description, :thumbnail_image_url, :images_url
5
5
  end
6
6
  end
7
7
  end
@@ -33,8 +33,13 @@ module Comee
33
33
  order = CustomerOrder.find_by(id: id)
34
34
  raise(StandardError, "Customer order with id `#{id}` not found.") unless order
35
35
 
36
- unless CustomerOrder.statuses[order.status] == CustomerOrder.statuses[:submitted]
37
- raise(StandardError, "Customer order should be in submitted state.")
36
+ if CustomerOrder.statuses[order.status] == CustomerOrder.statuses[:accepted]
37
+ raise(StandardError, "Customer order is already in accepted state.")
38
+ end
39
+
40
+ allowed_statuses = [CustomerOrder.statuses[:submitted], CustomerOrder.statuses[:awaiting_confirmation]]
41
+ unless allowed_statuses.include?(CustomerOrder.statuses[order.status])
42
+ raise(StandardError, "Customer order should be in submitted or awaiting confirmation state.")
38
43
  end
39
44
 
40
45
  raise(StandardError, "Customer order does not have any items.") if order.customer_order_items.count.zero?
data/config/routes.rb CHANGED
@@ -42,16 +42,6 @@ Comee::Core::Engine.routes.draw do
42
42
  post "cancel"
43
43
  end
44
44
  end
45
- resources :customer_orders, only: [] do
46
- member do
47
- get "order", controller: :customer_orders, action: :order
48
- patch "cancel", controller: :customer_orders, action: :cancel
49
- patch "seek_confirmation", controller: :customer_orders, action: :seek_confirmation
50
- patch "submit", controller: :customer_orders, action: :submit
51
- patch "accept", controller: :customer_orders, action: :accept
52
- patch "bulk_cancel_items", controller: :customer_orders, action: :bulk_cancel_items
53
- end
54
- end
55
45
  resources :currencies
56
46
  resources :units
57
47
  resources :users
@@ -1,5 +1,5 @@
1
1
  module Comee
2
2
  module Core
3
- VERSION = "0.1.43".freeze
3
+ VERSION = "0.1.44".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comee_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.43
4
+ version: 0.1.44
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-30 00:00:00.000000000 Z
11
+ date: 2023-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers
@@ -52,6 +52,26 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: image_processing
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.12'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 1.12.2
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '1.12'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 1.12.2
55
75
  - !ruby/object:Gem::Dependency
56
76
  name: jwt
57
77
  requirement: !ruby/object:Gem::Requirement