comee_core 0.1.43 → 0.1.44

Sign up to get free protection for your applications and to get access to all the features.
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