spree_cm_commissioner 2.8.2.pre.pre.3 → 2.8.2.pre.pre.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: d81921f1e2c71c3740ce4b4d0c933c5ecc1c1c1e008eacf01636e95c2d0078e3
4
- data.tar.gz: 4b02d2667e7d5a441e37315ecb0c91de142b529a595ea14a350863e75b22bd0b
3
+ metadata.gz: d4cd730387ccdcb3fab3576b93581404b2612162c839b7a9e5eea00e1ce8c633
4
+ data.tar.gz: 39ab583fea644ea040871592bfd145f06512f5bc0ef0ede6df8b9985bb21af63
5
5
  SHA512:
6
- metadata.gz: 480b051b7f31a87059d9c6f396e6a6e0c2c48b0a38432c7c93d027cbf038263a500945afdb2c8d9c6dbbed92a2cc857a03eaff25bdb57f31b6e7f429dce6556f
7
- data.tar.gz: bc516685858c51491db8801c3004f2f8c095c1b2727958877e911312dcb7039feccc8c318c9d88ff8b1c56f88c933478bd05a1664d480dd4a2e0c5dca0a64190
6
+ metadata.gz: c07eeed2b2dc958ca1edecd2c8ee0898700bf56216364c849b8ac34a693a226323561f52d79ab3331620448dff35f1ae906d8382e9f3c17876d91cdf32d51291
7
+ data.tar.gz: 840295b33cacc219eb1c56c83f5e06938fd882a000e240b15b03d2992f4196d70f8a59db83f8c535cbaa95c5eece2ab95ab2d658a91c85c5aebb23a2f3ad7dc2
data/Gemfile.lock CHANGED
@@ -34,7 +34,7 @@ GIT
34
34
  PATH
35
35
  remote: .
36
36
  specs:
37
- spree_cm_commissioner (2.8.2.pre.pre.3)
37
+ spree_cm_commissioner (2.8.2.pre.pre.4)
38
38
  activerecord-multi-tenant
39
39
  activerecord_json_validator (~> 2.1, >= 2.1.3)
40
40
  aws-sdk-cloudfront
@@ -16,6 +16,7 @@ module SpreeCmCommissioner
16
16
  GuestCardClassesController
17
17
  SeatLayoutController
18
18
  CmsPagesController
19
+ AdvertisementsController
19
20
  ].freeze
20
21
 
21
22
  # Priority 2: Semi-Static (1 hour)
@@ -25,6 +26,7 @@ module SpreeCmCommissioner
25
26
  HomepageDataController
26
27
  PopularRoutesController
27
28
  RoutePlacesController
29
+ ShowsController
28
30
  ].freeze
29
31
 
30
32
  # Priority 3: Moderate Freshness (30 minutes)
@@ -0,0 +1,23 @@
1
+ module Spree
2
+ module Api
3
+ module V2
4
+ module Tenant
5
+ class AdvertisementsController < BaseController
6
+ private
7
+
8
+ def scope
9
+ Spree::Product
10
+ .advertisements
11
+ .joins(:vendor)
12
+ .where(tenant_id: @tenant.id)
13
+ .order(created_at: :asc)
14
+ end
15
+
16
+ def collection_serializer
17
+ Spree::V2::Tenant::AdvertisementSerializer
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -5,7 +5,7 @@ module SpreeCmCommissioner
5
5
  module ProductType
6
6
  extend ActiveSupport::Concern
7
7
 
8
- PRODUCT_TYPES = %i[accommodation service ecommerce transit show_episode vote_package].freeze
8
+ PRODUCT_TYPES = %i[accommodation service ecommerce transit show_episode vote_package advertisement].freeze
9
9
  PERMANENT_STOCK_PRODUCT_TYPES = %w[accommodation service transit].freeze
10
10
  PRE_INVENTORY_DAYS = { 'transit' => 90, 'accommodation' => 365, 'service' => 30 }.freeze
