disco_app 0.16.0 → 0.16.1.pre.sidekiq.pre.6.pre.release

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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/app/.DS_Store +0 -0
  3. data/app/clients/disco_app/graphql_client.rb +85 -0
  4. data/app/controllers/disco_app/flow/actions_controller.rb +7 -0
  5. data/app/controllers/disco_app/flow/concerns/actions_controller.rb +47 -0
  6. data/app/jobs/disco_app/flow/process_action_job.rb +11 -0
  7. data/app/jobs/disco_app/flow/process_trigger_job.rb +11 -0
  8. data/app/jobs/disco_app/shop_job.rb +8 -9
  9. data/app/models/disco_app/concerns/shop.rb +4 -5
  10. data/app/models/disco_app/flow/action.rb +7 -0
  11. data/app/models/disco_app/flow/concerns/action.rb +24 -0
  12. data/app/models/disco_app/flow/concerns/trigger.rb +24 -0
  13. data/app/models/disco_app/flow/trigger.rb +7 -0
  14. data/app/services/disco_app/flow/create_action.rb +35 -0
  15. data/app/services/disco_app/flow/create_trigger.rb +34 -0
  16. data/app/services/disco_app/flow/process_action.rb +50 -0
  17. data/app/services/disco_app/flow/process_trigger.rb +52 -0
  18. data/config/routes.rb +7 -1
  19. data/db/migrate/20181229100327_create_flow_actions_and_triggers.rb +32 -0
  20. data/lib/.DS_Store +0 -0
  21. data/lib/disco_app/configuration.rb +4 -0
  22. data/lib/disco_app/version.rb +1 -1
  23. data/lib/generators/disco_app/disco_app_generator.rb +2 -2
  24. data/lib/generators/disco_app/templates/config/appsignal.yml +12 -0
  25. data/lib/generators/disco_app/templates/root/.env +3 -0
  26. data/test/dummy/db/schema.rb +39 -11
  27. data/test/dummy/log/test.log +0 -0
  28. data/test/services/disco_app/flow/create_action_test.rb +51 -0
  29. data/test/services/disco_app/flow/create_trigger_test.rb +56 -0
  30. data/test/services/disco_app/flow/process_action_test.rb +68 -0
  31. data/test/services/disco_app/flow/process_trigger_test.rb +61 -0
  32. data/test/vcr/flow_trigger_invalid_title.yml +35 -0
  33. data/test/vcr/flow_trigger_valid.yml +38 -0
  34. metadata +188 -133
  35. data/app/clients/disco_app/rollbar_client.rb +0 -53
  36. data/app/clients/disco_app/rollbar_client_error.rb +0 -2
  37. data/lib/generators/disco_app/templates/initializers/rollbar.rb +0 -21
  38. data/lib/tasks/rollbar.rake +0 -24
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: disco_app
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.16.1.pre.sidekiq.pre.6.pre.release
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gavin Ballard
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-01 00:00:00.000000000 Z
11
+ date: 2022-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -134,14 +134,14 @@ dependencies:
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: '5.0'
137
+ version: '6.0'
138
138
  type: :runtime
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
- version: '5.0'
144
+ version: '6.0'
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: pg
147
147
  requirement: !ruby/object:Gem::Requirement
@@ -325,19 +325,19 @@ dependencies:
325
325
  - !ruby/object:Gem::Version
326
326
  version: '1.7'
327
327
  - !ruby/object:Gem::Dependency
328
- name: rollbar
328
+ name: appsignal
329
329
  requirement: !ruby/object:Gem::Requirement
330
330
  requirements:
331
331
  - - "~>"
332
332
  - !ruby/object:Gem::Version
333
- version: '2.14'
333
+ version: '2.7'
334
334
  type: :runtime
335
335
  prerelease: false
336
336
  version_requirements: !ruby/object:Gem::Requirement
337
337
  requirements:
338
338
  - - "~>"
339
339
  - !ruby/object:Gem::Version
340
- version: '2.14'
340
+ version: '2.7'
341
341
  - !ruby/object:Gem::Dependency
342
342
  name: oj
343
343
  requirement: !ruby/object:Gem::Requirement
@@ -394,6 +394,34 @@ dependencies:
394
394
  - - "~>"
395
395
  - !ruby/object:Gem::Version
396
396
  version: '1.0'
