spree_cm_commissioner 2.5.0.pre.pre8 → 2.5.0.pre.pre10

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 (128) hide show
  1. checksums.yaml +4 -4
  2. data/.bundle/config +3 -2
  3. data/.github/workflows/test_and_build_gem.yml +123 -57
  4. data/.tool-versions +1 -1
  5. data/Gemfile.lock +1 -1
  6. data/Rakefile +55 -29
  7. data/app/controllers/spree/admin/base_controller_decorator.rb +3 -3
  8. data/app/controllers/spree/admin/base_import_orders_controller.rb +6 -1
  9. data/app/controllers/spree/admin/classifications_controller.rb +1 -1
  10. data/app/controllers/spree/admin/integration_mappings_controller.rb +21 -0
  11. data/app/controllers/spree/admin/integration_sessions_controller.rb +21 -0
  12. data/app/controllers/spree/admin/integrations_controller.rb +83 -0
  13. data/app/controllers/spree/admin/notification_sender_controller.rb +1 -1
  14. data/app/controllers/spree/api/v2/storefront/event_matches_controller.rb +15 -0
  15. data/app/controllers/spree/api/v2/storefront/queue_cart/line_items_controller.rb +6 -6
  16. data/app/controllers/spree/api/v2/storefront/trips_controller.rb +11 -0
  17. data/app/errors/spree_cm_commissioner/integrations/external_client_error.rb +10 -0
  18. data/app/errors/spree_cm_commissioner/integrations/sync_error.rb +4 -0
  19. data/app/finders/spree_cm_commissioner/events/find_matches.rb +15 -0
  20. data/app/helpers/spree_cm_commissioner/external_integrations_helper.rb +58 -0
  21. data/app/interactors/spree_cm_commissioner/create_event.rb +1 -1
  22. data/app/interactors/spree_cm_commissioner/customer_notification_cron_executor.rb +1 -1
  23. data/app/interactors/spree_cm_commissioner/stock/inventory_item_resetter.rb +1 -1
  24. data/app/interactors/spree_cm_commissioner/stock/stock_movement_creator.rb +3 -2
  25. data/app/jobs/spree_cm_commissioner/conversion_pre_calculator_job.rb +2 -2
  26. data/app/jobs/spree_cm_commissioner/customer_notification_sender_job.rb +3 -3
  27. data/app/jobs/spree_cm_commissioner/enqueue_cart/add_item_job.rb +7 -7
  28. data/app/jobs/spree_cm_commissioner/ensure_event_for_product_line_item_guests_job.rb +1 -1
  29. data/app/jobs/spree_cm_commissioner/event_line_items_date_syncer_job.rb +2 -2
  30. data/app/jobs/spree_cm_commissioner/export_csv_job.rb +2 -2
  31. data/app/jobs/spree_cm_commissioner/import_order_job.rb +5 -5
  32. data/app/jobs/spree_cm_commissioner/integrations/base_job.rb +39 -0
  33. data/app/jobs/spree_cm_commissioner/integrations/polling_job.rb +53 -0
  34. data/app/jobs/spree_cm_commissioner/integrations/polling_scheduler_job.rb +30 -0
  35. data/app/jobs/spree_cm_commissioner/invalidate_cache_request_job.rb +2 -2
  36. data/app/jobs/spree_cm_commissioner/inventory_item_syncer_job.rb +8 -2
  37. data/app/jobs/spree_cm_commissioner/option_type_variants_public_metadata_updater_job.rb +7 -3
  38. data/app/jobs/spree_cm_commissioner/option_value_variants_public_metadata_updater_job.rb +6 -2
  39. data/app/jobs/spree_cm_commissioner/order_complete_telegram_sender_job.rb +2 -2
  40. data/app/jobs/spree_cm_commissioner/product_event_id_to_children_syncer_job.rb +2 -2
  41. data/app/jobs/spree_cm_commissioner/reports_assigner_job.rb +2 -2
  42. data/app/jobs/spree_cm_commissioner/sms_pin_code_job.rb +1 -1
  43. data/app/jobs/spree_cm_commissioner/state_job.rb +2 -2
  44. data/app/jobs/spree_cm_commissioner/stock/inventory_items_adjuster_job.rb +6 -3
  45. data/app/jobs/spree_cm_commissioner/stock/inventory_items_generator_job.rb +2 -2
  46. data/app/jobs/spree_cm_commissioner/telegram_alerts/integration_sync_failure_job.rb +17 -0
  47. data/app/jobs/spree_cm_commissioner/transit/route_fulfilled_order_count_incrementer_job.rb +2 -2
  48. data/app/jobs/spree_cm_commissioner/transit/route_order_count_incrementer_job.rb +2 -2
  49. data/app/jobs/spree_cm_commissioner/transit/route_previous_trip_count_decrementer_job.rb +2 -2
  50. data/app/jobs/spree_cm_commissioner/transit/route_trip_count_decrementer_job.rb +2 -2
  51. data/app/jobs/spree_cm_commissioner/transit/route_trip_count_incrementer_job.rb +2 -2
  52. data/app/jobs/spree_cm_commissioner/vendor_creation_telegram_alert_sender_job.rb +2 -2
  53. data/app/jobs/spree_cm_commissioner/vendor_job.rb +2 -2
  54. data/app/jobs/spree_cm_commissioner/waiting_room_session_firebase_logger_job.rb +1 -1
  55. data/app/models/concerns/spree_cm_commissioner/integrations/integration_mappable.rb +61 -0
  56. data/app/models/concerns/spree_cm_commissioner/line_item_integration.rb +36 -0
  57. data/app/models/concerns/spree_cm_commissioner/option_type_attr_type.rb +16 -4
  58. data/app/models/concerns/spree_cm_commissioner/option_value_attr_type.rb +1 -1
  59. data/app/models/concerns/spree_cm_commissioner/order_integration.rb +33 -0
  60. data/app/models/concerns/spree_cm_commissioner/order_state_machine.rb +4 -2
  61. data/app/models/concerns/spree_cm_commissioner/store_metadata.rb +14 -2
  62. data/app/models/concerns/spree_cm_commissioner/variant_options_concern.rb +1 -7
  63. data/app/models/spree_cm_commissioner/export.rb +1 -1
  64. data/app/models/spree_cm_commissioner/guest.rb +13 -0
  65. data/app/models/spree_cm_commissioner/integration.rb +29 -0
  66. data/app/models/spree_cm_commissioner/integration_mapping.rb +41 -0
  67. data/app/models/spree_cm_commissioner/integration_sync_session.rb +15 -0
  68. data/app/models/spree_cm_commissioner/integrations/stadium_x_v1.rb +37 -0
  69. data/app/models/spree_cm_commissioner/inventory_item.rb +5 -1
  70. data/app/models/spree_cm_commissioner/line_item_decorator.rb +13 -1
  71. data/app/models/spree_cm_commissioner/option_type_decorator.rb +8 -0
  72. data/app/models/spree_cm_commissioner/option_value_decorator.rb +34 -0
  73. data/app/models/spree_cm_commissioner/order_decorator.rb +1 -0
  74. data/app/models/spree_cm_commissioner/product_decorator.rb +4 -3
  75. data/app/models/spree_cm_commissioner/redis_stock/cached_inventory_items_builder.rb +2 -2
  76. data/app/models/spree_cm_commissioner/redis_stock/inventory_updater.rb +6 -3
  77. data/app/models/spree_cm_commissioner/stock_item_decorator.rb +4 -4
  78. data/app/models/spree_cm_commissioner/taxon_decorator.rb +2 -1
  79. data/app/models/spree_cm_commissioner/taxonomy_decorator.rb +13 -1
  80. data/app/models/spree_cm_commissioner/variant_decorator.rb +7 -4
  81. data/app/models/spree_cm_commissioner/vendor_decorator.rb +6 -2
  82. data/app/overrides/spree/admin/shared/sub_menu/_integrations/external_integrations.html.erb.deface +6 -0
  83. data/app/presenters/spree/variants/{visable_options_presenter.rb → visible_options_presenter.rb} +2 -4
  84. data/app/serializers/spree_cm_commissioner/v2/storefront/trip_serializer.rb +1 -1
  85. data/app/services/spree_cm_commissioner/integrations/base/sync_manager.rb +69 -0
  86. data/app/services/spree_cm_commissioner/integrations/base/sync_result.rb +183 -0
  87. data/app/services/spree_cm_commissioner/integrations/polling.rb +70 -0
  88. data/app/services/spree_cm_commissioner/integrations/polling_scheduler.rb +79 -0
  89. data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/external_client/client.rb +152 -0
  90. data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/inventory/unstock_inventory.rb +83 -0
  91. data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/polling/sync_matches.rb +113 -0
  92. data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/polling/sync_zones.rb +215 -0
  93. data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/base.rb +20 -0
  94. data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/league.rb +19 -0
  95. data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/match.rb +95 -0
  96. data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/ticket.rb +81 -0
  97. data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/ticket_image.rb +19 -0
  98. data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/zone.rb +90 -0
  99. data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_manager.rb +35 -0
  100. data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_strategies/full_sync_strategy.rb +38 -0
  101. data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_strategies/incremental_sync_strategy.rb +44 -0
  102. data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_strategies/webhook_sync_strategy.rb +16 -0
  103. data/app/services/spree_cm_commissioner/telegram_alerts/integration_sync_failure.rb +49 -0
  104. data/app/views/spree/admin/integration_mappings/_integration_mappings.html.erb +107 -0
  105. data/app/views/spree/admin/integration_mappings/index.html.erb +33 -0
  106. data/app/views/spree/admin/integration_sessions/_integration_sync_sessions.html.erb +116 -0
  107. data/app/views/spree/admin/integration_sessions/index.html.erb +42 -0
  108. data/app/views/spree/admin/integrations/_form.html.erb +104 -0
  109. data/app/views/spree/admin/integrations/_stadium_x_v1_fields.html.erb +29 -0
  110. data/app/views/spree/admin/integrations/edit.html.erb +45 -0
  111. data/app/views/spree/admin/integrations/index.html.erb +75 -0
  112. data/app/views/spree/admin/integrations/new.html.erb +25 -0
  113. data/bin/run_spec_group +101 -0
  114. data/config/locales/en.yml +8 -0
  115. data/config/locales/km.yml +8 -0
  116. data/config/routes.rb +8 -0
  117. data/db/migrate/20251017094845_create_cm_integrations.rb +22 -0
  118. data/db/migrate/20251017101555_create_cm_integration_sync_sessions.rb +68 -0
  119. data/db/migrate/20251017101605_create_cm_integration_mappings.rb +52 -0
  120. data/lib/cm_app_logger.rb +36 -4
  121. data/lib/spree_cm_commissioner/test_helper/factories/integration_factory.rb +25 -0
  122. data/lib/spree_cm_commissioner/test_helper/factories/integration_mapping_factory.rb +14 -0
  123. data/lib/spree_cm_commissioner/test_helper/factories/integration_sync_session_factory.rb +7 -0
  124. data/lib/spree_cm_commissioner/test_helper/factories/vendor_factory.rb +1 -0
  125. data/lib/spree_cm_commissioner/test_helper/factories/vendor_place_factory.rb +3 -2
  126. data/lib/spree_cm_commissioner/version.rb +1 -1
  127. data/lib/spree_cm_commissioner.rb +8 -7
  128. metadata +58 -3
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_cm_commissioner
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0.pre.pre8
4
+ version: 2.5.0.pre.pre10
5
5
  platform: ruby
