beyond_canvas 0.22.0.pre → 0.23.0.pre

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.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/icons/adblocker.svg +5 -0
  3. data/app/assets/images/icons/checkbox_checked.svg +1 -1
  4. data/app/assets/images/icons/checkbox_unchecked.svg +1 -1
  5. data/app/assets/images/icons/external_link.svg +1 -0
  6. data/app/assets/images/icons/toggle.svg +1 -0
  7. data/app/assets/images/icons/toggle_checked.svg +3 -0
  8. data/app/assets/images/icons/toggle_unchecked.svg +3 -0
  9. data/app/assets/javascripts/beyond_canvas/base.js +77 -31
  10. data/app/assets/stylesheets/beyond_canvas/base.scss +19 -18
  11. data/app/assets/stylesheets/beyond_canvas/components/_action_bar.scss +11 -6
  12. data/app/assets/stylesheets/beyond_canvas/components/_breadcrumbs.scss +5 -5
  13. data/app/assets/stylesheets/beyond_canvas/components/_buttons.scss +45 -95
  14. data/app/assets/stylesheets/beyond_canvas/components/_cards.scss +20 -12
  15. data/app/assets/stylesheets/beyond_canvas/components/_collapse.scss +6 -3
  16. data/app/assets/stylesheets/beyond_canvas/components/_flash.scss +11 -11
  17. data/app/assets/stylesheets/beyond_canvas/components/_forms.scss +2 -2
  18. data/app/assets/stylesheets/beyond_canvas/components/_inputs.scss +182 -40
  19. data/app/assets/stylesheets/beyond_canvas/components/_links.scss +51 -3
  20. data/app/assets/stylesheets/beyond_canvas/components/_main.scss +3 -3
  21. data/app/assets/stylesheets/beyond_canvas/components/_menu.scss +13 -0
  22. data/app/assets/stylesheets/beyond_canvas/components/_modals.scss +48 -18
  23. data/app/assets/stylesheets/beyond_canvas/components/_notices.scss +11 -11
  24. data/app/assets/stylesheets/beyond_canvas/components/_scrollbox.scss +5 -4
  25. data/app/assets/stylesheets/beyond_canvas/components/_select2.scss +13 -13
  26. data/app/assets/stylesheets/beyond_canvas/components/_statuses.scss +9 -8
  27. data/app/assets/stylesheets/beyond_canvas/components/_step_list.scss +67 -0
  28. data/app/assets/stylesheets/beyond_canvas/components/_tables.scss +10 -5
  29. data/app/assets/stylesheets/beyond_canvas/components/_titles.scss +1 -1
  30. data/app/assets/stylesheets/beyond_canvas/mailer.scss +2 -1
  31. data/app/assets/stylesheets/beyond_canvas/settings/_base_variables.scss +241 -0
  32. data/app/assets/stylesheets/beyond_canvas/settings/{_variables.scss → _constant_variables.scss} +30 -64
  33. data/app/assets/stylesheets/beyond_canvas/settings/_custom_variables.scss +233 -0
  34. data/app/assets/stylesheets/beyond_canvas/settings/_typography.scss +7 -3
  35. data/app/assets/stylesheets/beyond_canvas/utilities/_mixins.scss +30 -3
  36. data/app/controllers/beyond_canvas/authentications_controller.rb +18 -2
  37. data/app/controllers/beyond_canvas/system_controller.rb +3 -1
  38. data/app/controllers/beyond_canvas/webhooks_controller.rb +49 -0
  39. data/app/controllers/concerns/beyond_canvas/add_blocker_check.rb +17 -0
  40. data/app/controllers/concerns/beyond_canvas/custom_styles.rb +54 -0
  41. data/app/controllers/concerns/beyond_canvas/locale_management.rb +31 -8
  42. data/app/controllers/concerns/beyond_canvas/request_validation.rb +6 -0
  43. data/app/form_builders/beyond_canvas/form_builder.rb +62 -49
  44. data/app/helpers/beyond_canvas/application_helper.rb +27 -4
  45. data/app/helpers/beyond_canvas/form_tag_helper.rb +130 -0
  46. data/app/javascript/beyond_canvas/base.js +0 -1
  47. data/app/javascript/beyond_canvas/initializers/buttons.js +10 -2
  48. data/app/javascript/beyond_canvas/initializers/flash.js +32 -10
  49. data/app/javascript/beyond_canvas/initializers/inputs.js +9 -4
  50. data/app/javascript/beyond_canvas/initializers/modals.js +46 -10
  51. data/app/views/beyond_canvas/mailer/_header.html.erb +2 -2
  52. data/app/views/beyond_canvas/shared/_flash.html.erb +14 -10
  53. data/app/views/beyond_canvas/shared/_head.html.erb +4 -0
  54. data/app/views/beyond_canvas/shared/_locales.html.erb +1 -1
  55. data/app/views/layouts/beyond_canvas/application.html.erb +0 -1
  56. data/app/views/layouts/beyond_canvas/public.html.erb +1 -1
  57. data/config/initializers/beyond_canvas/constants.rb +13 -0
  58. data/config/initializers/beyond_canvas/session_store.rb +8 -0
  59. data/lib/beyond_canvas/configuration.rb +9 -1
  60. data/lib/beyond_canvas/engine.rb +7 -0
  61. data/lib/beyond_canvas/rails/routes.rb +27 -7
  62. data/lib/beyond_canvas/version.rb +1 -1
  63. data/lib/beyond_canvas/webhook_event_registration.rb +19 -0
  64. data/lib/beyond_canvas.rb +6 -4
  65. data/lib/generators/beyond_canvas/install/install_generator.rb +6 -0
  66. data/lib/generators/beyond_canvas/install/templates/beyond_canvas.rb.erb +38 -1
  67. data/lib/generators/beyond_canvas/model/model_generator.rb +3 -0
  68. data/lib/generators/beyond_canvas/webhook/templates/webhooks_controller.rb +22 -0
  69. data/lib/generators/beyond_canvas/webhook/webhook_generator.rb +15 -0
  70. data/lib/models/concerns/authentication.rb +10 -3
  71. data/lib/models/concerns/utils.rb +1 -1
  72. data/lib/models/concerns/webhook.rb +123 -0
  73. data/lib/models/shop.rb +1 -0
  74. metadata +68 -39
  75. data/app/assets/stylesheets/beyond_canvas/components/_comments.scss +0 -6
  76. data/app/views/beyond_canvas/shared/_modal.html.erb +0 -6
  77. data/config/routes.rb +0 -12
