spree_cm_commissioner 2.8.3.pre.pre8 → 2.8.3

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 (274) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test_and_build_gem.yml +1 -2
  3. data/.gitignore +0 -6
  4. data/Gemfile.lock +1 -1
  5. data/app/controllers/concerns/spree_cm_commissioner/content_cachable.rb +0 -2
  6. data/app/controllers/spree/admin/guests_controller.rb +1 -1
  7. data/app/controllers/spree/admin/homepage_section_controller.rb +1 -4
  8. data/app/controllers/spree/admin/stock_managements_controller.rb +1 -1
  9. data/app/controllers/spree/admin/taxons_controller_decorator.rb +0 -19
  10. data/app/controllers/spree/api/v2/storefront/homepage_sections_controller.rb +0 -1
  11. data/app/controllers/spree/api/v2/tenant/base_controller.rb +0 -4
  12. data/app/controllers/spree/api/v2/tenant/homepage_sections_controller.rb +0 -1
  13. data/app/controllers/spree/api/v2/tenant/products_controller.rb +1 -1
  14. data/app/controllers/spree/api/v2/tenant/taxons_controller.rb +1 -1
  15. data/app/controllers/spree/api/v2/tenant/trips_controller.rb +0 -11
  16. data/app/controllers/spree_cm_commissioner/admin/orders_controller_decorator.rb +3 -7
  17. data/app/controllers/spree_cm_commissioner/admin/products_controller_decorator.rb +0 -19
  18. data/app/finders/spree_cm_commissioner/events/find_matches.rb +0 -1
  19. data/app/helpers/spree_cm_commissioner/admin/guest_helper.rb +0 -10
  20. data/app/helpers/spree_cm_commissioner/admin/homepage_segment_helper.rb +0 -2
  21. data/app/models/concerns/spree_cm_commissioner/homepage_section_bitwise.rb +1 -2
  22. data/app/models/concerns/spree_cm_commissioner/line_items_filter_scope.rb +0 -5
  23. data/app/models/concerns/spree_cm_commissioner/option_type_attr_type.rb +1 -2
  24. data/app/models/concerns/spree_cm_commissioner/order_state_machine.rb +0 -10
  25. data/app/models/concerns/spree_cm_commissioner/product_type.rb +1 -1
  26. data/app/models/concerns/spree_cm_commissioner/taxon_kind.rb +1 -3
  27. data/app/models/spree_cm_commissioner/guest.rb +0 -20
  28. data/app/models/spree_cm_commissioner/import.rb +1 -1
  29. data/app/models/spree_cm_commissioner/line_item_decorator.rb +0 -7
  30. data/app/models/spree_cm_commissioner/notification.rb +1 -10
  31. data/app/models/spree_cm_commissioner/order_decorator.rb +3 -13
  32. data/app/models/spree_cm_commissioner/payment_decorator.rb +0 -19
  33. data/app/models/spree_cm_commissioner/payment_method_decorator.rb +0 -8
  34. data/app/models/spree_cm_commissioner/product_decorator.rb +0 -50
  35. data/app/models/spree_cm_commissioner/reserved_block.rb +0 -2
  36. data/app/models/spree_cm_commissioner/role_decorator.rb +1 -4
  37. data/app/models/spree_cm_commissioner/stock/availability_validator_decorator.rb +0 -4
  38. data/app/models/spree_cm_commissioner/stock/order_availability_checker.rb +0 -3
  39. data/app/models/spree_cm_commissioner/taxon_decorator.rb +0 -22
  40. data/app/models/spree_cm_commissioner/taxonomy_decorator.rb +1 -19
  41. data/app/models/spree_cm_commissioner/tenant.rb +0 -9
  42. data/app/models/spree_cm_commissioner/trip.rb +0 -31
  43. data/app/models/spree_cm_commissioner/user_decorator.rb +0 -6
  44. data/app/models/spree_cm_commissioner/variant_decorator.rb +0 -4
  45. data/app/models/spree_cm_commissioner/variant_options.rb +0 -4
  46. data/app/models/spree_cm_commissioner/vendor_decorator.rb +0 -4
  47. data/app/queries/spree_cm_commissioner/multi_leg_trips_query.rb +8 -31
  48. data/app/queries/spree_cm_commissioner/single_leg_trips_query.rb +2 -33
  49. data/app/serializers/spree/v2/storefront/homepage_section_serializer.rb +1 -1
  50. data/app/serializers/spree/v2/storefront/line_item_serializer_decorator.rb +2 -4
  51. data/app/serializers/spree/v2/storefront/product_serializer_decorator.rb +2 -3
  52. data/app/serializers/spree/v2/storefront/role_serializer.rb +1 -1
  53. data/app/serializers/spree/v2/storefront/taxon_serializer_decorator.rb +1 -2
  54. data/app/serializers/spree/v2/tenant/dynamic_field_serializer.rb +1 -1
  55. data/app/serializers/spree/v2/tenant/homepage_section_serializer.rb +1 -1
  56. data/app/serializers/spree/v2/tenant/role_serializer.rb +1 -1
  57. data/app/serializers/spree_cm_commissioner/v2/storefront/dynamic_field_serializer.rb +1 -1
  58. data/app/serializers/spree_cm_commissioner/v2/storefront/guest_serializer.rb +1 -3
  59. data/app/serializers/spree_cm_commissioner/v2/storefront/reserved_block_serializer.rb +1 -1
  60. data/app/serializers/spree_cm_commissioner/v2/storefront/trip_query_result_serializer.rb +1 -2
  61. data/app/serializers/spree_cm_commissioner/v2/storefront/trip_stop_serializer.rb +0 -1
  62. data/app/services/spree_cm_commissioner/api_caches/invalidate.rb +0 -12
  63. data/app/services/spree_cm_commissioner/check_ins/create_bulk.rb +5 -11
  64. data/app/services/spree_cm_commissioner/inventory_items/reset.rb +1 -1
  65. data/app/services/spree_cm_commissioner/reserved_blocks/reserve.rb +1 -2
  66. data/app/views/spree/admin/guests/_table.html.erb +87 -82
  67. data/app/views/spree/admin/homepage_section/_form.html.erb +0 -5
  68. data/config/initializers/spree_permitted_attributes.rb +0 -8
  69. data/config/locales/en.yml +1 -105
  70. data/config/locales/km.yml +0 -133
  71. data/config/routes.rb +0 -48
  72. data/lib/spree_cm_commissioner/trip_query_result.rb +0 -9
  73. data/lib/spree_cm_commissioner/trip_result.rb +2 -5
  74. data/lib/spree_cm_commissioner/version.rb +1 -1
  75. data/lib/spree_cm_commissioner.rb +1 -7
  76. data/spree_cm_commissioner.gemspec +1 -1
  77. metadata +4 -202
  78. data/app/controllers/spree/admin/order_ticket_transfers_controller.rb +0 -25
  79. data/app/controllers/spree/admin/ticket_transfer_rules_controller.rb +0 -47
  80. data/app/controllers/spree/admin/ticket_transfers_controller.rb +0 -61
  81. data/app/controllers/spree/api/v2/storefront/account/recipients_controller.rb +0 -32
  82. data/app/controllers/spree/api/v2/storefront/preview_products_controller.rb +0 -48
  83. data/app/controllers/spree/api/v2/storefront/preview_sections_controller.rb +0 -27
  84. data/app/controllers/spree/api/v2/storefront/preview_taxons_controller.rb +0 -18
  85. data/app/controllers/spree/api/v2/storefront/products_controller_decorator.rb +0 -15
  86. data/app/controllers/spree/api/v2/storefront/taxons_controller_decorator.rb +0 -15
  87. data/app/controllers/spree/api/v2/storefront/ticket_transfer_acceptances_controller.rb +0 -32
  88. data/app/controllers/spree/api/v2/storefront/ticket_transfers_controller.rb +0 -117
  89. data/app/controllers/spree/api/v2/tenant/advertisements_controller.rb +0 -24
  90. data/app/controllers/spree/api/v2/tenant/episodes_controller.rb +0 -38
  91. data/app/controllers/spree/api/v2/tenant/free_vote_claims_controller.rb +0 -37
  92. data/app/controllers/spree/api/v2/tenant/preview_products_controller.rb +0 -47
  93. data/app/controllers/spree/api/v2/tenant/preview_sections_controller.rb +0 -26
  94. data/app/controllers/spree/api/v2/tenant/preview_shows_controller.rb +0 -19
  95. data/app/controllers/spree/api/v2/tenant/preview_taxons_controller.rb +0 -19
  96. data/app/controllers/spree/api/v2/tenant/show_contestants_controller.rb +0 -52
  97. data/app/controllers/spree/api/v2/tenant/show_elimination_sessions_controller.rb +0 -57
  98. data/app/controllers/spree/api/v2/tenant/show_people_controller.rb +0 -49
  99. data/app/controllers/spree/api/v2/tenant/show_person_assignments_controller.rb +0 -36
  100. data/app/controllers/spree/api/v2/tenant/shows_controller.rb +0 -36
  101. data/app/controllers/spree/api/v2/tenant/votes_controller.rb +0 -94
  102. data/app/controllers/spree/api/v2/tenant/voting_contestants_controller.rb +0 -43
  103. data/app/controllers/spree/api/v2/tenant/voting_credit_transactions_controller.rb +0 -41
  104. data/app/controllers/spree/api/v2/tenant/voting_credits_controller.rb +0 -31
  105. data/app/helpers/spree_cm_commissioner/admin/ticket_transfers_helper.rb +0 -32
  106. data/app/jobs/spree_cm_commissioner/expire_ticket_transfer_job.rb +0 -10
  107. data/app/jobs/spree_cm_commissioner/show_contestants/import_job.rb +0 -9
  108. data/app/jobs/spree_cm_commissioner/vendor_route_metrics/decrease_trip_count_job.rb +0 -17
  109. data/app/jobs/spree_cm_commissioner/vendor_route_metrics/increase_trip_count_job.rb +0 -14
  110. data/app/jobs/spree_cm_commissioner/vote_fraud_event_job.rb +0 -9
  111. data/app/jobs/spree_cm_commissioner/voting_credit_allocation_job.rb +0 -10
  112. data/app/jobs/spree_cm_commissioner/voting_credit_de_allocation_job.rb +0 -10
  113. data/app/models/concerns/spree_cm_commissioner/ticket_transferable.rb +0 -15
  114. data/app/models/concerns/spree_cm_commissioner/voting_session_live_stream_concern.rb +0 -41
  115. data/app/models/spree_cm_commissioner/imports/import_contestant.rb +0 -7
  116. data/app/models/spree_cm_commissioner/maintenance_tasks/voting_session.rb +0 -36
  117. data/app/models/spree_cm_commissioner/preview_role.rb +0 -8
  118. data/app/models/spree_cm_commissioner/role_user_decorator.rb +0 -8
  119. data/app/models/spree_cm_commissioner/show.rb +0 -163
  120. data/app/models/spree_cm_commissioner/show_contestant.rb +0 -39
  121. data/app/models/spree_cm_commissioner/show_contestant_image.rb +0 -11
  122. data/app/models/spree_cm_commissioner/show_contestant_video.rb +0 -15
  123. data/app/models/spree_cm_commissioner/show_episode.rb +0 -108
  124. data/app/models/spree_cm_commissioner/show_person.rb +0 -15
  125. data/app/models/spree_cm_commissioner/show_person_assignment.rb +0 -21
  126. data/app/models/spree_cm_commissioner/show_person_image.rb +0 -11
  127. data/app/models/spree_cm_commissioner/ticket_transfer.rb +0 -191
  128. data/app/models/spree_cm_commissioner/ticket_transfer_rule.rb +0 -88
  129. data/app/models/spree_cm_commissioner/vendor_route_metric.rb +0 -25
  130. data/app/models/spree_cm_commissioner/vote.rb +0 -16
  131. data/app/models/spree_cm_commissioner/vote_fraud_event.rb +0 -20
  132. data/app/models/spree_cm_commissioner/voting_contestant.rb +0 -100
  133. data/app/models/spree_cm_commissioner/voting_credit.rb +0 -72
  134. data/app/models/spree_cm_commissioner/voting_credit_transaction.rb +0 -55
  135. data/app/models/spree_cm_commissioner/voting_session.rb +0 -216
  136. data/app/models/spree_cm_commissioner/voting_session_stat.rb +0 -8
  137. data/app/notifications/spree_cm_commissioner/ticket_transfer_accepted_notification.rb +0 -48
  138. data/app/notifications/spree_cm_commissioner/ticket_transfer_completed_notification.rb +0 -48
  139. data/app/notifications/spree_cm_commissioner/ticket_transfer_expired_notification.rb +0 -46
  140. data/app/notifications/spree_cm_commissioner/ticket_transfer_received_notification.rb +0 -48
  141. data/app/notifications/spree_cm_commissioner/ticket_transfer_rejected_notification.rb +0 -48
  142. data/app/overrides/spree/admin/products/_form/allow_gift_transfer.html.erb.deface +0 -9
  143. data/app/overrides/spree/admin/products/_form/allow_transfer.html.erb.deface +0 -9
  144. data/app/overrides/spree/admin/products/_form/preview_checkbox.html.erb.deface +0 -9
  145. data/app/overrides/spree/admin/shared/_order_tabs/ticket_transfers.html.erb.deface +0 -10
  146. data/app/overrides/spree/admin/shared/sub_menu/_product/ticket_transfers_tab.html.erb.deface +0 -3
  147. data/app/overrides/spree/admin/taxons/_form/preview_checkbox.html.erb.deface +0 -7
  148. data/app/queries/spree_cm_commissioner/recipient_searcher_query.rb +0 -14
  149. data/app/serializers/spree/v2/tenant/advertisement_serializer.rb +0 -11
  150. data/app/serializers/spree/v2/tenant/campaign_serializer.rb +0 -13
  151. data/app/serializers/spree/v2/tenant/show_contestant_serializer.rb +0 -21
  152. data/app/serializers/spree/v2/tenant/show_episode_serializer.rb +0 -20
  153. data/app/serializers/spree/v2/tenant/show_person_assignment_serializer.rb +0 -16
  154. data/app/serializers/spree/v2/tenant/show_person_serializer.rb +0 -13
  155. data/app/serializers/spree/v2/tenant/show_serializer.rb +0 -21
  156. data/app/serializers/spree/v2/tenant/video_serializer.rb +0 -9
  157. data/app/serializers/spree/v2/tenant/vote_package_serializer.rb +0 -9
  158. data/app/serializers/spree/v2/tenant/vote_serializer.rb +0 -14
  159. data/app/serializers/spree/v2/tenant/voting_contestant_serializer.rb +0 -23
  160. data/app/serializers/spree/v2/tenant/voting_credit_serializer.rb +0 -10
  161. data/app/serializers/spree/v2/tenant/voting_credit_transaction_serializer.rb +0 -14
  162. data/app/serializers/spree/v2/tenant/voting_session_serializer.rb +0 -21
  163. data/app/serializers/spree_cm_commissioner/v2/storefront/guest_minimal_serializer.rb +0 -30
  164. data/app/serializers/spree_cm_commissioner/v2/storefront/line_item_minimal_serializer.rb +0 -57
  165. data/app/serializers/spree_cm_commissioner/v2/storefront/recipient_serializer.rb +0 -13
  166. data/app/serializers/spree_cm_commissioner/v2/storefront/ticket_transfer_minimal_serializer.rb +0 -17
  167. data/app/serializers/spree_cm_commissioner/v2/storefront/ticket_transfer_serializer.rb +0 -20
  168. data/app/services/spree_cm_commissioner/advertisements/sorted_advertisements.rb +0 -61
  169. data/app/services/spree_cm_commissioner/advertisements/update_campaign_sorted_ads_ids.rb +0 -33
  170. data/app/services/spree_cm_commissioner/checkout/complete_decorator.rb +0 -22
  171. data/app/services/spree_cm_commissioner/fraud_check.rb +0 -299
  172. data/app/services/spree_cm_commissioner/imports/contestants/create.rb +0 -153
  173. data/app/services/spree_cm_commissioner/show_contestants/normalize_video_highlights.rb +0 -57
  174. data/app/services/spree_cm_commissioner/show_persons/contestant_assigner.rb +0 -51
  175. data/app/services/spree_cm_commissioner/ticket_transfers/accept.rb +0 -132
  176. data/app/services/spree_cm_commissioner/ticket_transfers/cancel.rb +0 -54
  177. data/app/services/spree_cm_commissioner/ticket_transfers/complete.rb +0 -68
  178. data/app/services/spree_cm_commissioner/ticket_transfers/eligibility_checker.rb +0 -99
  179. data/app/services/spree_cm_commissioner/ticket_transfers/expire.rb +0 -47
  180. data/app/services/spree_cm_commissioner/ticket_transfers/fee_calculator.rb +0 -57
  181. data/app/services/spree_cm_commissioner/ticket_transfers/initiate.rb +0 -98
  182. data/app/services/spree_cm_commissioner/ticket_transfers/preview_rule.rb +0 -38
  183. data/app/services/spree_cm_commissioner/ticket_transfers/reject.rb +0 -55
  184. data/app/services/spree_cm_commissioner/ticket_transfers/transfer_guest.rb +0 -29
  185. data/app/services/spree_cm_commissioner/url_embed/youtube_embed.rb +0 -44
  186. data/app/services/spree_cm_commissioner/vendor_route_metrics/decrease_trip_count.rb +0 -19
  187. data/app/services/spree_cm_commissioner/vendor_route_metrics/increase_trip_count.rb +0 -24
  188. data/app/services/spree_cm_commissioner/vote_counters/audit_counters.rb +0 -43
  189. data/app/services/spree_cm_commissioner/vote_counters/base.rb +0 -31
  190. data/app/services/spree_cm_commissioner/vote_counters/increment.rb +0 -44
  191. data/app/services/spree_cm_commissioner/vote_counters/per_contestant_counter.rb +0 -68
  192. data/app/services/spree_cm_commissioner/vote_counters/rebuild_from_db.rb +0 -70
  193. data/app/services/spree_cm_commissioner/vote_counters/snapshot_to_db.rb +0 -113
  194. data/app/services/spree_cm_commissioner/vote_credit_deductor.rb +0 -68
  195. data/app/services/spree_cm_commissioner/vote_package/create.rb +0 -145
  196. data/app/services/spree_cm_commissioner/vote_package/update.rb +0 -91
  197. data/app/services/spree_cm_commissioner/vote_processor.rb +0 -144
  198. data/app/services/spree_cm_commissioner/voting_contestants/advancer.rb +0 -335
  199. data/app/services/spree_cm_commissioner/voting_contestants/assigner.rb +0 -40
  200. data/app/services/spree_cm_commissioner/voting_contestants/bulk_updater.rb +0 -106
  201. data/app/services/spree_cm_commissioner/voting_credits/allocate.rb +0 -77
  202. data/app/services/spree_cm_commissioner/voting_credits/claim_free_votes.rb +0 -119
  203. data/app/services/spree_cm_commissioner/voting_credits/credit_calculator.rb +0 -35
  204. data/app/services/spree_cm_commissioner/voting_credits/de_allocate.rb +0 -87
  205. data/app/services/spree_cm_commissioner/voting_leaderboards/calculate_score.rb +0 -67
  206. data/app/services/spree_cm_commissioner/voting_leaderboards/combined_result.rb +0 -190
  207. data/app/services/spree_cm_commissioner/voting_sessions/finalize.rb +0 -106
  208. data/app/views/spree/admin/order_ticket_transfers/show.html.erb +0 -7
  209. data/app/views/spree/admin/shared/_ticket_transfer_details.html.erb +0 -226
  210. data/app/views/spree/admin/shared/_ticket_transfer_tabs.html.erb +0 -14
  211. data/app/views/spree/admin/ticket_transfer_rules/_form.html.erb +0 -193
  212. data/app/views/spree/admin/ticket_transfer_rules/edit.html.erb +0 -11
  213. data/app/views/spree/admin/ticket_transfer_rules/index.html.erb +0 -79
  214. data/app/views/spree/admin/ticket_transfer_rules/new.html.erb +0 -11
  215. data/app/views/spree/admin/ticket_transfers/_search_form.html.erb +0 -70
  216. data/app/views/spree/admin/ticket_transfers/_tabs.html.erb +0 -14
  217. data/app/views/spree/admin/ticket_transfers/index.html.erb +0 -74
  218. data/app/views/spree/admin/ticket_transfers/show.html.erb +0 -13
  219. data/app/views/spree/admin/ticket_transfers/state_changes.html.erb +0 -47
  220. data/db/migrate/20260303101440_add_allow_transfer_to_spree_products.rb +0 -5
  221. data/db/migrate/20260303101907_create_cm_ticket_transfers.rb +0 -32
  222. data/db/migrate/20260303102316_add_state_to_cm_guests.rb +0 -7
  223. data/db/migrate/20260309230148_create_cm_show_people.rb +0 -14
  224. data/db/migrate/20260309230149_create_cm_show_people_assignments.rb +0 -16
  225. data/db/migrate/20260310082711_create_cm_show_contestants.rb +0 -28
  226. data/db/migrate/20260310082720_create_cm_voting_sessions.rb +0 -21
  227. data/db/migrate/20260310082721_create_cm_voting_contestants.rb +0 -23
  228. data/db/migrate/20260310082734_add_voting_fields_to_spree_taxons.rb +0 -9
  229. data/db/migrate/20260310082735_add_type_to_spree_products.rb +0 -6
  230. data/db/migrate/20260310082749_create_cm_voting_credits.rb +0 -27
  231. data/db/migrate/20260326080200_create_cm_voting_credit_transactions.rb +0 -27
  232. data/db/migrate/20260330160000_create_cm_votes.rb +0 -25
  233. data/db/migrate/20260401072500_add_advanced_from_to_cm_voting_contestants.rb +0 -7
  234. data/db/migrate/20260402000001_add_voting_credit_scope_to_spree_taxons.rb +0 -6
  235. data/db/migrate/20260402000002_rename_scopeable_to_votable_in_cm_voting_credits.rb +0 -12
  236. data/db/migrate/20260403070000_add_name_to_cm_voting_sessions.rb +0 -5
  237. data/db/migrate/20260406000001_add_vendor_id_to_voting_tables.rb +0 -6
  238. data/db/migrate/20260406000001_rename_votes_remaining_to_amount_in_cm_voting_credits.rb +0 -11
  239. data/db/migrate/20260408085255_add_show_id_and_vendor_id_to_cm_voting_sessions.rb +0 -9
  240. data/db/migrate/20260408100000_create_cm_ticket_transfer_rules.rb +0 -28
  241. data/db/migrate/20260410120000_add_transfer_type_to_cm_ticket_transfers.rb +0 -5
  242. data/db/migrate/20260420000001_rename_type_to_credit_type_in_cm_voting_credits.rb +0 -25
  243. data/db/migrate/20260422000001_create_cm_vote_fraud_events.rb +0 -23
  244. data/db/migrate/20260422120000_add_settlement_status_to_cm_ticket_transfers.rb +0 -6
  245. data/db/migrate/20260423000001_add_preview_to_taxons_products_and_sections.rb +0 -11
  246. data/db/migrate/20260423000002_create_preview_roles.rb +0 -24
  247. data/db/migrate/20260507000000_add_index_to_cm_ticket_transfers_completed_at.rb +0 -5
  248. data/db/migrate/20260515120000_add_public_metadata_to_cm_voting_sessions.rb +0 -5
  249. data/db/migrate/20260518090920_add_unique_voter_count_to_voting_contestants.rb +0 -5
  250. data/db/migrate/20260518094322_create_cm_voting_session_stats.rb +0 -17
  251. data/db/migrate/20260520000000_add_number_to_cm_ticket_transfers.rb +0 -6
  252. data/db/migrate/20260520000001_add_scoring_model_to_cm_voting_sessions.rb +0 -5
  253. data/db/migrate/20260520000001_optimize_cm_votes_indexes.rb +0 -22
  254. data/db/migrate/20260525042257_add_vote_number_to_cm_voting_contestants.rb +0 -18
  255. data/db/migrate/20260527035430_add_confirmed_rank_to_cm_voting_contestants.rb +0 -5
  256. data/db/migrate/20260527062005_add_eliminated_at_to_cm_show_contestants.rb +0 -5
  257. data/db/migrate/20260603063652_add_parent_to_voting_sessions.rb +0 -9
  258. data/db/migrate/20260603090000_add_session_type_to_cm_voting_sessions.rb +0 -6
  259. data/db/migrate/20260605120908_add_description_to_cm_dynamic_fields.rb +0 -5
  260. data/db/migrate/20260608000000_add_allow_gift_transfer_to_spree_products.rb +0 -5
  261. data/db/migrate/20260608000000_add_display_to_cm_voting_sessions.rb +0 -5
  262. data/db/migrate/20260608000000_create_cm_vendor_route_metrics.rb +0 -25
  263. data/db/migrate/20260608152251_add_gender_to_cm_reserved_blocks.rb +0 -5
  264. data/docs/sql/jsonb_query_guide.md +0 -57
  265. data/lib/spree_cm_commissioner/test_helper/factories/show_episode_factory.rb +0 -12
  266. data/lib/spree_cm_commissioner/test_helper/factories/show_factory.rb +0 -120
  267. data/lib/spree_cm_commissioner/test_helper/factories/ticket_transfer_factory.rb +0 -18
  268. data/lib/spree_cm_commissioner/test_helper/factories/vendor_route_metric_factory.rb +0 -10
  269. data/lib/spree_cm_commissioner/test_helper/factories/vote_credit_factory.rb +0 -37
  270. data/lib/spree_cm_commissioner/test_helper/factories/vote_factory.rb +0 -28
  271. data/lib/spree_cm_commissioner/test_helper/factories/voting_credit_transaction_factory.rb +0 -11
  272. data/lib/spree_cm_commissioner/test_helper/factories/voting_session_factory.rb +0 -11
  273. data/lib/tasks/backfill_route_metrics.rake +0 -21
  274. data/lib/tasks/backfill_vendor_route_metrics.rake +0 -23
