shopify_app 11.0.0 → 11.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +32 -0
- data/README.md +35 -21
- data/config/locales/cs.yml +9 -9
- data/config/locales/de.yml +3 -3
- data/config/locales/es.yml +1 -1
- data/config/locales/nl.yml +1 -1
- data/config/locales/pt-BR.yml +7 -8
- data/config/locales/zh-CN.yml +1 -1
- data/docs/Releasing.md +0 -1
- data/karma.conf.js +1 -0
- data/lib/generators/shopify_app/install/install_generator.rb +30 -13
- data/lib/generators/shopify_app/install/templates/embedded_app.html.erb +5 -1
- data/lib/generators/shopify_app/install/templates/shopify_app.rb +5 -2
- data/lib/generators/shopify_app/install/templates/shopify_app_index.js +2 -0
- data/lib/generators/shopify_app/install/templates/user_agent.rb +5 -0
- data/lib/shopify_app.rb +41 -29
- data/lib/shopify_app/configuration.rb +4 -0
- data/lib/shopify_app/utils.rb +7 -0
- data/lib/shopify_app/version.rb +1 -1
- data/package-lock.json +2048 -1707
- data/package.json +7 -8
- data/shopify_app.gemspec +6 -3
- data/yarn.lock +1570 -1249
- metadata +55 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15eca48ef29e1c972ae2444aa0f87d0174a86fe429a5f006fb1dcad801040f89
|
4
|
+
data.tar.gz: f91ad649d3b251111a6b48ec0545e4716a18540e3efbe18c89bd8f36becd5d1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16bebc85b8c03bc330c583d43310a33cb0dfa789087cc84a73722ffa02de045113ccdf69a25f1bb975ceae35ad60b6b938b80e57972bf654fc5d4d79299e4fde
|
7
|
+
data.tar.gz: 874b833abb3c157aecebecb62d2ecba4f886af24d476f6c55826cca1eec023f6109ec66b33ab2661c6dfab9a9db3da8b247d80beb39a4e8187066e0bae1c7acc
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,35 @@
|
|
1
|
+
11.3.0
|
2
|
+
-----
|
3
|
+
* Update assets to be compatible with Rails 6 [#808](https://github.com/Shopify/shopify_app/pull/808)
|
4
|
+
|
5
|
+
11.2.1
|
6
|
+
-----
|
7
|
+
* Adds ngrok whitelist in development [#802](https://github.com/Shopify/shopify_app/pull/802)
|
8
|
+
|
9
|
+
11.2.0
|
10
|
+
-----
|
11
|
+
|
12
|
+
* Bump omniauth-shopify-oauth2 gem to v2.2.0
|
13
|
+
|
14
|
+
11.1.0
|
15
|
+
-----
|
16
|
+
|
17
|
+
* Add Webmock and Pry as development dependencies
|
18
|
+
* Update install generator to leverage updates to ShopifyAPI::ApiVersion add in v8.0.0 of the shopify_api gem [#790](https://github.com/Shopify/shopify_app/pull/790)
|
19
|
+
|
20
|
+
|
21
|
+
11.0.2
|
22
|
+
-----
|
23
|
+
|
24
|
+
* Lock shopify_api gem dependency to `~> 7.0` from `>= 7.0.0`.
|
25
|
+
* Remove flakey JS Tests
|
26
|
+
* bump sqlite3 development dependency to `~>1.4` from `~> 1.3.6`. [#789](https://github.com/Shopify/shopify_app/pull/789)
|
27
|
+
|
28
|
+
11.0.1
|
29
|
+
-----
|
30
|
+
|
31
|
+
* Add dotenv-rails gem to install generator, so apps fetch credentials from `.env` by default: [#776](https://github.com/Shopify/shopify_app/pull/776)
|
32
|
+
|
1
33
|
11.0.0
|
2
34
|
-----
|
3
35
|
|
data/README.md
CHANGED
@@ -26,7 +26,6 @@ Table of Contents
|
|
26
26
|
* [App Proxy Controller Generator](#app-proxy-controller-generator)
|
27
27
|
* [Controllers, Routes and Views](#controllers-routes-and-views)
|
28
28
|
* [**Mounting the Engine**](#mounting-the-engine)
|
29
|
-
* [**Managing Api Keys**](#managing-api-keys)
|
30
29
|
* [**WebhooksManager**](#webhooksmanager)
|
31
30
|
* [**ScripttagsManager**](#scripttagsmanager)
|
32
31
|
* [**AfterAuthenticate Job**](#afterauthenticate-job)
|
@@ -104,11 +103,22 @@ Generators
|
|
104
103
|
The default generator will run the `install`, `shop`, and `home_controller` generators. This is the recommended way to start your app.
|
105
104
|
|
106
105
|
```sh
|
107
|
-
$ rails generate shopify_app
|
106
|
+
$ rails generate shopify_app
|
108
107
|
```
|
109
108
|
|
110
109
|
After running the generator, you will need to run `rake db:migrate` to add tables to your database. You can start your app with `bundle exec rails server` and install your app by visiting localhost.
|
111
110
|
|
111
|
+
### API Keys
|
112
|
+
|
113
|
+
The default and install generators have been updated to source Shopify API key and secret from a `.env` file, which you will need to create with the following format:
|
114
|
+
|
115
|
+
```
|
116
|
+
SHOPIFY_API_KEY=your api key
|
117
|
+
SHOPIFY_API_SECRET=your api secret
|
118
|
+
```
|
119
|
+
|
120
|
+
These values can be found on the "App Setup" page in the [Shopify Partners Dashboard][dashboard].
|
121
|
+
|
112
122
|
### Install Generator
|
113
123
|
|
114
124
|
```sh
|
@@ -116,7 +126,7 @@ $ rails generate shopify_app:install
|
|
116
126
|
|
117
127
|
# or optionally with arguments:
|
118
128
|
|
119
|
-
$ rails generate shopify_app:install
|
129
|
+
$ rails generate shopify_app:install
|
120
130
|
```
|
121
131
|
|
122
132
|
Other options include:
|
@@ -244,21 +254,6 @@ The current Shopify user will be stored in the rails session at `session[:shopif
|
|
244
254
|
|
245
255
|
This will change the type of token that Shopify returns and it will only be valid for a short time. Read more about `Online access` [here](https://help.shopify.com/api/getting-started/authentication/oauth). Note that this means you won't be able to use this token to respond to Webhooks.
|
246
256
|
|
247
|
-
Managing Api Keys
|
248
|
-
-----------------
|
249
|
-
|
250
|
-
The `install` generator places your Api credentials directly into the shopify_app initializer which is convenient and fine for development but once your app goes into production **your api credentials should not be in source control**. When we develop apps we keep our keys in environment variables so a production shopify_app initializer would look like this:
|
251
|
-
|
252
|
-
```ruby
|
253
|
-
ShopifyApp.configure do |config|
|
254
|
-
config.application_name = 'Your app name' # Optional
|
255
|
-
config.api_key = ENV['SHOPIFY_CLIENT_API_KEY']
|
256
|
-
config.secret = ENV['SHOPIFY_CLIENT_API_SECRET']
|
257
|
-
config.scope = 'read_customers, write_products'
|
258
|
-
config.embedded_app = true
|
259
|
-
end
|
260
|
-
```
|
261
|
-
|
262
257
|
|
263
258
|
WebhooksManager
|
264
259
|
---------------
|
@@ -439,7 +434,7 @@ class ReviewsController < ApplicationController
|
|
439
434
|
end
|
440
435
|
```
|
441
436
|
|
442
|
-
Create your app proxy url in the [Shopify Partners' Dashboard]
|
437
|
+
Create your app proxy url in the [Shopify Partners' Dashboard][dashboard], making sure to point it to `https://your_app_website.com/app_proxy`.
|
443
438
|
![Creating an App Proxy](/images/app-proxy-screenshot.png)
|
444
439
|
|
445
440
|
Troubleshooting
|
@@ -462,6 +457,23 @@ Questions or problems?
|
|
462
457
|
- [Ask questions!](https://ecommerce.shopify.com/c/shopify-apis-and-technology)
|
463
458
|
- [Read the docs!](https://help.shopify.com/api/guides)
|
464
459
|
|
460
|
+
Rails 6 Compatibility
|
461
|
+
---------------------------
|
462
|
+
|
463
|
+
### Disable Webpacker
|
464
|
+
If you are using sprockets in rails 6 or want to generate a shopify_app without webpacker run the install task by running
|
465
|
+
|
466
|
+
```
|
467
|
+
SHOPIFY_APP_DISABLE_WEBPACKER=1 rails generate shopify_app
|
468
|
+
```
|
469
|
+
|
470
|
+
and then in your ShopifyApp configuration block, add
|
471
|
+
|
472
|
+
```
|
473
|
+
ShopifyApp.configure do |config|
|
474
|
+
config.disable_webpacker = true
|
475
|
+
end
|
476
|
+
```
|
465
477
|
|
466
478
|
Upgrading from 8.6 to 9.0.0
|
467
479
|
---------------------------
|
@@ -476,7 +488,7 @@ config.api_version = '2019-04'
|
|
476
488
|
|
477
489
|
### Session storage change
|
478
490
|
|
479
|
-
You will need to add an `api_version` method to you session storage object. The default
|
491
|
+
You will need to add an `api_version` method to you session storage object. The default implementation for this is.
|
480
492
|
```ruby
|
481
493
|
def api_version
|
482
494
|
ShopifyApp.configuration.api_version
|
@@ -485,7 +497,7 @@ end
|
|
485
497
|
|
486
498
|
### Generated file change
|
487
499
|
|
488
|
-
`embedded_app.html.erb` the
|
500
|
+
`embedded_app.html.erb` the usage of `shop_session.url` needs to be changed to `shop_session.domain`
|
489
501
|
```erb
|
490
502
|
<script type="text/javascript">
|
491
503
|
ShopifyApp.init({
|
@@ -515,3 +527,5 @@ is changed to
|
|
515
527
|
### ShopifyAPI changes
|
516
528
|
|
517
529
|
You will need to also follow the ShopifyAPI [upgrade guide](https://github.com/Shopify/shopify_api/blob/master/README.md#-breaking-change-notice-for-version-700-) to ensure your app is ready to work with api versioning.
|
530
|
+
|
531
|
+
[dashboard]:https://partners.shopify.com
|
data/config/locales/cs.yml
CHANGED
@@ -4,20 +4,20 @@ cs:
|
|
4
4
|
could_not_log_in: Nelze se přihlásit do obchodu Shopify
|
5
5
|
invalid_shop_url: Neplatná doména obchodu
|
6
6
|
enable_cookies_heading: Zapnout soubory cookie z aplikace %{app}
|
7
|
-
enable_cookies_body: Pokud
|
7
|
+
enable_cookies_body: Pokud chcete v Shopify používat aplikaci %{app}, musíte soubory
|
8
8
|
cookie v tomto prohlížeči povolit ručně.
|
9
|
-
enable_cookies_footer: Soubory cookie umožňují, aby
|
10
|
-
uchování preferencí a osobních údajů. Jejich platnost vyprší po 30 dnech.
|
9
|
+
enable_cookies_footer: Soubory cookie umožňují, aby vás aplikace ověřila pomocí
|
10
|
+
dočasného uchování preferencí a osobních údajů. Jejich platnost vyprší po 30 dnech.
|
11
11
|
enable_cookies_action: Povolit soubory cookie
|
12
|
-
top_level_interaction_heading:
|
13
|
-
top_level_interaction_body:
|
14
|
-
je %{app}, nejdřív vyžádaly přístup k souborům cookie, než je pro
|
12
|
+
top_level_interaction_heading: Váš prohlížeč potřebuje ověřit aplikaci %{app}
|
13
|
+
top_level_interaction_body: Váš prohlížeč vyžaduje, aby si od vás aplikace, jako
|
14
|
+
je %{app}, nejdřív vyžádaly přístup k souborům cookie, než je pro vás Shopify
|
15
15
|
otevře.
|
16
16
|
top_level_interaction_action: Pokračovat
|
17
17
|
request_storage_access_heading: Aplikace %{app} potřebuje získat přístup k souborům
|
18
18
|
cookie
|
19
|
-
request_storage_access_body: Tato aplikace
|
20
|
-
uchování
|
21
|
-
Pokračovat a
|
19
|
+
request_storage_access_body: Tato aplikace vám umožní ověření prostřednictvím dočasného
|
20
|
+
uchování vašich osobních údajů. Pokud chcete používat tuto aplikaci, klikněte
|
21
|
+
na tlačítko Pokračovat a povolte soubory cookie.
|
22
22
|
request_storage_access_footer: Platnost souborů cookie vyprší po 30 dnech.
|
23
23
|
request_storage_access_action: Pokračovat
|
data/config/locales/de.yml
CHANGED
@@ -7,7 +7,7 @@ de:
|
|
7
7
|
enable_cookies_body: Sie müssen Cookies in diesem Browser manuell aktivieren, um
|
8
8
|
%{app} in Shopify verwenden zu können.
|
9
9
|
enable_cookies_footer: Mithilfe von Cookies kann die App Sie authentifizieren, indem
|
10
|
-
Ihre Einstellungen und
|
10
|
+
Ihre Einstellungen und personenbezogenen Daten vorübergehend gespeichert werden.
|
11
11
|
Sie laufen nach 30 Tagen ab.
|
12
12
|
enable_cookies_action: Cookies aktivieren
|
13
13
|
top_level_interaction_heading: Ihr Browser muss %{app} authentifizieren
|
@@ -16,7 +16,7 @@ de:
|
|
16
16
|
top_level_interaction_action: Weiter
|
17
17
|
request_storage_access_heading: "%{app} braucht Zugriff auf Cookies"
|
18
18
|
request_storage_access_body: Damit kann die App Sie authentifizieren, indem Ihre
|
19
|
-
Einstellungen und
|
20
|
-
|
19
|
+
Einstellungen und personenbezogenen Daten vorübergehend gespeichert werden. Klicken
|
20
|
+
Sie auf "Weiter" und erlauben Sie den Cookies, die App zu verwenden.
|
21
21
|
request_storage_access_footer: Cookies laufen nach 30 Tagen ab.
|
22
22
|
request_storage_access_action: Weiter
|
data/config/locales/es.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
es:
|
3
3
|
logged_out: Cerrar sesión
|
4
|
-
could_not_log_in: No se pudo iniciar sesión en tu tienda
|
4
|
+
could_not_log_in: No se pudo iniciar sesión en tu tienda Shopify
|
5
5
|
invalid_shop_url: Dominio de tienda inválido
|
6
6
|
enable_cookies_heading: Habilitar cookies de %{app}
|
7
7
|
enable_cookies_body: Debes habilitar manualmente las cookies en este navegador para
|
data/config/locales/nl.yml
CHANGED
data/config/locales/pt-BR.yml
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
---
|
2
2
|
pt-BR:
|
3
|
-
logged_out: Você saiu
|
3
|
+
logged_out: Você saiu.
|
4
4
|
could_not_log_in: Não foi possível fazer login na Shopify store
|
5
5
|
invalid_shop_url: Domínio de loja inválido
|
6
|
-
enable_cookies_heading:
|
7
|
-
enable_cookies_body: Você deve
|
8
|
-
usar %{app} dentro da Shopify.
|
9
|
-
enable_cookies_footer: Os cookies permitem que o
|
10
|
-
|
11
|
-
|
12
|
-
enable_cookies_action: Ativar cookies
|
6
|
+
enable_cookies_heading: Habilitar cookies de %{app}
|
7
|
+
enable_cookies_body: Você deve habilitar manualmente os cookies neste navegador
|
8
|
+
para usar %{app} dentro da Shopify.
|
9
|
+
enable_cookies_footer: Os cookies permitem que o app o autentique armazenando temporariamente
|
10
|
+
suas preferências e dados pessoais. Eles expiram depois de 30 dias.
|
11
|
+
enable_cookies_action: Habilitar cookies
|
13
12
|
top_level_interaction_heading: Seu navegador precisa autenticar %{app}
|
14
13
|
top_level_interaction_body: Seu navegador exige que apps como o %{app} consultem
|
15
14
|
você sobre o acesso a cookies antes que a Shopify os abra.
|
data/config/locales/zh-CN.yml
CHANGED
data/docs/Releasing.md
CHANGED
@@ -3,7 +3,6 @@ Releasing ShopifyApp
|
|
3
3
|
1. Check the Semantic Versioning page for info on how to version the new release: http://semver.org
|
4
4
|
2. Create a pull request with the following changes:
|
5
5
|
* Update the version of ShopifyApp in lib/shopify_app/version.rb
|
6
|
-
* Update the version in package.json, then run `npm install` to make sure the lock file gets updated
|
7
6
|
* Add a CHANGELOG entry for the new release with the date
|
8
7
|
* Change the title of the PR to something like: "Packaging for release X.Y.Z"
|
9
8
|
3. Merge your pull request
|
data/karma.conf.js
CHANGED
@@ -7,20 +7,18 @@ module ShopifyApp
|
|
7
7
|
source_root File.expand_path('../templates', __FILE__)
|
8
8
|
|
9
9
|
class_option :application_name, type: :array, default: ['My', 'Shopify', 'App']
|
10
|
-
class_option :api_key, type: :string, default: '<api_key>'
|
11
|
-
class_option :secret, type: :string, default: '<secret>'
|
12
|
-
class_option :old_secret, type: :string, default: '<old_secret>'
|
13
10
|
class_option :scope, type: :array, default: ['read_products']
|
14
11
|
class_option :embedded, type: :string, default: 'true'
|
15
|
-
class_option :api_version, type: :string, default:
|
12
|
+
class_option :api_version, type: :string, default: nil
|
13
|
+
|
14
|
+
def add_dotenv_gem
|
15
|
+
gem('dotenv-rails', group: [:test, :development])
|
16
|
+
end
|
16
17
|
|
17
18
|
def create_shopify_app_initializer
|
18
19
|
@application_name = format_array_argument(options['application_name'])
|
19
|
-
@api_key = options['api_key']
|
20
|
-
@secret = options['secret']
|
21
|
-
@old_secret = options['old_secret']
|
22
20
|
@scope = format_array_argument(options['scope'])
|
23
|
-
@api_version = options['api_version']
|
21
|
+
@api_version = options['api_version'] || ShopifyAPI::Meta.admin_versions.find(&:latest_supported).handle
|
24
22
|
|
25
23
|
template 'shopify_app.rb', 'config/initializers/shopify_app.rb'
|
26
24
|
end
|
@@ -42,19 +40,38 @@ module ShopifyApp
|
|
42
40
|
end
|
43
41
|
|
44
42
|
def create_embedded_app_layout
|
45
|
-
|
46
|
-
|
43
|
+
return unless embedded_app?
|
44
|
+
|
45
|
+
copy_file 'embedded_app.html.erb', 'app/views/layouts/embedded_app.html.erb'
|
46
|
+
copy_file '_flash_messages.html.erb', 'app/views/layouts/_flash_messages.html.erb'
|
47
|
+
|
48
|
+
if ShopifyApp.use_webpacker?
|
49
|
+
copy_file('shopify_app.js', 'app/javascript/shopify_app/shopify_app.js')
|
50
|
+
copy_file('flash_messages.js', 'app/javascript/shopify_app/flash_messages.js')
|
51
|
+
copy_file('shopify_app_index.js', 'app/javascript/shopify_app/index.js')
|
52
|
+
append_to_file('app/javascript/packs/application.js', 'require("shopify_app")')
|
53
|
+
else
|
47
54
|
copy_file('shopify_app.js', 'app/assets/javascripts/shopify_app.js')
|
48
|
-
copy_file
|
49
|
-
copy_file('flash_messages.js',
|
50
|
-
'app/assets/javascripts/flash_messages.js')
|
55
|
+
copy_file('flash_messages.js', 'app/assets/javascripts/flash_messages.js')
|
51
56
|
end
|
52
57
|
end
|
53
58
|
|
59
|
+
def create_user_agent_initializer
|
60
|
+
template 'user_agent.rb', 'config/initializers/user_agent.rb'
|
61
|
+
end
|
62
|
+
|
54
63
|
def mount_engine
|
55
64
|
route "mount ShopifyApp::Engine, at: '/'"
|
56
65
|
end
|
57
66
|
|
67
|
+
def insert_hosts_into_development_config
|
68
|
+
inject_into_file(
|
69
|
+
'config/environments/development.rb',
|
70
|
+
" config.hosts << /\\h+.ngrok.io/\n",
|
71
|
+
after: "Rails.application.configure do\n"
|
72
|
+
)
|
73
|
+
end
|
74
|
+
|
58
75
|
private
|
59
76
|
|
60
77
|
def embedded_app?
|
@@ -5,7 +5,11 @@
|
|
5
5
|
<% application_name = ShopifyApp.configuration.application_name %>
|
6
6
|
<title><%= application_name %></title>
|
7
7
|
<%= stylesheet_link_tag 'application' %>
|
8
|
-
|
8
|
+
<% if ShopifyApp.use_webpacker? %>
|
9
|
+
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
|
10
|
+
<% else %>
|
11
|
+
<%= javascript_include_tag 'application', "data-turbolinks-track" => true %>
|
12
|
+
<% end %>
|
9
13
|
<%= csrf_meta_tags %>
|
10
14
|
</head>
|
11
15
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
ShopifyApp.configure do |config|
|
2
2
|
config.application_name = "<%= @application_name %>"
|
3
|
-
config.api_key =
|
4
|
-
config.secret =
|
3
|
+
config.api_key = ENV['SHOPIFY_API_KEY']
|
4
|
+
config.secret = ENV['SHOPIFY_API_SECRET']
|
5
5
|
config.old_secret = "<%= @old_secret %>"
|
6
6
|
config.scope = "<%= @scope %>" # Consult this page for more scope options:
|
7
7
|
# https://help.shopify.com/en/api/getting-started/authentication/oauth/scopes
|
@@ -10,3 +10,6 @@ ShopifyApp.configure do |config|
|
|
10
10
|
config.api_version = "<%= @api_version %>"
|
11
11
|
config.session_repository = ShopifyApp::InMemorySessionStore
|
12
12
|
end
|
13
|
+
|
14
|
+
# ShopifyApp::Utils.fetch_known_api_versions # Uncomment to fetch known api versions from shopify servers on boot
|
15
|
+
# ShopifyAPI::ApiVersion.version_lookup_mode = :raise_on_unknown # Uncomment to raise an error if attempting to use an api version that was not previously known
|
data/lib/shopify_app.rb
CHANGED
@@ -4,32 +4,44 @@ require 'shopify_app/version'
|
|
4
4
|
require 'shopify_api'
|
5
5
|
require 'omniauth-shopify-oauth2'
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
require 'shopify_app/
|
20
|
-
|
21
|
-
|
22
|
-
require 'shopify_app/
|
23
|
-
|
24
|
-
#
|
25
|
-
require 'shopify_app/
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
require 'shopify_app/
|
30
|
-
require 'shopify_app/
|
31
|
-
|
32
|
-
|
33
|
-
require 'shopify_app/
|
34
|
-
|
35
|
-
|
7
|
+
module ShopifyApp
|
8
|
+
def self.rails6?
|
9
|
+
Rails::VERSION::MAJOR >= 6
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.use_webpacker?
|
13
|
+
rails6? &&
|
14
|
+
defined?(Webpacker) == 'constant' &&
|
15
|
+
!configuration.disable_webpacker
|
16
|
+
end
|
17
|
+
|
18
|
+
# config
|
19
|
+
require 'shopify_app/configuration'
|
20
|
+
|
21
|
+
# engine
|
22
|
+
require 'shopify_app/engine'
|
23
|
+
|
24
|
+
# utils
|
25
|
+
require 'shopify_app/utils'
|
26
|
+
|
27
|
+
# controller concerns
|
28
|
+
require 'shopify_app/controller_concerns/localization'
|
29
|
+
require 'shopify_app/controller_concerns/itp'
|
30
|
+
require 'shopify_app/controller_concerns/login_protection'
|
31
|
+
require 'shopify_app/controller_concerns/embedded_app'
|
32
|
+
require 'shopify_app/controller_concerns/webhook_verification'
|
33
|
+
require 'shopify_app/controller_concerns/app_proxy_verification'
|
34
|
+
|
35
|
+
# jobs
|
36
|
+
require 'shopify_app/jobs/webhooks_manager_job'
|
37
|
+
require 'shopify_app/jobs/scripttags_manager_job'
|
38
|
+
|
39
|
+
# managers
|
40
|
+
require 'shopify_app/managers/webhooks_manager'
|
41
|
+
require 'shopify_app/managers/scripttags_manager'
|
42
|
+
|
43
|
+
# session
|
44
|
+
require 'shopify_app/session/session_storage'
|
45
|
+
require 'shopify_app/session/session_repository'
|
46
|
+
require 'shopify_app/session/in_memory_session_store'
|
47
|
+
end
|