6
6
  authors:
7
7
  - You
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-17 00:00:00.000000000 Z
11
+ date: 2025-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree
@@ -848,6 +848,9 @@ files:
848
848
  - app/controllers/spree/admin/id_cards_controller.rb
849
849
  - app/controllers/spree/admin/import_existing_orders_controller.rb
850
850
  - app/controllers/spree/admin/import_new_orders_controller.rb
851
+ - app/controllers/spree/admin/integration_mappings_controller.rb
852
+ - app/controllers/spree/admin/integration_sessions_controller.rb
853
+ - app/controllers/spree/admin/integrations_controller.rb
851
854
  - app/controllers/spree/admin/inventory_items_controller.rb
852
855
  - app/controllers/spree/admin/kyc_controller.rb
853
856
  - app/controllers/spree/admin/line_items_controller.rb
@@ -943,6 +946,7 @@ files:
943
946
  - app/controllers/spree/api/v2/storefront/customer_notifications_controller.rb
944
947
  - app/controllers/spree/api/v2/storefront/dynamic_field_options_controller.rb
945
948
  - app/controllers/spree/api/v2/storefront/dynamic_fields_controller.rb
949
+ - app/controllers/spree/api/v2/storefront/event_matches_controller.rb
946
950
  - app/controllers/spree/api/v2/storefront/events_controller.rb