@@ -1,11 +1,10 @@
1
1
  module SpreeCmCommissioner
2
2
  module RoleDecorator
3
3
  def self.prepended(base)
4
- base.enum role_type: { internal: 0, external: 1, preview: 2 }
4
+ base.enum role_type: { internal: 0, external: 1 }
5
5
 
6
6
  base.has_many :role_permissions, class_name: 'SpreeCmCommissioner::RolePermission'
7
7
  base.has_many :permissions, through: :role_permissions, class_name: 'SpreeCmCommissioner::Permission'
8
- base.has_many :preview_roles, class_name: 'SpreeCmCommissioner::PreviewRole'
9
8
 
10
9
  base.belongs_to :vendor, optional: true
11
10
 
@@ -14,8 +13,6 @@ module SpreeCmCommissioner
14
13
  where(vendor_id: vendor)
15
14
  }
16
15
  base.scope :filter_external, -> { where(role_type: :external) }
17
- base.scope :filter_internal, -> { where(role_type: :internal) }
18
- base.scope :filter_preview, -> { where(role_type: :preview) }
19
16
 
20
17
  base.accepts_nested_attributes_for :role_permissions, allow_destroy: true
21
18
 
@@ -3,10 +3,6 @@ module SpreeCmCommissioner
3
3
  module AvailabilityValidatorDecorator