@@ -38,6 +38,12 @@ module BeyondCanvas
38
38
  def copy_locale
39
39
  copy_file '../../../../../config/locales/en.yml', 'config/locales/beyond_canvas.en.yml'
40
40
  end
41
+
42
+ def copy_public
43
+ Dir[File.join(BeyondCanvas::Engine.root, 'public', '*')].each do |file|
44
+ copy_file file, File.join(Rails.root, 'public', File.basename(file))
45
+ end
46
+ end
41
47
  end
42
48
  end
43
49
  end
@@ -33,6 +33,18 @@ BeyondCanvas.setup do |config|
33
33
  #
34
34
  # config.debug_mode = false
35
35
 
36
+ # Set an optional image to be send as email. Accepts any
37
+ # string supported by image_tag's source parameter. Overrides
38
+ # :email_logo.
39
+ #
40
+ # config.email_logo = 'logo.png' # Can't be svg
41
+
42
+ # ==> Authorization configuration
43
+
44
+ # Set if you want to retrieve the shop token using `grant_type=client_credentials`
45
+ # on development environment. Default is `grant_type=authorization_code`.
46
+ # config.client_credentials = false
47
+
36
48
  # ==> Site configuration
37
49
 
38
50
  # Set the title that is displayed on the main layout.
@@ -43,7 +55,7 @@ BeyondCanvas.setup do |config|
43
55
  # string supported by image_tag's source parameter or a SVG file. Overrides
44
56
  # :site_title.
45
57
  #
46
- # config.site_logo = 'logo.png'
58
+ # config.site_logo = 'logo.svg'
47
59
 
48
60
  # Set the favicon of the site.
49
61
  #
@@ -86,4 +98,29 @@ BeyondCanvas.setup do |config|
86
98
  # ==> Database encryption
87
99
 
88
100
  config.encryption_key = '<%= SecureRandom.hex(32) %>'