397
+ - !ruby/object:Gem::Dependency
398
+ name: interactor
399
+ requirement: !ruby/object:Gem::Requirement
400
+ requirements:
401
+ - - ">="
402
+ - !ruby/object:Gem::Version
403
+ version: '0'
404
+ type: :runtime
405
+ prerelease: false
406
+ version_requirements: !ruby/object:Gem::Requirement
407
+ requirements:
408
+ - - ">="
409
+ - !ruby/object:Gem::Version
410
+ version: '0'
411
+ - !ruby/object:Gem::Dependency
412
+ name: interactor-rails
413
+ requirement: !ruby/object:Gem::Requirement
414
+ requirements:
415
+ - - ">="
416
+ - !ruby/object:Gem::Version
417
+ version: '0'
418
+ type: :runtime
419
+ prerelease: false
420
+ version_requirements: !ruby/object:Gem::Requirement
421
+ requirements:
422
+ - - ">="
423
+ - !ruby/object:Gem::Version
424
+ version: '0'
397
425
  - !ruby/object:Gem::Dependency
398
426
  name: dotenv-rails
399
427
  requirement: !ruby/object:Gem::Requirement
@@ -486,6 +514,7 @@ extensions: []
486
514
  extra_rdoc_files: []
487
515
  files:
488
516
  - Rakefile
517
+ - app/.DS_Store
489
518
  - app/assets/components/disco_app/buttons/model-destroy-button.es6.jsx
490
519
  - app/assets/components/disco_app/forms/model-form.es6.jsx
491
520
  - app/assets/components/embedded_app/bar.es6.jsx
@@ -564,8 +593,7 @@ files:
564
593
  - app/assets/stylesheets/disco_app/ui-kit/_ui-type.scss
565
594
  - app/clients/disco_app/api_client.rb
566
595
  - app/clients/disco_app/disco_api_error.rb
567
- - app/clients/disco_app/rollbar_client.rb
568
- - app/clients/disco_app/rollbar_client_error.rb
596
+ - app/clients/disco_app/graphql_client.rb
569
597
  - app/controllers/disco_app/admin/app_settings_controller.rb
570
598
  - app/controllers/disco_app/admin/application_controller.rb
571
599
  - app/controllers/disco_app/admin/concerns/app_settings_controller.rb
@@ -585,6 +613,8 @@ files:
585
613
  - app/controllers/disco_app/concerns/carrier_request_controller.rb
586
614
  - app/controllers/disco_app/concerns/user_authenticated_controller.rb
587
615
  - app/controllers/disco_app/concerns/webhooks_controller.rb
616
+ - app/controllers/disco_app/flow/actions_controller.rb
617
+ - app/controllers/disco_app/flow/concerns/actions_controller.rb
588
618
  - app/controllers/disco_app/frame_controller.rb
589
619
  - app/controllers/disco_app/install_controller.rb
590
620
  - app/controllers/disco_app/subscriptions_controller.rb
@@ -604,6 +634,8 @@ files:
604
634
  - app/jobs/disco_app/concerns/synchronise_resources_job.rb
605
635
  - app/jobs/disco_app/concerns/synchronise_users_job.rb
606
636
  - app/jobs/disco_app/concerns/synchronise_webhooks_job.rb
637
+ - app/jobs/disco_app/flow/process_action_job.rb
638
+ - app/jobs/disco_app/flow/process_trigger_job.rb
607
639
  - app/jobs/disco_app/render_asset_group_job.rb
608
640
  - app/jobs/disco_app/send_subscription_job.rb
609
641
  - app/jobs/disco_app/shop_job.rb
@@ -628,6 +660,10 @@ files:
628
660
  - app/models/disco_app/concerns/synchronises.rb
629
661
  - app/models/disco_app/concerns/taggable.rb
630
662
  - app/models/disco_app/concerns/user.rb
663
+ - app/models/disco_app/flow/action.rb
664
+ - app/models/disco_app/flow/concerns/action.rb
665
+ - app/models/disco_app/flow/concerns/trigger.rb
666
+ - app/models/disco_app/flow/trigger.rb
631
667
  - app/models/disco_app/plan.rb
632
668
  - app/models/disco_app/plan_code.rb
633
669
  - app/models/disco_app/recurring_application_charge.rb
@@ -640,6 +676,10 @@ files:
640
676
  - app/resources/disco_app/admin/resources/shop_resource.rb
641
677
  - app/services/disco_app/carrier_request_service.rb
642
678
  - app/services/disco_app/charges_service.rb
679
+ - app/services/disco_app/flow/create_action.rb
680
+ - app/services/disco_app/flow/create_trigger.rb
681
+ - app/services/disco_app/flow/process_action.rb
682
+ - app/services/disco_app/flow/process_trigger.rb
643
683
  - app/services/disco_app/partner_app_service.rb
644
684
  - app/services/disco_app/proxy_service.rb
645
685
  - app/services/disco_app/request_validation_service.rb