11
11
 
@@ -108,6 +108,12 @@ module SpreeCmCommissioner
108
108
  .maximum('spree_prices.price').to_f
109
109
  }
110
110
  base.scope :subscribable, -> { where(subscribable: 1) }
111
+ base.scope :advertisements, lambda {
112
+ advertisement
113
+ .available
114
+ .where('spree_products.available_on IS NULL OR spree_products.available_on <= CURRENT_TIMESTAMP')
115
+ .where('spree_products.discontinue_on IS NULL OR spree_products.discontinue_on > CURRENT_TIMESTAMP')
116
+ }
111
117
 
112
118
  base.before_validation :set_event_id
113
119
 
@@ -121,6 +127,10 @@ module SpreeCmCommissioner
121
127
  base.store_public_metadata :open_dated_validity_days, :integer, default: 90
122
128
  base.store_public_metadata :enable_inventory_hold, :boolean, default: false
123
129
 
130
+ base.store_private_metadata :video_url, :string
131
+ base.store_private_metadata :skip_after_seconds, :integer, default: 5
132
+ base.store_private_metadata :duration_seconds, :integer, default: 30
133
+
124
134
  base.after_update :update_variants_vendor_id, if: :saved_change_to_vendor_id?
125
135
  base.after_update :sync_event_id_to_children, if: :saved_change_to_event_id?
126
136
 
@@ -0,0 +1,11 @@
1
+ module Spree
2
+ module V2
3
+ module Tenant
4
+ class AdvertisementSerializer < BaseSerializer
5
+ set_type :advertisement
6
+
7
+ attributes :name, :video_url, :skip_after_seconds, :duration_seconds
8
+ end
9
+ end
10
+ end
11
+ end
data/config/routes.rb CHANGED
@@ -499,6 +499,7 @@ Spree::Core::Engine.add_routes do
499
499
  resources :vendors
500
500
  resources :products
501
501
  resources :taxons, only: %i[index show], id: /.+/
502
+ resources :advertisements, only: [:index]
502
503
 
503
504
  resources :account_checker
504
505
  resource :pin_code_checkers, only: [:update]
@@ -1,5 +1,5 @@
1
1
  module SpreeCmCommissioner
2
- VERSION = '2.8.2.pre.pre.3'.freeze
2
+ VERSION = '2.8.2.pre.pre.4'.freeze
3
3
 
4
4
  module_function
5
5
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_cm_commissioner
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.2.pre.pre.3
4
+ version: 2.8.2.pre.pre.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - You
@@ -1035,6 +1035,7 @@ files:
1035
1035
  - app/controllers/spree/api/v2/tenant/account_controller.rb
1036
1036
  - app/controllers/spree/api/v2/tenant/account_deletions_controller.rb
1037
1037
  - app/controllers/spree/api/v2/tenant/account_recovers_controller.rb
1038
+ - app/controllers/spree/api/v2/tenant/advertisements_controller.rb
1038
1039
  - app/controllers/spree/api/v2/tenant/base_controller.rb
1039
1040
  - app/controllers/spree/api/v2/tenant/cart_controller.rb
1040
1041
  - app/controllers/spree/api/v2/tenant/cart_guests_controller.rb
@@ -1948,6 +1949,7 @@ files:
1948
1949
  - app/serializers/spree/v2/storefront/vendor_serializer_decorator.rb
1949
1950
  - app/serializers/spree/v2/storefront/wished_item_serializer_decorator.rb
1950
1951
  - app/serializers/spree/v2/tenant/address_serializer.rb
1952
+ - app/serializers/spree/v2/tenant/advertisement_serializer.rb
1951
1953
  - app/serializers/spree/v2/tenant/asset_serializer.rb
1952
1954
  - app/serializers/spree/v2/tenant/base_serializer.rb
1953
1955
  - app/serializers/spree/v2/tenant/booking_card_class_serializer.rb