101
+
102
+ # Webhooks event listeners
103
+ # You can inculde the beyond
104
+ # By default Beyond canvas is listening for app.unistalled event.
105
+
106
+ # URL for get webhooks whe you are using develpment
107
+
108
+ # ==> Webhooks
109
+
110
+ # By default Beyond Canvas subscribes to `app.uninstalled` webhook event and
111
+ # handles the uninstallation of an app.
112
+ # If you want to subscribe to any of the existing webhooks (`product.created`,
113
+ # `product.updated`, `order.created`, `order.updated`) apart from
114
+ # `app.uninstalled` on app installation process, add them like follows:
115
+ #
116
+ # To subscribe to a single webhook event:
117
+ # config.register_webhook_event('product.created')
118
+ #
119
+ # To subscribe to multiple webhook events:
120
+ # config.register_webhook_events(['product.created', 'product.updated'])
121
+
122
+ # Set a URL where webhooks will call on non-production environments. You can
123
+ # make use of https://webhook.site/.
124
+ # On production environments, the URL will be automatically generated.
125
+ config.webhook_site_url = nil
89
126
  end
@@ -42,6 +42,9 @@ module BeyondCanvas
42
42
  t.text :encrypted_beyond_refresh_token, null: true
43
43
  t.text :encrypted_beyond_refresh_token_iv, null: true
44
44
 
45
+ t.text :encrypted_beyond_shared_secret, null: true
46
+ t.text :encrypted_beyond_shared_secret_iv, null: true
47
+
45
48
  RUBY
46
49
  end
47
50
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ class WebhooksController < BeyondCanvas::WebhooksController
4
+
5
+ private
6
+
7
+ # def handle_app_uninstalled(_data)
8
+ # end
9
+
10
+ # def handle_order_created(data)
11
+ # end
12
+
13
+ # def handle_order_updated(data)
14
+ # end
15
+
16
+ # def handle_product_created(data)
17
+ # end
18
+
19
+ # def handle_product_updated(data)
20
+ # end
21
+
22
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BeyondCanvas
4
+ module Generators
5
+ class WebhookGenerator < Rails::Generators::Base # :nodoc:
6
+ desc 'Creates an inherited Webhook controller in the app/controllers folder'
7
+
8
+ source_root File.expand_path('templates', __dir__)
9
+
10
+ def create_controller
11
+ template 'webhooks_controller.rb', "app/controllers/webhooks_controller.rb"
12
+ end
13
+ end
14
+ end
15
+ end
@@ -40,15 +40,22 @@ module BeyondCanvas
40
40
  # NOTE: This method is used during the shop creation, as it is the only point
41
41
  # we know about the authentication code
42
42
  #
43
- def authenticate(params_code)
43
+ def authenticate(code)
44
44
  session = BeyondApi::Session.new(api_url: beyond_api_url)
45
- session.token.create(params_code)
45
+
46
+ if Rails.env.development? && BeyondCanvas.configuration.client_credentials
47
+ session.token.client_credentials
48
+ else
49
+ session.token.authorization_code(code)
50
+ end
51
+
46
52
  update(beyond_access_token: session.access_token,
47
53
  beyond_refresh_token: session.refresh_token)
48
54
  end
49
55
 
50
56
  def authenticated?
51
- beyond_access_token.present? && beyond_refresh_token.present?
57
+ beyond_access_token.present? &&
58
+ (Rails.env.development? && BeyondCanvas.configuration.client_credentials || beyond_refresh_token.present?)
52
59
  end
53
60
  end
54
61
  end
@@ -30,7 +30,7 @@ module BeyondCanvas
30
30
  def refresh_token_if_needed
31
31
  token_timestamp = decoded_jwt['exp']
32
32
  current_timestamp = DateTime.now.to_i
33
- return unless token_timestamp - current_timestamp <= 3600
33
+ return unless token_timestamp - current_timestamp <= 0
34
34
 
35
35
  refresh_token
36
36
  end