947
951
  - app/controllers/spree/api/v2/storefront/google_wallet_object_tokens_controller.rb
948
952
  - app/controllers/spree/api/v2/storefront/guest_card_classes_controller.rb
@@ -1111,6 +1115,8 @@ files:
1111
1115
  - app/controllers/spree_cm_commissioner/well_known_controller.rb
1112
1116
  - app/errors/spree_cm_commissioner/connection_error.rb
1113
1117
  - app/errors/spree_cm_commissioner/exceeding_range_error.rb
1118
+ - app/errors/spree_cm_commissioner/integrations/external_client_error.rb
1119
+ - app/errors/spree_cm_commissioner/integrations/sync_error.rb
1114
1120
  - app/errors/spree_cm_commissioner/payment_creation_error.rb
1115
1121
  - app/errors/spree_cm_commissioner/payment_source_missing_error.rb
1116
1122
  - app/errors/spree_cm_commissioner/schema_validation_error.rb
@@ -1128,6 +1134,7 @@ files:
1128
1134
  - app/factory/spree_cm_commissioner/vendor_telegram_message_factory.rb
1129
1135
  - app/finders/spree_cm_commissioner/accommodations/find.rb
1130
1136
  - app/finders/spree_cm_commissioner/accommodations/find_variant.rb