@@ -681,6 +721,8 @@ files:
681
721
  - db/migrate/20170315062629_add_sources_to_shop_subscriptions.rb
682
722
  - db/migrate/20170327214540_create_disco_app_users.rb
683
723
  - db/migrate/20170606160751_fix_disco_app_users_index.rb
724
+ - db/migrate/20181229100327_create_flow_actions_and_triggers.rb
725
+ - lib/.DS_Store
684
726
  - lib/disco_app.rb
685
727
  - lib/disco_app/configuration.rb
686
728
  - lib/disco_app/constants.rb
@@ -694,6 +736,7 @@ files:
694
736
  - lib/generators/disco_app/templates/assets/javascripts/application.js
695
737
  - lib/generators/disco_app/templates/assets/javascripts/components.js
696
738
  - lib/generators/disco_app/templates/assets/stylesheets/application.scss
739
+ - lib/generators/disco_app/templates/config/appsignal.yml
697
740
  - lib/generators/disco_app/templates/config/cable.yml.tt
698
741
  - lib/generators/disco_app/templates/config/database.yml.tt
699
742
  - lib/generators/disco_app/templates/config/environments/staging.rb
@@ -701,7 +744,6 @@ files:
701
744
  - lib/generators/disco_app/templates/config/puma.rb
702
745
  - lib/generators/disco_app/templates/controllers/home_controller.rb
703
746
  - lib/generators/disco_app/templates/initializers/disco_app.rb
704
- - lib/generators/disco_app/templates/initializers/rollbar.rb
705
747
  - lib/generators/disco_app/templates/initializers/session_store.rb
706
748
  - lib/generators/disco_app/templates/initializers/shopify_app.rb
707
749
  - lib/generators/disco_app/templates/initializers/shopify_session_repository.rb
@@ -721,7 +763,6 @@ files:
721
763
  - lib/tasks/carrier_service.rake
722
764
  - lib/tasks/database.rake
723
765
  - lib/tasks/partner_app.rake
724
- - lib/tasks/rollbar.rake
725
766
  - lib/tasks/sessions.rake
726
767
  - lib/tasks/shops.rake
727
768
  - lib/tasks/start.rake
@@ -797,6 +838,7 @@ files:
797
838
  - test/dummy/db/migrate/20160530160739_create_asset_models.rb
798
839
  - test/dummy/db/migrate/20161105054746_create_carts.rb
799
840
  - test/dummy/db/schema.rb
841
+ - test/dummy/log/test.log
800
842
  - test/dummy/public/404.html
801
843
  - test/dummy/public/422.html
802
844
  - test/dummy/public/500.html
@@ -879,10 +921,16 @@ files:
879
921
  - test/models/disco_app/shop_test.rb
880
922
  - test/models/disco_app/subscription_test.rb
881
923
  - test/services/disco_app/charges_service_test.rb
924
+ - test/services/disco_app/flow/create_action_test.rb
925
+ - test/services/disco_app/flow/create_trigger_test.rb
926
+ - test/services/disco_app/flow/process_action_test.rb
927
+ - test/services/disco_app/flow/process_trigger_test.rb
882
928
  - test/services/disco_app/subscription_service_test.rb
883
929
  - test/support/test_file_fixtures.rb
884
930
  - test/support/test_shopify_api.rb
885
931
  - test/test_helper.rb
932
+ - test/vcr/flow_trigger_invalid_title.yml
933
+ - test/vcr/flow_trigger_valid.yml
886
934
  - test/vcr/webhook_failure.yml
887
935
  homepage: https://github.com/discolabs/disco_app/
888
936
  licenses:
@@ -899,170 +947,177 @@ required_ruby_version: !ruby/object:Gem::Requirement
899
947
  version: '0'
900
948
  required_rubygems_version: !ruby/object:Gem::Requirement
901
949
  requirements:
902
- - - ">="
950
+ - - ">"
903
951
  - !ruby/object:Gem::Version
904
- version: '0'
952
+ version: 1.3.1
905
953
  requirements: []
906
954
  rubyforge_project:
907
- rubygems_version: 2.7.7
955
+ rubygems_version: 2.7.3
908
956
  signing_key:
909
957
  specification_version: 4
910
958
  summary: Rails engine for Shopify applications.
911
959
  test_files:
912
- - test/dummy/public/500.html
913
- - test/dummy/public/favicon.ico
914
- - test/dummy/public/422.html
915
- - test/dummy/public/404.html
916
- - test/dummy/bin/rake
917
- - test/dummy/bin/rails
918
- - test/dummy/bin/setup
919
- - test/dummy/bin/bundle
920
- - test/dummy/Rakefile
921
- - test/dummy/config.ru
922
- - test/dummy/app/assets/stylesheets/application.scss
923
- - test/dummy/app/assets/javascripts/application.js
924
- - test/dummy/app/jobs/products_create_job.rb
925
- - test/dummy/app/jobs/products_update_job.rb
960
+ - test/clients/disco_app/api_client_test.rb
961
+ - test/dummy/app/models/disco_app/shop.rb
962
+ - test/dummy/app/models/product.rb
963
+ - test/dummy/app/models/js_configuration.rb
964
+ - test/dummy/app/models/widget_configuration.rb
965
+ - test/dummy/app/models/application_record.rb
966
+ - test/dummy/app/models/cart.rb
926
967
  - test/dummy/app/jobs/disco_app/app_installed_job.rb
927
968
  - test/dummy/app/jobs/disco_app/app_uninstalled_job.rb
928
- - test/dummy/app/jobs/application_job.rb
929
969
  - test/dummy/app/jobs/products_delete_job.rb
970
+ - test/dummy/app/jobs/products_update_job.rb
971
+ - test/dummy/app/jobs/products_create_job.rb
930
972
  - test/dummy/app/jobs/carts_update_job.rb
931
- - test/dummy/app/controllers/home_controller.rb
932
- - test/dummy/app/controllers/disco_app/admin/shops_controller.rb
973
+ - test/dummy/app/jobs/application_job.rb
974
+ - test/dummy/app/controllers/application_controller.rb
933
975
  - test/dummy/app/controllers/carrier_request_controller.rb
976
+ - test/dummy/app/controllers/disco_app/admin/shops_controller.rb
934
977
  - test/dummy/app/controllers/proxy_controller.rb
935
- - test/dummy/app/controllers/application_controller.rb
936
- - test/dummy/app/helpers/application_helper.rb
937
- - test/dummy/app/models/disco_app/shop.rb
938
- - test/dummy/app/models/product.rb
939
- - test/dummy/app/models/widget_configuration.rb
940
- - test/dummy/app/models/js_configuration.rb
941
- - test/dummy/app/models/application_record.rb
942
- - test/dummy/app/models/cart.rb
943
- - test/dummy/app/views/assets/script_tag.js.erb
944
- - test/dummy/app/views/assets/widget.scss.erb
945
- - test/dummy/app/views/assets/test.js.erb
946
- - test/dummy/app/views/assets/widget.js.erb
978
+ - test/dummy/app/controllers/home_controller.rb
947
979
  - test/dummy/app/views/snippets/widget.liquid.erb
948
980
  - test/dummy/app/views/home/index.html.erb
949
- - test/dummy/db/migrate/20161105054746_create_carts.rb
950
- - test/dummy/db/migrate/20160530160739_create_asset_models.rb
951
- - test/dummy/db/migrate/20160307182229_create_products.rb
952
- - test/dummy/db/schema.rb
953
- - test/dummy/config/locales/en.yml
954
- - test/dummy/config/initializers/filter_parameter_logging.rb
955
- - test/dummy/config/initializers/assets.rb
956
- - test/dummy/config/initializers/session_store.rb
957
- - test/dummy/config/initializers/inflections.rb
958
- - test/dummy/config/initializers/mime_types.rb
959
- - test/dummy/config/initializers/wrap_parameters.rb
960
- - test/dummy/config/initializers/disco_app.rb
961
- - test/dummy/config/initializers/shopify_app.rb
962
- - test/dummy/config/initializers/shopify_session_repository.rb
963
- - test/dummy/config/initializers/backtrace_silencers.rb
964
- - test/dummy/config/initializers/omniauth.rb
965
- - test/dummy/config/initializers/cookies_serializer.rb
981
+ - test/dummy/app/views/assets/widget.scss.erb
982
+ - test/dummy/app/views/assets/widget.js.erb
983
+ - test/dummy/app/views/assets/test.js.erb
984
+ - test/dummy/app/views/assets/script_tag.js.erb
985
+ - test/dummy/app/assets/javascripts/application.js
986
+ - test/dummy/app/assets/stylesheets/application.scss
987
+ - test/dummy/app/helpers/application_helper.rb
988
+ - test/dummy/bin/rake
989
+ - test/dummy/bin/setup
990
+ - test/dummy/bin/bundle
991
+ - test/dummy/bin/rails
966
992
  - test/dummy/config/secrets.yml
967
993
  - test/dummy/config/routes.rb
968
- - test/dummy/config/database.codeship.yml
994
+ - test/dummy/config/locales/en.yml
969
995
  - test/dummy/config/environments/production.rb
970
- - test/dummy/config/environments/test.rb
971
- - test/dummy/config/environments/development.rb
972
996
  - test/dummy/config/environments/staging.rb
