workarea-api-admin 4.5.0 → 4.5.6

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: 1293e8aaa96d2635d1dcbe8db63f474d72641e25b5a55c0962198151ad26d6e8
4
- data.tar.gz: 6acda0225199411d454aec44aa70cbb16a8afa4d1d127b5f15c20faaf441b561
3
+ metadata.gz: 73b13580adeadec266393c807ff389f70684dd538a08744c21d926d1b1a70662
4
+ data.tar.gz: c06a7dbe0e69cdf10f5cee49e65087b19bfa390861ee7f1fb39c7b15eafebf35
5
5
  SHA512:
6
- metadata.gz: '03188782d8a034260defff0c3de1d8707a62013277b40f9cb3a1a5727c562cdc87272d06b0a1b46617cfb64f530f99f7f1e4a716a5b1936cff78aa121e35e629'
7
- data.tar.gz: f5aebc2374c504adb53576ebf7411d0b915d40b4e863909171df81b5e2b9f85c9a9d6854d0956455543898ce8defa5daa4aae369f41bea750e03a44b95c06282
6
+ metadata.gz: e7b53927b51128022e2404f58f75f811a1332104374e6cb802775c09f187cd5da79d32fae950c5e93d319def28bf0eebf82b1a4f0a2b1a10e9916e74ed571dbc
7
+ data.tar.gz: 9a2c721e8b8a25fc602eb5dd46c3c4ab4b1805aee7b344ce53f49c4cc82efb79a1b0ebdb90559ec5f92d72bebe62b103de94a63ee7b65d30f180bc28051c27fe
@@ -114,7 +114,7 @@ module Workarea
114
114
  private
115
115
 
116
116
  def find_recommendation_settings
117
- @recommendation_settings = Recommendation::Settings.find(params[:product_id])
117
+ @recommendation_settings = Recommendation::Settings.find_or_initialize_by(id: params[:product_id])
118
118
  end
119
119
  end
120
120
  end
@@ -4,9 +4,6 @@ module Workarea
4
4
  module DateFiltering
5
5
  extend ActiveSupport::Concern
6
6
  included do
7
- index({ updated_at: 1 })
8
- index({ created_at: 1 })
9
-
10
7
  scope :by_updated_at, ->(starts_at:, ends_at:) do
11
8
  query = criteria
12
9
  query = query.where(:updated_at.gte => starts_at) unless starts_at.nil?
@@ -19,3 +19,4 @@ end
19
19
  require 'workarea/api/version'
20
20
  require 'workarea/api/admin/engine'
21
21
  require 'workarea/api/admin/swagger'
22
+ require 'workarea/api/admin/date_indexes'
@@ -0,0 +1,23 @@
1
+
2
+ module Workarea
3
+ module Api
4
+ module Admin
5
+ module DateIndexes
6
+ extend self
7
+
8
+ # We do this separately from the DateFiltering module to ensure
9
+ # this happens after a model has defined all of its normal indexes. This
10
+ # prevents the date filtering indexes from applying before explicity
11
+ # defined indexes for models that could include options like a TTL.
12
+ def load
13
+ ::Mongoid.models.each do |model|
14
+ if model < ApplicationDocument
15
+ model.index({ updated_at: 1 })
16
+ model.index({ created_at: 1 })
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -14,10 +14,12 @@ module Workarea
14
14
 
15
15
  config.after_initialize do
16
16
  Workarea::Api::Admin::Swagger.generate!
17
+ Workarea::Api::Admin::DateIndexes.load
17
18
  end
18
19
 
19
20
  config.to_prepare do
20
21
  ApplicationDocument.include(DateFiltering)
22
+ Workarea::Api::Admin::DateIndexes.load
21
23
  end
22
24
  end
23
25
  end
@@ -35,6 +35,20 @@ module Workarea
35
35
 
36
36
  assert_equal(['foo'], recommendation_settings.reload.product_ids)
37
37
  end
38
+
39
+ def test_unpersisted_recommendation_settings
40
+ get admin_api.product_recommendation_settings_path(@product.id)
41
+ result = JSON.parse(response.body)['recommendation_settings']
42
+ assert_equal(@product.id, result['_id'])
43
+ assert_equal(0, Recommendation::Settings.count)
44
+
45
+ patch admin_api.product_recommendation_settings_path(@product.id),
46
+ params: { recommendation_settings: { product_ids: ['foo'] } }
47
+
48
+ assert_equal(1, Recommendation::Settings.count)
49
+ assert_equal(@product.id, Recommendation::Settings.first.id)
50
+ assert_equal(['foo'], Recommendation::Settings.first.product_ids)
51
+ end
38
52
  end
39
53
  end
40
54
  end
@@ -14,6 +14,6 @@ Gem::Specification.new do |s|
14
14
 
15
15
  s.required_ruby_version = '>= 2.3.0'
16
16
 
17
- s.add_dependency 'workarea', '~> 3.x', '>= 3.4.x'
18
- s.add_dependency 'responders', '~> 2.4.0'
17
+ s.add_dependency 'workarea', '~> 3.x', '>= 3.5.x'
18
+ s.add_dependency 'responders', '~> 3.0.0'
19
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workarea-api-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.5.0
4
+ version: 4.5.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Crouse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-27 00:00:00.000000000 Z
11
+ date: 2020-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: workarea
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: 3.x
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.4.x
22
+ version: 3.5.x
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,21 +29,21 @@ dependencies:
29
29
  version: 3.x
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.4.x
32
+ version: 3.5.x
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: responders
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 2.4.0
39
+ version: 3.0.0
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 2.4.0
46
+ version: 3.0.0
47
47
  description: This provides an admin JSON REST API for the Workarea Commerce Platform.
48
48
  Useful for managing the site, 3rd party integrations, etc.
49
49
  email:
@@ -102,6 +102,7 @@ files:
102
102
  - config/locales/en.yml
103
103
  - config/routes.rb
104
104
  - lib/workarea/api/admin.rb
105
+ - lib/workarea/api/admin/date_indexes.rb
105
106
  - lib/workarea/api/admin/engine.rb
106
107
  - lib/workarea/api/admin/swagger.rb
107
108
  - test/documentation/workarea/api/admin/categories_documentation_test.rb
@@ -250,7 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
250
251
  - !ruby/object:Gem::Version
251
252
  version: '0'
252
253
  requirements: []
253
- rubygems_version: 3.0.6
254
+ rubygems_version: 3.0.3
254
255
  signing_key:
255
256
  specification_version: 4
256
257
  summary: Admin JSON REST API for the Workarea Commerce Platform