1137
+ - app/finders/spree_cm_commissioner/events/find_matches.rb
1131
1138
  - app/finders/spree_cm_commissioner/orders/find.rb
1132
1139
  - app/finders/spree_cm_commissioner/orders/find_by_state.rb
1133
1140
  - app/finders/spree_cm_commissioner/payment_methods/group_by_bank.rb
@@ -1149,6 +1156,7 @@ files:
1149
1156
  - app/helpers/spree_cm_commissioner/admin/video_on_demand_helper.rb
1150
1157
  - app/helpers/spree_cm_commissioner/billing/monthly_orders_helper.rb
1151
1158
  - app/helpers/spree_cm_commissioner/billing/qrcodes_helper.rb
1159
+ - app/helpers/spree_cm_commissioner/external_integrations_helper.rb
1152
1160
  - app/helpers/spree_cm_commissioner/pin_code_sender_helper.rb
1153
1161
  - app/helpers/spree_cm_commissioner/telegram/base_helper.rb
1154
1162
  - app/helpers/spree_cm_commissioner/transit/order_query_helper.rb
@@ -1316,6 +1324,9 @@ files:
1316
1324
  - app/jobs/spree_cm_commissioner/export_csv_job.rb
1317
1325
  - app/jobs/spree_cm_commissioner/firebase_email_fetcher_job.rb
1318
1326
  - app/jobs/spree_cm_commissioner/import_order_job.rb