997
+ - test/dummy/config/environments/development.rb
998
+ - test/dummy/config/environments/test.rb
973
999
  - test/dummy/config/environment.rb
974
- - test/dummy/config/boot.rb
975
- - test/dummy/config/database.yml
976
1000
  - test/dummy/config/application.rb
1001
+ - test/dummy/config/database.yml
1002
+ - test/dummy/config/database.codeship.yml
1003
+ - test/dummy/config/boot.rb
1004
+ - test/dummy/config/initializers/shopify_app.rb
1005
+ - test/dummy/config/initializers/backtrace_silencers.rb
1006
+ - test/dummy/config/initializers/mime_types.rb
1007
+ - test/dummy/config/initializers/filter_parameter_logging.rb
1008
+ - test/dummy/config/initializers/shopify_session_repository.rb
1009
+ - test/dummy/config/initializers/session_store.rb
1010
+ - test/dummy/config/initializers/wrap_parameters.rb
1011
+ - test/dummy/config/initializers/assets.rb
1012
+ - test/dummy/config/initializers/cookies_serializer.rb
1013
+ - test/dummy/config/initializers/disco_app.rb
1014
+ - test/dummy/config/initializers/omniauth.rb
1015
+ - test/dummy/config/initializers/inflections.rb
1016
+ - test/dummy/config.ru
1017
+ - test/dummy/Rakefile
1018
+ - test/dummy/public/favicon.ico
1019
+ - test/dummy/public/422.html
1020
+ - test/dummy/public/500.html
1021
+ - test/dummy/public/404.html
1022
+ - test/dummy/db/schema.rb
1023
+ - test/dummy/db/migrate/20161105054746_create_carts.rb
1024
+ - test/dummy/db/migrate/20160530160739_create_asset_models.rb
1025
+ - test/dummy/db/migrate/20160307182229_create_products.rb
1026
+ - test/dummy/log/test.log
1027
+ - test/integration/synchronises_test.rb
1028
+ - test/models/disco_app/session_test.rb
1029
+ - test/models/disco_app/renders_assets_test.rb
1030
+ - test/models/disco_app/has_metafields_test.rb
1031
+ - test/models/disco_app/plan_test.rb
1032
+ - test/models/disco_app/shop_test.rb
1033
+ - test/models/disco_app/can_be_liquified_test.rb
1034
+ - test/models/disco_app/subscription_test.rb
1035
+ - test/disco_app_test.rb
1036
+ - test/vcr/flow_trigger_valid.yml
1037
+ - test/vcr/webhook_failure.yml
1038
+ - test/vcr/flow_trigger_invalid_title.yml
1039
+ - test/support/test_shopify_api.rb
1040
+ - test/support/test_file_fixtures.rb
1041
+ - test/fixtures/products.yml
1042
+ - test/fixtures/disco_app/application_charges.yml
1043
+ - test/fixtures/disco_app/shops.yml
1044
+ - test/fixtures/disco_app/plan_codes.yml
1045
+ - test/fixtures/disco_app/subscriptions.yml
1046
+ - test/fixtures/disco_app/sources.yml
1047
+ - test/fixtures/disco_app/recurring_application_charges.yml
1048
+ - test/fixtures/disco_app/plans.yml
1049
+ - test/fixtures/widget_configurations.yml
977
1050
  - test/fixtures/liquid/model.liquid
978
- - test/fixtures/api/subscriptions/valid_request.json
979
- - test/fixtures/api/widget_store/users.json
980
1051
  - test/fixtures/api/widget_store/carrier_services.json
981
- - test/fixtures/api/widget_store/assets/create_test_js_response.json
982
- - test/fixtures/api/widget_store/assets/create_widget_js_response.json
983
- - test/fixtures/api/widget_store/assets/create_test_js_request.json
984
- - test/fixtures/api/widget_store/assets/update_script_tag_request.json
985
- - test/fixtures/api/widget_store/assets/create_script_tag_response.json
986
- - test/fixtures/api/widget_store/assets/create_script_tag_js_response.json
987
- - test/fixtures/api/widget_store/assets/create_widget_scss_request.json
988
- - test/fixtures/api/widget_store/assets/update_script_tag_response.json
989
- - test/fixtures/api/widget_store/assets/create_widget_liquid_request.json
990
- - test/fixtures/api/widget_store/assets/create_script_tag_js_request.json
991
- - test/fixtures/api/widget_store/assets/create_script_tag_request.json
992
- - test/fixtures/api/widget_store/assets/get_script_tags_preexisting_response.json
993
- - test/fixtures/api/widget_store/assets/create_widget_scss_response.json
994
- - test/fixtures/api/widget_store/assets/create_widget_liquid_response.json
995
- - test/fixtures/api/widget_store/assets/get_script_tags_preexisting_request.json
996
- - test/fixtures/api/widget_store/assets/get_script_tags_empty_response.json
997
- - test/fixtures/api/widget_store/assets/get_script_tags_empty_request.json
998
- - test/fixtures/api/widget_store/assets/create_widget_js_request.json
1052
+ - test/fixtures/api/widget_store/webhooks.json
999
1053
  - test/fixtures/api/widget_store/products/write_metafields_single_namespace_response.json