@@ -0,0 +1,123 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BeyondCanvas
4
+ module Models
5
+ module Concerns
6
+ module Webhook # :nodoc:
7
+ extend ActiveSupport::Concern
8
+
9
+ included do
10
+ # Attribute accessor to generate webhook url
11
+ attr_accessor :http_host
12
+
13
+ ##############################################################################
14
+ # Encrypted attribute configuration
15
+ ##############################################################################
16
+
17
+ attr_encrypted :beyond_shared_secret, key: [BeyondCanvas.configuration.encryption_key].pack('H*')
18
+
19
+ ##############################################################################
20
+ # Validations
21
+ ##############################################################################
22
+
23
+ # Database fields
24
+
25
+ validates :beyond_shared_secret,
26
+ presence: {
27
+ unless: -> { encrypted_beyond_shared_secret_was.blank? }
28
+ }
29
+
30
+ ##############################################################################
31
+ # Instance methods
32
+ ##############################################################################
33
+
34
+ #
35
+ # Subscribes to Beyond webhooks:
36
+ # * Callback URI: {APP_URL}/shops/:id/beyond_webhook
37
+ #
38
+ def subscribe_to_beyond_webhooks
39
+ return if BeyondCanvas.configuration.webhook_events.to_a.empty?
40
+
41
+ # Unsubscribe from all existing Beyond webhooks
42
+ self.unsubscribe_from_all_beyond_webhooks
43
+ # Create and save a signer
44
+ self.create_signer
45
+ # Subscribe to webhooks
46
+ self.to_session.webhook_subscriptions.create(
47
+ callback_uri: beyond_webhook_url(self.id),
48
+ event_types: BeyondCanvas.configuration.webhook_events.to_a
49
+ )
50
+ end
51
+
52
+ #
53
+ # Unsubscribe from Beyond webhooks
54
+ #
55
+ def unsubscribe_from_all_beyond_webhooks
56
+ self.refresh_token_if_needed
57
+
58
+ session = self.to_session
59
+
60
+ session.webhook_subscriptions.all.dig(:embedded, :subscriptions)&.each do |webhook|
61
+ session.webhook_subscriptions.delete(webhook.dig(:id))
62
+ end
63
+ end
64
+
65
+ #
66
+ # Update suscription from Beyond webhooks
67
+ #
68
+ def update_suscription_of_beyond_webhooks(callback_uri = beyond_webhook_url(self.id))
69
+ self.refresh_token_if_needed
70
+
71
+ session = self.to_session
72
+
73
+ session.webhook_subscriptions.all.dig(:embedded, :subscriptions)&.each do |webhook|
74
+ session.webhook_subscriptions.update(webhook.dig(:id), callback_uri: callback_uri,
75
+ event_types: BeyondCanvas.configuration.webhook_events.to_a)
76
+ end
77
+ end
78
+
79
+
80
+ private
81
+
82
+ #
83
+ # Deletes all existing signers and creates and stores a new one
84
+ #
85
+ def create_signer
86
+ # Get all existing signer ids
87
+ signer_ids = self.to_session.signers.all.dig(:embedded, :signers)&.map(&:id)
88
+ # Remove the first signer if max number of signers reached to allow to create a new one
89
+ self.to_session.signers.delete(signer_ids.slice!(0)) if signer_ids.count == 5
90
+
91
+ # Create and save the new signer
92
+ signer = self.to_session.signers.create
93
+ self.update(beyond_shared_secret: signer.shared_secret)
94
+ # Delete old signers
95
+ signer_ids&.each { |signer_id| self.to_session.signers.delete(signer_id) }
96
+ end
97
+
98
+ #
99
+ # Generates the Beyond webhook url for a given shop_id. If Rails.env is development, it uses the WEBHOOK_SITE_URL
100
+ # environment variable. In any other case, it uses the request.env['HTTP_HOST'], that should be
101
+ # {APP_URL}/shops/:id/beyond_webhook
102
+ #
103
+ def beyond_webhook_url(shop_id)
104
+ if Rails.env.development?
105
+ obtain_webhook_site_url
106
+ else
107
+ Rails.application.routes.url_helpers.beyond_webhook_shop_url(shop_id, host: http_host || ENV['HTTP_HOST'],
108
+ protocol: 'https')
109
+ end
110
+ end
111
+
112
+ def obtain_webhook_site_url
113
+ if BeyondCanvas.configuration.webhook_site_url.blank?
114
+ raise 'Set BeyondCanvas.config.webhook_site_url environment variable for develpment'
115
+ end
116
+
117
+ BeyondCanvas.configuration.webhook_site_url
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
data/lib/models/shop.rb CHANGED
@@ -7,6 +7,7 @@ module BeyondCanvas
7
7
 
8
8
  include ::BeyondCanvas::Models::Concerns::Authentication
9
9
  include ::BeyondCanvas::Models::Concerns::Utils