1327
+ - app/jobs/spree_cm_commissioner/integrations/base_job.rb
1328
+ - app/jobs/spree_cm_commissioner/integrations/polling_job.rb
1329
+ - app/jobs/spree_cm_commissioner/integrations/polling_scheduler_job.rb
1319
1330
  - app/jobs/spree_cm_commissioner/invalidate_cache_request_job.rb
1320
1331
  - app/jobs/spree_cm_commissioner/inventory_item_syncer_job.rb
1321
1332
  - app/jobs/spree_cm_commissioner/option_type_variants_public_metadata_updater_job.rb
@@ -1335,6 +1346,7 @@ files:
1335
1346
  - app/jobs/spree_cm_commissioner/stock/inventory_items_generator_job.rb
1336
1347
  - app/jobs/spree_cm_commissioner/stock/permanent_inventory_items_generator_job.rb
1337
1348
  - app/jobs/spree_cm_commissioner/subscription_order_executor_job.rb
1349
+ - app/jobs/spree_cm_commissioner/telegram_alerts/integration_sync_failure_job.rb
1338
1350
  - app/jobs/spree_cm_commissioner/telegram_debug_pin_code_sender_job.rb
1339
1351
  - app/jobs/spree_cm_commissioner/telegram_notification_sender_job.rb
1340
1352
  - app/jobs/spree_cm_commissioner/telegram_start_message_sender_job.rb
@@ -1361,15 +1373,18 @@ files:
1361
1373
  - app/models/.gitkeep
1362
1374
  - app/models/concerns/spree_cm_commissioner/event_metadata.rb
1363
1375
  - app/models/concerns/spree_cm_commissioner/homepage_section_bitwise.rb
1376
+ - app/models/concerns/spree_cm_commissioner/integrations/integration_mappable.rb
1364
1377
  - app/models/concerns/spree_cm_commissioner/json_preference_validator.rb
1365
1378
  - app/models/concerns/spree_cm_commissioner/kyc_bitwise.rb
1366
1379
  - app/models/concerns/spree_cm_commissioner/line_item_durationable.rb
1367
1380
  - app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb
1381
+ - app/models/concerns/spree_cm_commissioner/line_item_integration.rb
1368
1382
  - app/models/concerns/spree_cm_commissioner/line_item_transitable.rb
1369
1383
  - app/models/concerns/spree_cm_commissioner/line_items_filter_scope.rb
1370
1384
  - app/models/concerns/spree_cm_commissioner/metafield.rb
1371
1385
  - app/models/concerns/spree_cm_commissioner/option_type_attr_type.rb
1372
1386
  - app/models/concerns/spree_cm_commissioner/option_value_attr_type.rb
1387
+ - app/models/concerns/spree_cm_commissioner/order_integration.rb
1373
1388
  - app/models/concerns/spree_cm_commissioner/order_scopes.rb
1374
1389
  - app/models/concerns/spree_cm_commissioner/order_seatable.rb
1375
1390
  - app/models/concerns/spree_cm_commissioner/order_state_machine.rb
@@ -1459,6 +1474,10 @@ files:
1459
1474
  - app/models/spree_cm_commissioner/image_methods_decorator.rb
1460
1475
  - app/models/spree_cm_commissioner/import.rb
1461
1476
  - app/models/spree_cm_commissioner/imports/import_order.rb
1477
+ - app/models/spree_cm_commissioner/integration.rb
1478
+ - app/models/spree_cm_commissioner/integration_mapping.rb
1479
+ - app/models/spree_cm_commissioner/integration_sync_session.rb
1480
+ - app/models/spree_cm_commissioner/integrations/stadium_x_v1.rb
1462
1481
  - app/models/spree_cm_commissioner/inventory.rb
1463
1482
  - app/models/spree_cm_commissioner/inventory_item.rb
1464
1483
  - app/models/spree_cm_commissioner/invite.rb