1000
- - test/fixtures/api/widget_store/products/write_metafields_multiple_namespaces_request.json
1001
1054
  - test/fixtures/api/widget_store/products/write_metafields_multiple_namespaces_response.json
1002
1055
  - test/fixtures/api/widget_store/products/write_metafields_single_namespace_request.json
1003
- - test/fixtures/api/widget_store/webhooks.json
1004
- - test/fixtures/api/widget_store/charges/create_application_charge_response.json
1005
- - test/fixtures/api/widget_store/charges/create_second_recurring_application_charge_response.json
1006
- - test/fixtures/api/widget_store/charges/activate_application_charge_response.json
1007
- - test/fixtures/api/widget_store/charges/create_application_charge_request.json
1008
- - test/fixtures/api/widget_store/charges/create_recurring_application_charge_response.json
1009
- - test/fixtures/api/widget_store/charges/get_pending_recurring_application_charge_response.json
1010
- - test/fixtures/api/widget_store/charges/get_declined_recurring_application_charge_response.json
1056
+ - test/fixtures/api/widget_store/products/write_metafields_multiple_namespaces_request.json
1057
+ - test/fixtures/api/widget_store/charges/activate_recurring_application_charge_request.json
1058
+ - test/fixtures/api/widget_store/charges/activate_application_charge_request.json
1011
1059
  - test/fixtures/api/widget_store/charges/get_pending_application_charge_response.json
1012
1060
  - test/fixtures/api/widget_store/charges/activate_recurring_application_charge_response.json
1013
- - test/fixtures/api/widget_store/charges/get_accepted_recurring_application_charge_response.json
1014
- - test/fixtures/api/widget_store/charges/activate_recurring_application_charge_request.json
1015
- - test/fixtures/api/widget_store/charges/get_accepted_application_charge_response.json
1061
+ - test/fixtures/api/widget_store/charges/create_application_charge_request.json
1062
+ - test/fixtures/api/widget_store/charges/create_application_charge_response.json
1063
+ - test/fixtures/api/widget_store/charges/activate_application_charge_response.json
1016
1064
  - test/fixtures/api/widget_store/charges/create_recurring_application_charge_request.json
1017
1065
  - test/fixtures/api/widget_store/charges/get_declined_application_charge_response.json
1066
+ - test/fixtures/api/widget_store/charges/get_declined_recurring_application_charge_response.json
1067
+ - test/fixtures/api/widget_store/charges/get_pending_recurring_application_charge_response.json
1068
+ - test/fixtures/api/widget_store/charges/get_accepted_recurring_application_charge_response.json
1018
1069
  - test/fixtures/api/widget_store/charges/create_second_recurring_application_charge_request.json
1019
- - test/fixtures/api/widget_store/charges/activate_application_charge_request.json
1020
- - test/fixtures/api/widget_store/carrier_services_create.json
1070
+ - test/fixtures/api/widget_store/charges/create_second_recurring_application_charge_response.json
1071
+ - test/fixtures/api/widget_store/charges/get_accepted_application_charge_response.json
1072
+ - test/fixtures/api/widget_store/charges/create_recurring_application_charge_response.json
1073
+ - test/fixtures/api/widget_store/users.json
1021
1074
  - test/fixtures/api/widget_store/shop.json