4
4
  # override
5
5
  def item_available?(line_item, quantity)
6
- # Ticket-transfer orders move existing inventory between guests rather than
7
- # purchasing new stock, so they must not be gated by the live stock check.
8
- return true if line_item.order&.ticket_transfer?
9
-
10
6
  SpreeCmCommissioner::Stock::LineItemAvailabilityChecker.new(line_item)
11
7
  .can_supply?(quantity)
12
8
  end
@@ -32,9 +32,6 @@ module SpreeCmCommissioner
32
32
  end
33
33
 
34
34
  def sufficient_stock_for?(line_item, cached_inventory_items)
35
- # Ticket transfer orders move an already-owned stock between users,
36
- # so they must skip stock checks even when the event is sold out.
37
- return true if order.ticket_transfer?
38
35
  return false unless line_item.variant.available?
39
36
  return true unless line_item.variant.should_track_inventory?
40
37
  return true if line_item.variant.backorderable?
@@ -83,28 +83,7 @@ module SpreeCmCommissioner
83
83
 
84
84
  base.has_many :import_orders, as: :importable, class_name: 'SpreeCmCommissioner::Imports::ImportOrder', dependent: :destroy
85
85
 
86
- base.scope :shows, -> { where(taxonomy_id: Spree::Taxonomy.shows.id, depth: 1) }
87
- base.scope :events, -> { where(taxonomy_id: Spree::Taxonomy.events.id, depth: 1) }
88
- base.scope :campaigns, -> { where(taxonomy_id: Spree::Taxonomy.ads.id, depth: 1) }
89
-
90
- base.store_public_metadata :sorted_ads_ids, :array, default: []
91
-
92
- base.has_many :advertisements, lambda {
93
- advertisement.where(deleted_at: nil)
94
- }, through: :classifications, class_name: 'Spree::Product', source: :product
95
86
  base.has_many :agencies, class_name: 'SpreeCmCommissioner::Agency', foreign_key: :agency_category_id