10
+ include ::BeyondCanvas::Models::Concerns::Webhook
10
11
  end
11
12
  end
12
13
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beyond_canvas
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.0.pre
4
+ version: 0.23.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Unai Abrisketa
8
8
  - Kathia Salazar
9
9
  - German San Emeterio
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-12-01 00:00:00.000000000 Z
13
+ date: 2021-09-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: attr_encrypted
@@ -30,30 +30,30 @@ dependencies:
30
30
  name: beyond_api
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - "~>"
33
+ - - ">="
34
34
  - !ruby/object:Gem::Version
35
- version: '0.11'
35
+ version: 0.18.0.pre
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - "~>"
40
+ - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: '0.11'
42
+ version: 0.18.0.pre
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: bourbon
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '5.1'
49
+ version: '7.0'
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '5.1'
56
+ version: '7.0'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: colorize
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -111,81 +111,95 @@ dependencies:
111
111
  - !ruby/object:Gem::Version
112
112
  version: '4.4'
113
113
  - !ruby/object:Gem::Dependency
114
- name: premailer-rails
114
+ name: jwt
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
117
  - - "~>"
118
118
  - !ruby/object:Gem::Version
119
- version: '1.11'
119
+ version: '2.2'
120
120
  type: :runtime
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
124
  - - "~>"
125
125
  - !ruby/object:Gem::Version
126
- version: '1.11'
126
+ version: '2.2'
127
127
  - !ruby/object:Gem::Dependency
128
- name: sassc-rails
128
+ name: loaf
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
131
  - - "~>"
132
132
  - !ruby/object:Gem::Version
133
- version: '2.1'
133
+ version: '0.9'
134
134
  type: :runtime
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - "~>"
139
139
  - !ruby/object:Gem::Version
140
- version: '2.1'
140
+ version: '0.9'
141
141
  - !ruby/object:Gem::Dependency
142
- name: sprockets
142
+ name: premailer-rails
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
- - - ">="
146
- - !ruby/object:Gem::Version
147
- version: '3.0'
148
- - - "<"
145
+ - - "~>"
149
146
  - !ruby/object:Gem::Version
150
- version: '4.1'
147
+ version: '1.11'
151
148
  type: :runtime
152
149
  prerelease: false
153
150
  version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - "~>"
153
+ - !ruby/object:Gem::Version
154
+ version: '1.11'
155
+ - !ruby/object:Gem::Dependency
156
+ name: rails
157
+ requirement: !ruby/object:Gem::Requirement
154
158
  requirements:
155
159
  - - ">="
156
160
  - !ruby/object:Gem::Version
157
- version: '3.0'
158
- - - "<"
161
+ version: 5.1.7
162
+ type: :runtime
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ">="
159
167
  - !ruby/object:Gem::Version
160
- version: '4.1'
168
+ version: 5.1.7
161
169
  - !ruby/object:Gem::Dependency
162
- name: loaf
170
+ name: sassc-rails
163
171
  requirement: !ruby/object:Gem::Requirement
164
172
  requirements:
165
173
  - - "~>"
166
174
  - !ruby/object:Gem::Version
167
- version: '0.9'
175
+ version: '2.1'
168
176
  type: :runtime
169
177
  prerelease: false
170
178
  version_requirements: !ruby/object:Gem::Requirement
171
179
  requirements:
172
180
  - - "~>"
173
181
  - !ruby/object:Gem::Version
174
- version: '0.9'
182
+ version: '2.1'
175
183
  - !ruby/object:Gem::Dependency
176
- name: jwt
184
+ name: sprockets
177
185
  requirement: !ruby/object:Gem::Requirement
178
186
  requirements:
179
- - - "~>"
187
+ - - ">="
180
188
  - !ruby/object:Gem::Version
181
- version: '2.2'
189
+ version: '3.0'
190
+ - - "<"
191
+ - !ruby/object:Gem::Version
192
+ version: '4.1'
182
193
  type: :runtime
183
194
  prerelease: false
184
195
  version_requirements: !ruby/object:Gem::Requirement
185
196
  requirements:
186
- - - "~>"
197
+ - - ">="
187
198
  - !ruby/object:Gem::Version
188
- version: '2.2'
199
+ version: '3.0'
200
+ - - "<"
201
+ - !ruby/object:Gem::Version
202
+ version: '4.1'
189
203
  - !ruby/object:Gem::Dependency