@@ -1691,6 +1710,7 @@ files:
1691
1710
  - app/overrides/spree/admin/shared/_version/deploy_tag_version_badge.html.erb.deface
1692
1711
  - app/overrides/spree/admin/shared/sub_menu/_configuration/locations_tab.html.erb.deface
1693
1712
  - app/overrides/spree/admin/shared/sub_menu/_configuration/menu_items.html.erb.deface
1713
+ - app/overrides/spree/admin/shared/sub_menu/_integrations/external_integrations.html.erb.deface
1694
1714
  - app/overrides/spree/admin/shared/sub_menu/_integrations/telegram_bot.html.erb.deface
1695
1715
  - app/overrides/spree/admin/shared/sub_menu/_orders/import_order.html.erb.deface
1696
1716
  - app/overrides/spree/admin/shared/sub_menu/_organizations/tenants_tab.html.erb.deface
@@ -1750,7 +1770,7 @@ files:
1750
1770
  - app/overrides/spree/admin/webhooks_subscribers/_form/rules.html.erb.deface
1751
1771
  - app/overrides/spree/admin/webhooks_subscribers/index/table.html.erb.deface
1752
1772
  - app/overrides/spree/layouts/admin/map_head.html.erb.deface
1753
- - app/presenters/spree/variants/visable_options_presenter.rb
1773
+ - app/presenters/spree/variants/visible_options_presenter.rb
1754
1774
  - app/queries/spree_cm_commissioner/accommodation_query.rb
1755
1775
  - app/queries/spree_cm_commissioner/dashboard_crew_event_query.rb
1756
1776
  - app/queries/spree_cm_commissioner/event_chart_queries.rb
@@ -1983,6 +2003,24 @@ files:
1983
2003
  - app/services/spree_cm_commissioner/imports/base_import_order_service.rb
1984
2004
  - app/services/spree_cm_commissioner/imports/create_order_service.rb
1985
2005
  - app/services/spree_cm_commissioner/imports/update_order_service.rb
2006
+ - app/services/spree_cm_commissioner/integrations/base/sync_manager.rb
2007
+ - app/services/spree_cm_commissioner/integrations/base/sync_result.rb
2008
+ - app/services/spree_cm_commissioner/integrations/polling.rb
2009
+ - app/services/spree_cm_commissioner/integrations/polling_scheduler.rb
2010
+ - app/services/spree_cm_commissioner/integrations/stadium_x_v1/external_client/client.rb
2011
+ - app/services/spree_cm_commissioner/integrations/stadium_x_v1/inventory/unstock_inventory.rb
2012
+ - app/services/spree_cm_commissioner/integrations/stadium_x_v1/polling/sync_matches.rb
2013
+ - app/services/spree_cm_commissioner/integrations/stadium_x_v1/polling/sync_zones.rb
2014
+ - app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/base.rb
2015
+ - app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/league.rb
2016
+ - app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/match.rb
2017
+ - app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/ticket.rb
2018
+ - app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/ticket_image.rb
2019
+ - app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/zone.rb
2020
+ - app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_manager.rb
2021
+ - app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_strategies/full_sync_strategy.rb
2022
+ - app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_strategies/incremental_sync_strategy.rb
2023
+ - app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_strategies/webhook_sync_strategy.rb
1986
2024
  - app/services/spree_cm_commissioner/intercity_taxi_order/create.rb
1987
2025
  - app/services/spree_cm_commissioner/intercity_taxi_order/update.rb
1988
2026
  - app/services/spree_cm_commissioner/metafields/product_metadata_service.rb
@@ -2011,6 +2049,7 @@ files:
2011
2049
  - app/services/spree_cm_commissioner/seats/bulk_release_on_hold_blocks.rb
2012
2050
  - app/services/spree_cm_commissioner/seats/release_expired_blocks.rb
2013
2051
  - app/services/spree_cm_commissioner/seeds/roles_decorator.rb