96
- base.has_many :preview_roles, class_name: 'SpreeCmCommissioner::PreviewRole', as: :previewable
97
-
98
- base.scope :visible_to, lambda { |user|
99
- publicly_available = where(preview: false)
100
-
101
- if user
102
- allowed_ids = user.preview_roles.where(previewable_type: polymorphic_name).select(:previewable_id)
103
- publicly_available.or(where(preview: true, id: allowed_ids))
104
- else
105
- publicly_available
106
- end
107
- }
108
87
 
109
88
  # Create maintaining task to purge taxon related caches
110
89
  base.after_save { SpreeCmCommissioner::MaintenanceTasks::CacheInvalidation.pending.create_or_find_by(maintainable: self) }
@@ -117,7 +96,6 @@ module SpreeCmCommissioner
117
96
  .joins('INNER JOIN cm_homepage_sections ON cm_homepage_section_relatables.homepage_section_id = cm_homepage_sections.id')
118
97
  .where(cm_homepage_sections: { tenant_id: nil, active: true })
119
98
  .where(kind: :event)
120
- .where(preview: false)
121
99
  end
122
100
 
123
101
  def base.find_event(id)
@@ -1,6 +1,6 @@
1
1
  module SpreeCmCommissioner
2
2
  module TaxonomyDecorator