190
204
  name: rubocop-rails
191
205
  requirement: !ruby/object:Gem::Requirement
@@ -215,10 +229,12 @@ files:
215
229
  - README.md
216
230
  - Rakefile
217
231
  - app/assets/config/beyond_canvas_manifest.js
232
+ - app/assets/images/icons/adblocker.svg
218
233
  - app/assets/images/icons/arrow_right.svg
219
234
  - app/assets/images/icons/checkbox_checked.svg
220
235
  - app/assets/images/icons/checkbox_unchecked.svg
221
236
  - app/assets/images/icons/close.svg
237
+ - app/assets/images/icons/external_link.svg
222
238
  - app/assets/images/icons/file.svg
223
239
  - app/assets/images/icons/flash_checkbox.svg
224
240
  - app/assets/images/icons/flash_close.svg
@@ -228,6 +244,9 @@ files:
228
244
  - app/assets/images/icons/home.svg
229
245
  - app/assets/images/icons/radiobutton_checked.svg
230
246
  - app/assets/images/icons/radiobutton_unchecked.svg
247
+ - app/assets/images/icons/toggle.svg
248
+ - app/assets/images/icons/toggle_checked.svg
249
+ - app/assets/images/icons/toggle_unchecked.svg
231
250
  - app/assets/javascripts/beyond_canvas/base.js
232
251
  - app/assets/stylesheets/beyond_canvas/base.scss
233
252
  - app/assets/stylesheets/beyond_canvas/components/_action_bar.scss
@@ -236,7 +255,6 @@ files:
236
255
  - app/assets/stylesheets/beyond_canvas/components/_buttons.scss
237
256
  - app/assets/stylesheets/beyond_canvas/components/_cards.scss
238
257
  - app/assets/stylesheets/beyond_canvas/components/_collapse.scss
239
- - app/assets/stylesheets/beyond_canvas/components/_comments.scss
240
258
  - app/assets/stylesheets/beyond_canvas/components/_debug.scss
241
259
  - app/assets/stylesheets/beyond_canvas/components/_flash.scss
242
260
  - app/assets/stylesheets/beyond_canvas/components/_forms.scss
@@ -256,20 +274,26 @@ files:
256
274
  - app/assets/stylesheets/beyond_canvas/components/_sidebar.scss
257
275
  - app/assets/stylesheets/beyond_canvas/components/_spinner.scss
258
276
  - app/assets/stylesheets/beyond_canvas/components/_statuses.scss
277
+ - app/assets/stylesheets/beyond_canvas/components/_step_list.scss
259
278
  - app/assets/stylesheets/beyond_canvas/components/_tables.scss
260
279
  - app/assets/stylesheets/beyond_canvas/components/_texts.scss
261
280
  - app/assets/stylesheets/beyond_canvas/components/_titles.scss
262
281
  - app/assets/stylesheets/beyond_canvas/mailer.scss
282
+ - app/assets/stylesheets/beyond_canvas/settings/_base_variables.scss
263
283
  - app/assets/stylesheets/beyond_canvas/settings/_breakpoints.scss
284
+ - app/assets/stylesheets/beyond_canvas/settings/_constant_variables.scss
285
+ - app/assets/stylesheets/beyond_canvas/settings/_custom_variables.scss
264
286
  - app/assets/stylesheets/beyond_canvas/settings/_reset_css.scss
265
287
  - app/assets/stylesheets/beyond_canvas/settings/_typography.scss
266
- - app/assets/stylesheets/beyond_canvas/settings/_variables.scss
267
288
  - app/assets/stylesheets/beyond_canvas/utilities/_functions.scss
268
289
  - app/assets/stylesheets/beyond_canvas/utilities/_mixins.scss
269
290
  - app/controllers/beyond_canvas/application_controller.rb
270
291
  - app/controllers/beyond_canvas/authentications_controller.rb
271
292
  - app/controllers/beyond_canvas/system_controller.rb
293
+ - app/controllers/beyond_canvas/webhooks_controller.rb
294
+ - app/controllers/concerns/beyond_canvas/add_blocker_check.rb
272
295
  - app/controllers/concerns/beyond_canvas/authentication.rb