2052
+ - app/services/spree_cm_commissioner/telegram_alerts/integration_sync_failure.rb
2014
2053
  - app/services/spree_cm_commissioner/transit/legs_builder_service.rb
2015
2054
  - app/services/spree_cm_commissioner/trips/search.rb
2016
2055
  - app/services/spree_cm_commissioner/user_authenticator.rb
@@ -2112,6 +2151,15 @@ files:
2112
2151
  - app/views/spree/admin/import_new_orders/index.html.erb
2113
2152
  - app/views/spree/admin/import_new_orders/new.html.erb
2114
2153
  - app/views/spree/admin/import_new_orders/show.html.erb
2154
+ - app/views/spree/admin/integration_mappings/_integration_mappings.html.erb
2155
+ - app/views/spree/admin/integration_mappings/index.html.erb
2156
+ - app/views/spree/admin/integration_sessions/_integration_sync_sessions.html.erb
2157
+ - app/views/spree/admin/integration_sessions/index.html.erb
2158
+ - app/views/spree/admin/integrations/_form.html.erb
2159
+ - app/views/spree/admin/integrations/_stadium_x_v1_fields.html.erb
2160
+ - app/views/spree/admin/integrations/edit.html.erb
2161
+ - app/views/spree/admin/integrations/index.html.erb
2162
+ - app/views/spree/admin/integrations/new.html.erb
2115
2163
  - app/views/spree/admin/inventory_items/show.html.erb
2116
2164
  - app/views/spree/admin/kyc/_form.html.erb
2117
2165
  - app/views/spree/admin/kyc/edit.html.erb
@@ -2482,6 +2530,7 @@ files:
2482
2530
  - app/views/spree_cm_commissioner/team_invite_mailer/_mailer_stylesheets.html.erb
2483
2531
  - app/views/spree_cm_commissioner/team_invite_mailer/send_team_invite_email.html.erb
2484
2532
  - bin/rails
2533
+ - bin/run_spec_group
2485
2534
  - config/brakeman.yml
2486
2535
  - config/initializers/assets.rb
2487
2536
  - config/initializers/doorkeeper.rb
@@ -2896,6 +2945,9 @@ files:
2896
2945
  - db/migrate/20251009033331_add_registered_by_to_spree_users.rb
2897
2946
  - db/migrate/20251009073040_add_lock_version_to_cm_routes.rb
2898
2947
  - db/migrate/20251009073929_add_lock_version_to_cm_vendor_routes.rb
2948
+ - db/migrate/20251017094845_create_cm_integrations.rb
2949
+ - db/migrate/20251017101555_create_cm_integration_sync_sessions.rb
2950
+ - db/migrate/20251017101605_create_cm_integration_mappings.rb
2899
2951
  - db/migrate/20251113081853_add_index_to_spree_orders_updated_at.rb
2900
2952
  - db/migrate/20251119093000_add_tenant_id_to_cm_vendor_places.rb
2901
2953
  - db/migrate/20251209022924_add_contact_fields_to_cm_tenants.rb
@@ -2957,6 +3009,9 @@ files:
2957
3009
  - lib/spree_cm_commissioner/test_helper/factories/homepage_section_relatable_factory.rb
2958
3010
  - lib/spree_cm_commissioner/test_helper/factories/id_card_factory.rb
2959
3011
  - lib/spree_cm_commissioner/test_helper/factories/image_factory.rb
3012
+ - lib/spree_cm_commissioner/test_helper/factories/integration_factory.rb
3013
+ - lib/spree_cm_commissioner/test_helper/factories/integration_mapping_factory.rb
3014
+ - lib/spree_cm_commissioner/test_helper/factories/integration_sync_session_factory.rb
2960
3015
  - lib/spree_cm_commissioner/test_helper/factories/inventory_item_factory.rb
2961
3016
  - lib/spree_cm_commissioner/test_helper/factories/invite_factory.rb
2962
3017
  - lib/spree_cm_commissioner/test_helper/factories/invite_guests_factory.rb