3
- def self.prepended(base) # rubocop:disable Metrics/MethodLength
3
+ def self.prepended(base)
4
4
  base.include SpreeCmCommissioner::TaxonKind
5
5
 
6
6
  base.belongs_to :vendor, class_name: 'Spree::Vendor', optional: true
@@ -15,15 +15,6 @@ module SpreeCmCommissioner
15
15
  end
16
16
  end
17
17
 
18
- def base.shows
19
- ActiveRecord::Base.connected_to(role: :writing) do
20
- shows = Spree::Taxonomy.find_or_create_by(name: 'Shows', store: Spree::Store.default)
21
- shows.kind = :event
22
- shows.save if shows.changed?
23
- shows
24
- end
25
- end
26
-
27
18
  def base.businesses
28
19
  ActiveRecord::Base.connected_to(role: :writing) do
29
20
  businesses = Spree::Taxonomy.find_or_create_by(name: 'Businesses', store: Spree::Store.default)
@@ -41,15 +32,6 @@ module SpreeCmCommissioner
41
32
  agency_categories
42
33
  end
43
34
  end
44
-
45
- def base.ads
46
- ActiveRecord::Base.connected_to(role: :writing) do
47
- ads = Spree::Taxonomy.find_or_create_by(name: 'Ads', store: Spree::Store.default)
48
- ads.kind = :ads
49
- ads.save if ads.changed?
50
- ads
51
- end
52
- end
53
35
  end
54
36
  end
55
37
  end
@@ -24,8 +24,6 @@ module SpreeCmCommissioner
24
24
 
25
25
  before_validation :generate_slug, if: -> { slug.blank? && name.present? }
26
26
 
27
- validate :single_active_vendor
28
-
29
27
  def active_vendor
30
28
  vendors.where(state: :active).first
31
29
  end
@@ -45,12 +43,5 @@ module SpreeCmCommissioner
45
43
  def generate_slug
46
44
  self.slug = name.parameterize if slug.blank?
47
45
  end
48
-
49
- # Add Guardrails to ensure data integrity and make system predictable.
50
- def single_active_vendor
51
- return unless vendors.where(state: :active).count > 1
52
-
53
- errors.add(:base, 'must have at most one active vendor')
54
- end
55
46
  end
56
47
  end
@@ -21,13 +21,8 @@ module SpreeCmCommissioner
21
21
 
22
22
  # before create, duplicate seat layout from vehicle_type if present
23
23
  before_validation :duplicate_seat_layout_from_vehicle, if: -> { seat_layout.nil? && vehicle_type&.seat_layout.present? }
24
-
25
24
  after_create :increment_route_metric_trip_count
26
- after_create :increment_vendor_route_metric_trip_count
27
-
28
25
  before_destroy :decrement_route_metric_trip_count
29
- before_destroy :decrement_vendor_route_metric_trip_count
30
-
31
26
  after_commit :update_route_price_range, on: %i[create update]
32
27
 
33
28
  belongs_to :vendor, class_name: 'Spree::Vendor', inverse_of: :trips, optional: false
@@ -167,8 +162,6 @@ module SpreeCmCommissioner
167
162
  end
168
163
 
169
164
  def increment_route_metric_trip_count