296
+ - app/controllers/concerns/beyond_canvas/custom_styles.rb
273
297
  - app/controllers/concerns/beyond_canvas/locale_management.rb
274
298
  - app/controllers/concerns/beyond_canvas/request_validation.rb
275
299
  - app/controllers/concerns/beyond_canvas/status_codes.rb
@@ -279,6 +303,7 @@ files:
279
303
  - app/helpers/beyond_canvas/cockpit_app_helper.rb
280
304
  - app/helpers/beyond_canvas/controller_helper.rb
281
305
  - app/helpers/beyond_canvas/debug_helper.rb
306
+ - app/helpers/beyond_canvas/form_tag_helper.rb
282
307
  - app/helpers/beyond_canvas/locale_switch_helper.rb
283
308
  - app/helpers/beyond_canvas/statuses_helper.rb
284
309
  - app/javascript/beyond_canvas/base.js
@@ -300,15 +325,15 @@ files:
300
325
  - app/views/beyond_canvas/shared/_locales.html.erb
301
326
  - app/views/beyond_canvas/shared/_logo.html.erb
302
327
  - app/views/beyond_canvas/shared/_menu.html.erb
303
- - app/views/beyond_canvas/shared/_modal.html.erb
304
328
  - app/views/beyond_canvas/shared/_sidebar.html.erb
305
329
  - app/views/layouts/beyond_canvas/application.html.erb
306
330
  - app/views/layouts/beyond_canvas/mailer.html.erb
307
331
  - app/views/layouts/beyond_canvas/public.html.erb
332
+ - config/initializers/beyond_canvas/constants.rb
308
333
  - config/initializers/beyond_canvas/filter_parameter_logging.rb
309
334
  - config/initializers/beyond_canvas/form_utils.rb
335
+ - config/initializers/beyond_canvas/session_store.rb
310
336
  - config/locales/en.yml
311
- - config/routes.rb
312
337
  - lib/beyond_canvas.rb
313
338
  - lib/beyond_canvas/asset_registration.rb
314
339
  - lib/beyond_canvas/configuration.rb
@@ -317,6 +342,7 @@ files:
317
342
  - lib/beyond_canvas/parameter_sanitizer.rb
318
343
  - lib/beyond_canvas/rails/routes.rb
319
344
  - lib/beyond_canvas/version.rb
345
+ - lib/beyond_canvas/webhook_event_registration.rb
320
346
  - lib/generators/beyond_canvas/assets/assets_generator.rb
321
347
  - lib/generators/beyond_canvas/assets/templates/beyond_canvas.js
322
348
  - lib/generators/beyond_canvas/assets/templates/beyond_canvas.scss
@@ -333,18 +359,21 @@ files:
333
359
  - lib/generators/beyond_canvas/model/templates/migration.erb
334
360
  - lib/generators/beyond_canvas/model/templates/model.erb
335
361
  - lib/generators/beyond_canvas/views/views_generator.rb
362
+ - lib/generators/beyond_canvas/webhook/templates/webhooks_controller.rb
363
+ - lib/generators/beyond_canvas/webhook/webhook_generator.rb
336
364
  - lib/generators/beyond_canvas/webpacker/plugins/jquery.js
337
365
  - lib/generators/beyond_canvas/webpacker/templates/beyond_canvas.js
338
366
  - lib/generators/beyond_canvas/webpacker/templates/beyond_canvas.scss
339
367
  - lib/generators/beyond_canvas/webpacker/webpacker_generator.rb
340
368
  - lib/models/concerns/authentication.rb
341
369
  - lib/models/concerns/utils.rb
370
+ - lib/models/concerns/webhook.rb
342
371
  - lib/models/shop.rb
343
372
  homepage: https://github.com/ePages-de/beyond_canvas
344
373
  licenses:
345
374
  - MIT
346
375
  metadata: {}
347
- post_install_message:
376
+ post_install_message:
348
377
  rdoc_options: []
349
378
  require_paths:
350
379
  - lib
@@ -359,8 +388,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
359
388
  - !ruby/object:Gem::Version
360
389
  version: 1.3.1
361
390
  requirements: []
362
- rubygems_version: 3.1.4
363
- signing_key:
391
+ rubygems_version: 3.1.2
392
+ signing_key:
364
393
  specification_version: 4
365
394
  summary: Open-source framework that provides CSS styles
366
395
  test_files: []