1022
- - test/fixtures/assets/test.js
1023
- - test/fixtures/assets/test.min.js
1024
- - test/fixtures/widget_configurations.yml
1025
- - test/fixtures/js_configurations.yml
1026
- - test/fixtures/disco_app/sources.yml
1027
- - test/fixtures/disco_app/plan_codes.yml
1028
- - test/fixtures/disco_app/shops.yml
1029
- - test/fixtures/disco_app/application_charges.yml
1030
- - test/fixtures/disco_app/subscriptions.yml
1031
- - test/fixtures/disco_app/plans.yml
1032
- - test/fixtures/disco_app/recurring_application_charges.yml
1033
- - test/fixtures/carts.yml
1075
+ - test/fixtures/api/widget_store/carrier_services_create.json
1076
+ - test/fixtures/api/widget_store/assets/create_widget_liquid_request.json
1077
+ - test/fixtures/api/widget_store/assets/create_test_js_response.json
1078
+ - test/fixtures/api/widget_store/assets/create_widget_js_request.json
1079
+ - test/fixtures/api/widget_store/assets/update_script_tag_response.json
1080
+ - test/fixtures/api/widget_store/assets/create_script_tag_js_response.json
1081
+ - test/fixtures/api/widget_store/assets/create_script_tag_response.json
1082
+ - test/fixtures/api/widget_store/assets/create_widget_scss_request.json
1083
+ - test/fixtures/api/widget_store/assets/get_script_tags_preexisting_response.json
1084
+ - test/fixtures/api/widget_store/assets/create_widget_liquid_response.json
1085
+ - test/fixtures/api/widget_store/assets/get_script_tags_preexisting_request.json
1086
+ - test/fixtures/api/widget_store/assets/create_widget_scss_response.json
1087
+ - test/fixtures/api/widget_store/assets/create_script_tag_request.json
1088
+ - test/fixtures/api/widget_store/assets/create_widget_js_response.json
1089
+ - test/fixtures/api/widget_store/assets/get_script_tags_empty_request.json
1090
+ - test/fixtures/api/widget_store/assets/update_script_tag_request.json
1091
+ - test/fixtures/api/widget_store/assets/create_script_tag_js_request.json
1092
+ - test/fixtures/api/widget_store/assets/create_test_js_request.json
1093
+ - test/fixtures/api/widget_store/assets/get_script_tags_empty_response.json
1094
+ - test/fixtures/api/subscriptions/valid_request.json
1095
+ - test/fixtures/webhooks/product_deleted.json
1034
1096
  - test/fixtures/webhooks/cart_updated.json
1035
- - test/fixtures/webhooks/app_uninstalled.json
1036
1097
  - test/fixtures/webhooks/product_updated.json
1037
1098
  - test/fixtures/webhooks/product_created.json
1038
- - test/fixtures/webhooks/product_deleted.json
1039
- - test/fixtures/products.yml
1040
- - test/support/test_file_fixtures.rb
1041
- - test/support/test_shopify_api.rb
1099
+ - test/fixtures/webhooks/app_uninstalled.json
1100
+ - test/fixtures/assets/test.js
1101
+ - test/fixtures/assets/test.min.js
1102
+ - test/fixtures/carts.yml
1103
+ - test/fixtures/js_configurations.yml
1042
1104
  - test/test_helper.rb
1043
- - test/disco_app_test.rb
1105
+ - test/jobs/disco_app/synchronise_users_job_test.rb
1106
+ - test/jobs/disco_app/synchronise_webhooks_job_test.rb
1044
1107
  - test/jobs/disco_app/app_uninstalled_job_test.rb
1045
1108
  - test/jobs/disco_app/synchronise_carrier_service_job_test.rb
1046
- - test/jobs/disco_app/synchronise_users_job_test.rb
1047
1109
  - test/jobs/disco_app/send_subscription_job_test.rb
1048
- - test/jobs/disco_app/synchronise_webhooks_job_test.rb
1049
1110
  - test/jobs/disco_app/app_installed_job_test.rb
1050
- - test/vcr/webhook_failure.yml
1111
+ - test/controllers/proxy_controller_test.rb
1051
1112
  - test/controllers/disco_app/install_controller_test.rb
1052
- - test/controllers/disco_app/webhooks_controller_test.rb
1113
+ - test/controllers/disco_app/charges_controller_test.rb
1053
1114
  - test/controllers/disco_app/admin/shops_controller_test.rb
1054
1115
  - test/controllers/disco_app/subscriptions_controller_test.rb
1055
- - test/controllers/disco_app/charges_controller_test.rb
1056
- - test/controllers/proxy_controller_test.rb
1116
+ - test/controllers/disco_app/webhooks_controller_test.rb
1057
1117
  - test/controllers/home_controller_test.rb
1058
- - test/integration/synchronises_test.rb
1059
- - test/clients/disco_app/api_client_test.rb
1060
- - test/models/disco_app/plan_test.rb
1061
- - test/models/disco_app/has_metafields_test.rb
1062
- - test/models/disco_app/shop_test.rb
1063
- - test/models/disco_app/session_test.rb
1064
- - test/models/disco_app/subscription_test.rb
1065
- - test/models/disco_app/can_be_liquified_test.rb
1066
- - test/models/disco_app/renders_assets_test.rb
1067
- - test/services/disco_app/charges_service_test.rb
1068
1118
  - test/services/disco_app/subscription_service_test.rb