170
- return if route_type.nil?
171
-
172
165
  SpreeCmCommissioner::RouteMetrics::IncreaseTripCountJob.perform_later(
173
166
  origin_place_id: origin_place_id,
174
167
  destination_place_id: destination_place_id,
@@ -177,8 +170,6 @@ module SpreeCmCommissioner
177
170
  end
178
171
 
179
172
  def decrement_route_metric_trip_count
180
- return if route_type.nil?
181
-
182
173
  SpreeCmCommissioner::RouteMetrics::DecreaseTripCountJob.perform_later(
183
174
  origin_place_id: origin_place_id,
184
175
  destination_place_id: destination_place_id,
@@ -186,28 +177,6 @@ module SpreeCmCommissioner
186
177
  )
187
178
  end
188
179
 
189
- def increment_vendor_route_metric_trip_count
190
- return if vendor_id.nil? || route_type.nil?
191
-
192
- SpreeCmCommissioner::VendorRouteMetrics::IncreaseTripCountJob.perform_later(
193
- vendor_id: vendor_id,
194
- origin_place_id: origin_place_id,
195
- destination_place_id: destination_place_id,
196
- route_type: route_type
197
- )
198
- end
199
-
200
- def decrement_vendor_route_metric_trip_count
201
- return if vendor_id.nil? || route_type.nil?
202
-
203
- SpreeCmCommissioner::VendorRouteMetrics::DecreaseTripCountJob.perform_later(
204
- vendor_id: vendor_id,
205
- origin_place_id: origin_place_id,
206
- destination_place_id: destination_place_id,
207
- route_type: route_type
208
- )
209
- end
210
-
211
180
  def update_route_price_range
212
181
  return unless route_id.present? && product_id.present?
213
182
 
@@ -19,8 +19,6 @@ module SpreeCmCommissioner
19
19
  base.has_many :payments, as: :payable, class_name: 'Spree::Payment', dependent: :nullify
20
20
  base.has_many :role_permissions, through: :spree_roles, class_name: 'SpreeCmCommissioner::RolePermission'
21
21
  base.has_many :permissions, through: :role_permissions, class_name: 'SpreeCmCommissioner::Permission'
22
- base.has_many :preview_spree_roles, -> { where(role_type: :preview) }, through: :role_users, source: :role, class_name: 'Spree::Role'
23
- base.has_many :preview_roles, through: :preview_spree_roles, class_name: 'SpreeCmCommissioner::PreviewRole'
24
22
  base.has_many :line_items, through: :orders, source: :line_items
25
23
  base.has_many :check_ins, foreign_key: 'check_in_by_id', class_name: 'SpreeCmCommissioner::CheckIn'
26
24
  base.has_many :user_events, class_name: 'SpreeCmCommissioner::UserEvent'
@@ -37,9 +35,6 @@ module SpreeCmCommissioner
37
35
  base.has_many :user_agencies, class_name: 'SpreeCmCommissioner::UserAgency'
38
36
  base.has_many :user_places, class_name: 'SpreeCmCommissioner::UserPlace'
39
37
  base.has_many :places, through: :user_places, class_name: 'SpreeCmCommissioner::Place'
40
- base.has_many :voting_credits, class_name: 'SpreeCmCommissioner::VotingCredit', dependent: :destroy
41
- base.has_many :votes, class_name: 'SpreeCmCommissioner::Vote', dependent: :destroy
42
- base.has_many :voting_credit_transactions, through: :voting_credits, class_name: 'SpreeCmCommissioner::VotingCreditTransaction'
43
38
 
44
39
  base.has_one :profile, as: :viewable, dependent: :destroy, class_name: 'SpreeCmCommissioner::UserProfile'
45
40
  base.has_one :customer, class_name: 'SpreeCmCommissioner::Customer'
@@ -164,7 +159,6 @@ module SpreeCmCommissioner
164
159
  return first_name if first_name.present?
165
160
  return last_name if last_name.present?
166
161
  return email if email.present?
167
- return login if login.present?
168
162
 
169
163
  phone_number
170
164
  end
@@ -48,10 +48,6 @@ module SpreeCmCommissioner
48
48
  public_metadata[:preload_options_text].presence || Spree::Variants::VisibleOptionsPresenter.new(self).to_sentence
49
49
  end
50
50
 
51
- def vote_credits
52
- options.vote_package_amount
53
- end
54
-
55
51
  def delivery_required?
56
52
  delivery_option == 'delivery'
57
53
  end
@@ -146,10 +146,6 @@ module SpreeCmCommissioner
146
146
  @seat_type ||= option_value_name_for(option_type_name: 'seat-type')
147
147
  end
148
148
 
149
- def vote_package_amount
150
- @vote_package_amount ||= option_value_name_for(option_type_name: 'vote-package')&.to_i
151
- end
152
-
153
149
  # can consider as customers.
154
150
  def number_of_guests
155
151
  number_of_adults + number_of_kids
@@ -33,10 +33,6 @@ module SpreeCmCommissioner
33
33
 
34
34
  base.has_many :taxon_vendors, class_name: 'SpreeCmCommissioner::TaxonVendor'
35
35
  base.has_many :taxons, through: :taxon_vendors
36
- base.has_many :shows, -> { where(spree_taxons: { type: 'SpreeCmCommissioner::Show' }) },
37
- through: :taxon_vendors, source: :taxon, class_name: 'SpreeCmCommissioner::Show'
38
-
39
- base.has_many :voting_sessions, class_name: 'SpreeCmCommissioner::VotingSession', dependent: :destroy
40
36
 
41
37
  base.has_many :promoted_option_types, -> { where(promoted: true).order(:position) },
42
38
  through: :vendor_option_types, source: :option_type
@@ -16,7 +16,7 @@
16
16
  # @return [Array<TripQueryResult>] Multi-leg trip results with pricing and inventory
17
17
  #
18
18
  module SpreeCmCommissioner
19
- class MultiLegTripsQuery # rubocop:disable Metrics/ClassLength
19
+ class MultiLegTripsQuery
20
20
  include SpreeCmCommissioner::Transit::TripHelper
21
21
 
22
22
  attr_reader :origin_id,
@@ -71,10 +71,7 @@ module SpreeCmCommissioner
71
71
  id: leg.parent_trip_id,
72
72
  origin_place_id: leg.parent_origin_place_id,
73
73
  destination_place_id: leg.parent_destination_place_id,
74
- route_type: leg.parent_route_type,
75
- vendor_id: leg.parent_vendor_id,
76
- has_return_trip_globally: leg.has_return_trip_globally,
77
- has_return_trip_in_vendor: leg.has_return_trip_in_vendor
74
+ vendor_id: leg.parent_vendor_id
78
75
  }
79
76
  end
80
77
 
@@ -117,17 +114,6 @@ module SpreeCmCommissioner
117
114
  LEFT JOIN spree_prices AS date_prices
118
115
  ON date_prices.inventory_item_id = cm_inventory_items.id
119
116
  AND date_prices.deleted_at IS NULL
120
-
121
- LEFT JOIN cm_route_metrics AS global_return_metric
122
- ON global_return_metric.origin_place_id = parent.destination_place_id
123
- AND global_return_metric.destination_place_id = parent.origin_place_id
124
- AND global_return_metric.route_type = parent.route_type
125
-
126
- LEFT JOIN cm_vendor_route_metrics AS vendor_return_metric
127
- ON vendor_return_metric.vendor_id = parent.vendor_id
128
- AND vendor_return_metric.origin_place_id = parent.destination_place_id
129
- AND vendor_return_metric.destination_place_id = parent.origin_place_id
130
- AND vendor_return_metric.route_type = parent.route_type
131
117
  SQL
132
118
  .where(parent: { origin_place_id: origin_id, destination_place_id: destination_id })
133
119
 
@@ -146,7 +132,6 @@ module SpreeCmCommissioner
146
132
  parent.origin_place_id AS parent_origin_place_id,
147
133
  parent.destination_place_id AS parent_destination_place_id,
148
134
  parent.vendor_id AS parent_vendor_id,
149
- parent.route_type AS parent_route_type,
150
135
  cm_trips.id AS leg_id,
151
136
  stop_legs.offset_days AS offset_days,
152
137
  stop_legs.sequence AS sequence,
@@ -156,10 +141,7 @@ module SpreeCmCommissioner
156
141
 
157
142
  COALESCE(MIN(date_prices.amount), MIN(prices.amount)) AS price,
158
143
  COALESCE(MIN(date_prices.compare_at_amount), MIN(prices.compare_at_amount)) AS compare_at_price,
159
- MIN(COALESCE(date_prices.currency, prices.currency)) AS currency,
160
-
161
- COALESCE(MAX(global_return_metric.trip_count), 0) > 0 AS has_return_trip_globally,
162
- COALESCE(MAX(vendor_return_metric.trip_count), 0) > 0 AS has_return_trip_in_vendor
144
+ MIN(COALESCE(date_prices.currency, prices.currency)) AS currency
163
145
  SQL
164
146
  # GROUP BY ensures one result row per parent+leg combination, and SUM aggregates inventory
165
147
  # across all variants for that leg. Without aggregation, the single JOIN on spree_variants
@@ -173,7 +155,6 @@ module SpreeCmCommissioner
173
155
  parent.origin_place_id,
174
156
  parent.destination_place_id,
175
157
  parent.vendor_id,
176
- parent.route_type,
177
158
  stop_legs.sequence,
178
159
  stop_legs.offset_days
179
160
  SQL
@@ -214,7 +195,7 @@ module SpreeCmCommissioner
214
195
  :destination_place,
215
196
  :vendor,
216
197
  { vehicle_type: { option_values: :option_type } },
217
- { trip_stops: %i[stop_place location_place] },
198
+ { trip_stops: :stop_place },
218
199
  { product: { variants: :prices } }
219
200
  )
220
201
  .index_by(&:id)
@@ -235,14 +216,14 @@ module SpreeCmCommissioner
235
216
  parent_trip: parent_trip,
236
217
  trips: legs.map do |trip|
237
218
  row = inventory_map[[parent_id, trip.id]]
238
- build_trip_result(trip: trip, trip_row: row, parent_trip: parent_trip)
219
+ build_trip_result(trip: trip, trip_row: row)
239
220
  end
240
221
  )
241
222
  end
