simpleshop_theme/lib/simpleshop_theme_web/controllers
jamey 3e19887499 feat: add Printify order submission and fulfilment tracking
Submit paid orders to Printify via provider API with idempotent
guards, Stripe address mapping, and error handling. Track fulfilment
status through submitted → processing → shipped → delivered via
webhook-driven updates (primary) and Oban Cron polling fallback.

- 9 fulfilment fields on orders (status, provider IDs, tracking, timestamps)
- OrderSubmissionWorker with retry logic, auto-enqueued after Stripe payment
- FulfilmentStatusWorker polls every 30 mins for missed webhook events
- Printify order webhook handlers (sent-to-production, shipment, delivered)
- Admin UI: fulfilment column in table, fulfilment card with tracking info,
  submit/retry and refresh buttons on order detail
- Mox provider mocking for test isolation (Provider.for_type configurable)
- 33 new tests (555 total), verified against real Printify API

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 09:51:51 +00:00
..
page_html mix phx.new simpleshop_theme --database sqlite3 --adapter bandit --binary-id 2025-12-30 12:26:26 +00:00
admin_controller.ex perf: self-host fonts and add /admin route 2026-01-20 22:54:07 +00:00
cart_controller.ex feat: add cart page, cart drawer, and shared cart infrastructure 2026-02-06 19:39:37 +00:00
checkout_controller.ex feat: add Stripe checkout, order persistence, and webhook handling 2026-02-07 08:30:17 +00:00
error_html.ex chore: apply mix format to codebase 2026-01-31 14:24:58 +00:00
error_json.ex mix phx.new simpleshop_theme --database sqlite3 --adapter bandit --binary-id 2025-12-30 12:26:26 +00:00
error_preview_controller.ex feat: add Cart page and themed error pages 2026-01-17 22:29:45 +00:00
image_controller.ex feat: enhance image optimization with on-demand JPEG fallbacks 2026-01-25 00:33:09 +00:00
page_controller.ex mix phx.new simpleshop_theme --database sqlite3 --adapter bandit --binary-id 2025-12-30 12:26:26 +00:00
page_html.ex mix phx.new simpleshop_theme --database sqlite3 --adapter bandit --binary-id 2025-12-30 12:26:26 +00:00
stripe_webhook_controller.ex feat: add Printify order submission and fulfilment tracking 2026-02-08 09:51:51 +00:00
user_session_controller.ex mix phx.gen.auth Accounts User users 2025-12-30 12:26:46 +00:00
webhook_controller.ex feat: add Printify webhook endpoint for real-time product updates 2026-01-31 22:41:15 +00:00