1119
+ - test/services/disco_app/charges_service_test.rb
1120
+ - test/services/disco_app/flow/process_trigger_test.rb
1121
+ - test/services/disco_app/flow/process_action_test.rb
1122
+ - test/services/disco_app/flow/create_trigger_test.rb
1123
+ - test/services/disco_app/flow/create_action_test.rb
@@ -1,53 +0,0 @@
1
- require 'rest-client'
2
-
3
- class DiscoApp::RollbarClient
4
-
5
- API_URL = 'https://api.rollbar.com/api/1'
6
- CREATE_PROJECT_ENDPOINT = '/projects'
7
- ACCESS_TOKEN_ENDPOINT = '/project'
8
- ACCESS_TOKEN_SCOPE = 'post_server_item'
9
-
10
- def initialize(params)
11
- @write_access_token = params[:write_account_access_token]
12
- @read_access_token = params[:read_account_access_token]
13
- end
14
-
15
- # Create project on Rollbar, returns it new post server side access token
16
- def create_project(name)
17
- begin
18
- response = RestClient::Request.execute(
19
- method: :post,
20
- headers: { content_type: :json },
21
- url: create_api_url,
22
- payload: { name: name.parameterize }.to_json
23
- )
24
- request_access_token(ActiveSupport::JSON.decode(response).dig('result', 'id'))
25
- rescue RestClient::BadRequest => e
26
- raise RollbarClientError.new(e.message)
27
- end
28
- end
29
-
30
- private
31
-
32
- def request_access_token(project_id)
33
- begin
34
- response = RestClient.get(access_tokens_api_url(project_id))
35
- # Only return post_server_item server side access token
36
- post_server_access_token(ActiveSupport::JSON.decode(response)['result'])
37
- rescue RestClient::BadRequest => e
38
- raise RollbarClientError.new(e.message)
39
- end
40
- end
41
-
42
- def create_api_url
43
- API_URL + CREATE_PROJECT_ENDPOINT + "?access_token=#{@write_access_token}"
44
- end
45
-
46
- def access_tokens_api_url(project_id)
47
- API_URL + ACCESS_TOKEN_ENDPOINT + "/#{project_id}/access_tokens?access_token=#{@read_access_token}"
48
- end
49
-
50
- def post_server_access_token(results)
51
- results.select { |x| x['name'] == ACCESS_TOKEN_SCOPE }.first['access_token']
52
- end
53
- end
@@ -1,2 +0,0 @@
1
- class RollbarClientError < StandardError
2
- end
@@ -1,21 +0,0 @@
1
- Rollbar.configure do |config|
2
- # Fetch the access token from the environment.
3
- config.access_token = ENV['ROLLBAR_ACCESS_TOKEN']
4
-
5
- # Only use Rollbar in production when there's a token configured.
6
- config.enabled = false unless config.access_token && Rails.env.production?
7
-
8
- # Enable delayed reporting (using Sidekiq)
9
- config.use_sidekiq
10
-
11
- # Enable "Person" feature of Rollbar in the context of a "Shop"
12
- config.person_method = 'current_shop'
13
- config.person_username_method = 'shopify_domain'
14
-
15
- # Add custom handlers.
16
- config.before_process << proc do |options|
17
- if options[:exception].is_a?(ActiveResource::ClientError) && options[:exception].message.include?('Too Many Requests')
18
- raise Rollbar::Ignore
19
- end
20
- end
21
- end
@@ -1,24 +0,0 @@
1
- require 'yaml'
2
-
3
- namespace :generate do
4
- desc "Create Rollbar project for current shopify app, and return the ROLLBAR API TOKEN"
5
- task rollbar_project: :environment do
6
- begin
7
- config_path = File.join(ENV['HOME'], '.disco_app.yml')
8
- config = YAML.load_file(config_path)
9
- rescue StandardError
10
- abort("Could not load configuration file from #{config_path}, aborting.")
11
- end
12
-
13
- params = {
14
- write_account_access_token: config['params']['ROLLBAR_ACCOUNT_ACCESS_TOKEN_WRITE'].to_s,
15
- read_account_access_token: config['params']['ROLLBAR_ACCOUNT_ACCESS_TOKEN_READ'].to_s
16
- }
17
-
18
- project_access_token = DiscoApp::RollbarClient.new(params).create_project(ENV['APP_NAME'].blank? ? ENV['SHOPIFY_APP_NAME'] : ENV['APP_NAME'])
19
- puts '#' * 80
20
- puts 'New Rollbar project successfully created!'
21
- puts "ROLLBAR_ACCESS_TOKEN = #{project_access_token}"
22
- puts '#' * 80
23
- end
24
- end