242
223
  end
243
224
 
244
225
  # @return [TripResult] Single leg with pricing and inventory
245
- def build_trip_result(trip:, trip_row:, parent_trip:)
226
+ def build_trip_result(trip:, trip_row:)
246
227
  SpreeCmCommissioner::TripResult.new(
247
228
  id: trip.id,
248
229
  departure_time: trip.departure_time,
@@ -278,10 +259,7 @@ module SpreeCmCommissioner
278
259
 
279
260
  stops: build_stops_from_record(trip),
280
261
 
281
- amenities: trip.vehicle_type&.option_values || [],
282
-
283
- has_return_trip_globally: parent_trip[:has_return_trip_globally] || false,
284
- has_return_trip_in_vendor: parent_trip[:has_return_trip_in_vendor] || false
262
+ amenities: trip.vehicle_type&.option_values || []
285
263
  )
286
264
  end
287
265
 
@@ -296,8 +274,7 @@ module SpreeCmCommissioner
296
274
  departure_time: stop.departure_time,
297
275
  arrival_time: stop.arrival_time,
298
276
  lat: stop.stop_place&.lat,
299
- lon: stop.stop_place&.lon,
300
- location_name: stop.location_place&.name
277
+ lon: stop.stop_place&.lon
301
278
  }
302
279
  end
303
280
  end
@@ -78,7 +78,6 @@ module SpreeCmCommissioner
78
78
  LEFT JOIN cm_inventory_items AS date_iv ON date_iv.variant_id = trip_variant.id AND date_iv.inventory_date = '#{date.to_date}' AND date_iv.quantity_available >= #{number_of_guests}
79
79
  LEFT JOIN spree_prices AS date_prices ON date_prices.inventory_item_id = date_iv.id AND date_prices.deleted_at IS NULL
80
80
  LEFT JOIN (#{stops_subquery_sql}) all_stops ON all_stops.trip_id = cm_trips.id
81
- #{return_metric_joins_sql}
82
81
  SQL
83
82
  )
84
83
  .where(<<~SQL.squish, origin: origin_id, destination: destination_id)
@@ -110,35 +109,7 @@ module SpreeCmCommissioner
110
109
  COALESCE(date_prices.amount, prices.amount) AS price,
111
110
  COALESCE(date_prices.compare_at_amount, prices.compare_at_amount) AS compare_at_price,
112
111
  COALESCE(date_prices.currency, prices.currency) AS currency,
113
- all_stops.stops AS stops,
114
- #{return_columns_sql}
115
- SQL
116
- end
117
-
118
- # Expose whether a return (reverse-direction) trip exists, in two scopes, by reading the
119
- # reverse-pair counters. Always computed (no return_date needed) so the response — and therefore
120
- # the CDN/cache key — stays the same regardless of round-trip intent; the client filters by these
121
- # flags locally when a return date is chosen. Date-agnostic by design (answers "a reverse route
122
- # exists", not "a reverse trip runs on a specific date");
123
- def return_columns_sql
124
- <<~SQL.squish
125
- COALESCE(global_return_metric.trip_count, 0) > 0 AS has_return_trip_globally,
126
- COALESCE(vendor_return_metric.trip_count, 0) > 0 AS has_return_trip_in_vendor
127
- SQL
128
- end
129
-
130
- # Reverse lookup: a trip A -> B has a return when a B -> A metric row has trips.
131
- def return_metric_joins_sql
132
- <<~SQL.squish
133
- LEFT JOIN cm_route_metrics AS global_return_metric
134
- ON global_return_metric.origin_place_id = cm_trips.destination_place_id
135
- AND global_return_metric.destination_place_id = cm_trips.origin_place_id
136
- AND global_return_metric.route_type = cm_trips.route_type
137
- LEFT JOIN cm_vendor_route_metrics AS vendor_return_metric
138
- ON vendor_return_metric.vendor_id = cm_trips.vendor_id
139
- AND vendor_return_metric.origin_place_id = cm_trips.destination_place_id
140
- AND vendor_return_metric.destination_place_id = cm_trips.origin_place_id
141
- AND vendor_return_metric.route_type = cm_trips.route_type
112
+ all_stops.stops AS stops
142
113
  SQL
143
114
  end
144
115
 
@@ -157,13 +128,11 @@ module SpreeCmCommissioner
157
128
  'departure_time', ts.departure_time AT TIME ZONE 'UTC',
158
129
  'arrival_time', ts.arrival_time AT TIME ZONE 'UTC',
159
130
  'lat', p.lat,
160
- 'lon', p.lon,
161
- 'location_name', lp.name
131
+ 'lon', p.lon
162
132
  ) ORDER BY ts.sequence
163
133
  ) AS stops
164
134
  FROM cm_trip_stops ts
165
135
  LEFT JOIN cm_places p ON p.id = ts.stop_place_id
166
- LEFT JOIN cm_places lp ON lp.id = ts.location_place_id
167
136
  GROUP BY ts.trip_id
168
137
  SQL
169
138
  end
@@ -2,7 +2,7 @@ module Spree
2
2
  module V2
3
3
  module Storefront
4
4
  class HomepageSectionSerializer < BaseSerializer
5
- attributes :id, :title, :segments, :description, :active, :position, :preview, :created_at, :updated_at
5
+ attributes :id, :title, :segments, :description, :active, :position, :created_at, :updated_at
6
6
  has_many :homepage_section_relatables
7
7
  end
8
8
  end
@@ -35,16 +35,14 @@ module Spree
35
35
 
36
36
  base.has_one :google_wallet, serializer: SpreeCmCommissioner::V2::Storefront::GoogleWalletSerializer
37
37
 
38
- base.has_many :guests, serializer: SpreeCmCommissioner::V2::Storefront::GuestMinimalSerializer
38
+ base.has_many :guests, serializer: SpreeCmCommissioner::V2::Storefront::GuestSerializer
39
39
 
40
40
  base.has_many :saved_guests, serializer: SpreeCmCommissioner::V2::Storefront::SavedGuestSerializer
41
41
 
42
- base.has_many :pending_guests, serializer: SpreeCmCommissioner::V2::Storefront::GuestMinimalSerializer
42
+ base.has_many :pending_guests, serializer: SpreeCmCommissioner::V2::Storefront::GuestSerializer
43
43
 
44
44
  base.has_one :product, serializer: Spree::V2::Storefront::ProductSerializer
45
45
 
46
- base.has_one :event, serializer: Spree::V2::Storefront::TaxonSerializer
47
-
48
46
  # completion_steps updates frequently
49
47
  base.cache_options store: nil
50
48
  end
@@ -12,9 +12,8 @@ module Spree
12
12
  base.has_one :default_state, serializer: :state
13
13
  base.has_one :venue, serializer: ::SpreeCmCommissioner::V2::Storefront::ProductPlaceSerializer
14
14
 
15
- base.attributes :need_confirmation, :product_type, :kyc, :kyc_fields, :allowed_upload_later, :allow_anonymous_booking,
16
- :use_video_as_default, :allow_transfer, :allow_gift_transfer
17
- base.attributes :reveal_description, :discontinue_on, :public_metadata, :purchasable_on, :preview
15
+ base.attributes :need_confirmation, :product_type, :kyc, :kyc_fields, :allowed_upload_later, :allow_anonymous_booking, :use_video_as_default
16
+ base.attributes :reveal_description, :discontinue_on, :public_metadata, :purchasable_on
18
17
 
19
18
  # Expose only the `event_id` here instead of the full event object.
20
19
  # This lets the client fetch event details separately (usually already cached),
@@ -2,7 +2,7 @@ module Spree
2
2
  module V2
3
3
  module Storefront
4
4
  class RoleSerializer < BaseSerializer
5
- attributes :name, :role_type
5
+ attributes :name
6
6
  end
7
7
  end
8
8
  end
@@ -15,8 +15,7 @@ module Spree
15
15
 
16
16
  base.attributes :custom_redirect_url, :kind, :subtitle, :from_date, :to_date,
17
17
  :background_color, :foreground_color, :show_badge_status,
18
- :purchasable_on, :vendor_id, :available_on, :hide_video_banner,
19
- :preview
18
+ :purchasable_on, :vendor_id, :available_on, :hide_video_banner
20
19
 
21
20
  # To get full seat layout details, call the seat_layouts API with this ID.
22
21
  base.attribute :seat_layout_ids, &:preload_seat_layout_ids
@@ -2,7 +2,7 @@ module Spree
2
2
  module V2
3
3
  module Tenant
4
4
  class DynamicFieldSerializer < BaseSerializer
5
- attributes :id, :label, :description, :data_type, :vendor_id, :multiple_select, :position, :data_fill_stage
5
+ attributes :id, :label, :data_type, :vendor_id, :multiple_select, :position, :data_fill_stage
6
6
 
7
7
  has_many :dynamic_field_options, serializer: Spree::V2::Tenant::DynamicFieldOptionSerializer
8
8
  end
@@ -3,7 +3,7 @@ module Spree
3
3
  module Tenant
4
4
  class HomepageSectionSerializer < BaseSerializer
5
5
  attributes :id, :title, :segments, :description,
6
- :active, :position, :preview, :created_at, :updated_at
6
+ :active, :position, :created_at, :updated_at
7
7
 
8
8
  has_many :homepage_section_relatables, serializer: ::Spree::V2::Tenant::HomepageSectionRelatableSerializer
9
9
  end
@@ -2,7 +2,7 @@ module Spree
2
2
  module V2
3
3
  module Tenant
4
4
  class RoleSerializer < BaseSerializer
5
- attributes :name, :presentation, :role_type
5
+ attributes :name
6
6
  end
7
7
  end
8
8
  end
@@ -2,7 +2,7 @@ module SpreeCmCommissioner
2
2
  module V2
3
3
  module Storefront
4
4
  class DynamicFieldSerializer < BaseSerializer
5
- attributes :id, :label, :description, :data_type, :vendor_id, :multiple_select, :created_at, :updated_at, :position, :data_fill_stage
5
+ attributes :id, :label, :data_type, :vendor_id, :multiple_select, :created_at, :updated_at, :position, :data_fill_stage
6
6
 
7
7
  has_many :dynamic_field_options, serializer: SpreeCmCommissioner::V2::Storefront::DynamicFieldOptionSerializer
8
8
  end
@@ -8,7 +8,7 @@ module SpreeCmCommissioner
8
8
  :qr_data, :social_contact_platform, :social_contact, :available_social_contact_platforms,
9
9
  :age, :emergency_contact, :other_organization, :expectation, :upload_later, :address, :formatted_bib_number, :phone_number,
10
10
  :token, :country_code, :contact, :data_fill_stage_phase,
11
- :saved_guest_id, :state
11
+ :saved_guest_id
12
12
 
13
13
  # temporary, once app release after cm-app v1.9.1, we no longer need this.
14
14
  attribute :seat_number do |object|
@@ -30,8 +30,6 @@ module SpreeCmCommissioner
30
30
 
31
31
  has_many :check_ins, serializer: SpreeCmCommissioner::V2::Storefront::CheckInSerializer
32
32
 
33
- has_many :ticket_transfers, serializer: SpreeCmCommissioner::V2::Storefront::TicketTransferMinimalSerializer
34
-
35
33
  # allowed_checkout updates frequently
36
34
  cache_options store: nil
37
35
  end
@@ -2,7 +2,7 @@ module SpreeCmCommissioner
2
2
  module V2
3
3
  module Storefront
4
4
  class ReservedBlockSerializer < BaseSerializer
5
- attributes :block_id, :gender
5
+ attributes :block_id
6
6
  end
7
7
  end
8
8
  end
@@ -4,8 +4,7 @@ module SpreeCmCommissioner
4
4
  class TripQueryResultSerializer < BaseSerializer
5
5
  set_type :trip_query_result
6
6
 
7
- attributes :quantity_available, :max_capacity, :price, :compare_at_price, :currency, :display_price, :display_compare_at_price,
8
- :has_return_trip_globally, :has_return_trip_in_vendor
7
+ attributes :quantity_available, :max_capacity, :price, :compare_at_price, :currency, :display_price, :display_compare_at_price
9
8
 
10
9
  attribute :direct, &:direct?
11
10
  has_many :trips, serializer: ::SpreeCmCommissioner::V2::Storefront::TripResultSerializer
@@ -11,7 +11,6 @@ module SpreeCmCommissioner
11
11
  :offset_days
12
12
 
13
13
  has_one :stop_place, serializer: ::SpreeCmCommissioner::V2::Storefront::TripPlaceSerializer
14
- has_one :location_place, serializer: ::SpreeCmCommissioner::V2::Storefront::TripPlaceSerializer
15
14
  end
16
15
  end
17
16
  end
@@ -66,19 +66,12 @@ module SpreeCmCommissioner
66
66
  '/api/v2/storefront/homepage_data*'
67
67
  ],
68
68
  'Spree::Taxon' => ['/api/v2/storefront/taxons/:id*'],
69
- 'SpreeCmCommissioner::Show' => ['/api/v2/storefront/taxons/:id*'],
70
69
  'Spree::Product' => [
71
70
  '/api/v2/tenant/products/:id*',
72
71
  '/api/v2/tenant/products/:slug*',
73
72
  '/api/v2/storefront/products/:id*',
74
73
  '/api/v2/storefront/products/:slug*'
75
74
  ],
76
- 'SpreeCmCommissioner::ShowEpisode' => [
77
- '/api/v2/tenant/products/:id*',
78
- '/api/v2/tenant/products/:slug*',
79
- '/api/v2/storefront/products/:id*',
80
- '/api/v2/storefront/products/:slug*'
81
- ],
82
75
  'Spree::Vendor' => [
83
76
  '/api/v2/tenant/vendors/:id*',
84
77
  '/api/v2/storefront/vendors/:id*',
@@ -94,15 +87,10 @@ module SpreeCmCommissioner
94
87
  'SpreeCmCommissioner::HomepageBackground' => homepage_background_patterns,
95
88
  'Spree::Menu' => ['/api/v2/storefront/menus/*'],
96
89
  'Spree::Taxon' => ['/api/v2/storefront/taxons/*'],
97
- 'SpreeCmCommissioner::Show' => ['/api/v2/storefront/taxons/*'],
98
90
  'Spree::Product' => [
99
91
  '/api/v2/tenant/products/*',
100
92
  '/api/v2/storefront/products/*'
101
93
  ],
102
- 'SpreeCmCommissioner::ShowEpisode' => [
103
- '/api/v2/tenant/products/*',
104
- '/api/v2/storefront/products/*'
105
- ],
106
94
  'Spree::Vendor' => [
107
95
  '/api/v2/tenant/vendors/*',
108
96
  '/api/v2/storefront/vendors/*',