berrypod/lib/simpleshop_theme
jamey eede9bb517 feat: add encrypted settings, guided Stripe setup, and admin credentials page
Store API keys and secrets encrypted in the SQLite database via the
existing Vault module (AES-256-GCM). The only external dependency is
SECRET_KEY_BASE — everything else lives in the portable DB file.

- Add encrypted_value column to settings table with new "encrypted" type
- Add put_secret/get_secret/delete_setting/secret_hint to Settings context
- Add Secrets module to load encrypted config into Application env at startup
- Add Stripe.Setup module with connect/disconnect/verify_api_key flow
  - Auto-creates webhook endpoints via Stripe API in production
  - Detects localhost and shows Stripe CLI instructions for dev
- Add admin credentials page at /admin/settings with guided setup:
  - Not configured: single Secret key input with dashboard link
  - Connected (production): status display, webhook info, disconnect
  - Connected (dev): Stripe CLI instructions, manual signing secret input
- Remove Stripe env vars from dev.exs and runtime.exs
- Fix CSSCache test startup crash (handle_continue instead of init)
- Add nav link for Credentials page

507 tests, 0 failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 17:12:53 +00:00
..
accounts mix phx.gen.auth Accounts User users 2025-12-30 12:26:46 +00:00
clients feat: add Printify webhook endpoint for real-time product updates 2026-01-31 22:41:15 +00:00
images feat: add dynamic variant selector with color swatches 2026-02-03 22:17:48 +00:00
media chore: apply mix format to codebase 2026-01-31 14:24:58 +00:00
mockups chore: apply mix format to codebase 2026-01-31 14:24:58 +00:00
orders feat: add Stripe checkout, order persistence, and webhook handling 2026-02-07 08:30:17 +00:00
products feat: add product image download pipeline for PageSpeed 100% 2026-02-01 00:26:19 +00:00
providers feat: add dynamic variant selector with color swatches 2026-02-03 22:17:48 +00:00
settings feat: add encrypted settings, guided Stripe setup, and admin credentials page 2026-02-07 17:12:53 +00:00
stripe feat: add encrypted settings, guided Stripe setup, and admin credentials page 2026-02-07 17:12:53 +00:00
sync feat: add product image download pipeline for PageSpeed 100% 2026-02-01 00:26:19 +00:00
theme feat: add encrypted settings, guided Stripe setup, and admin credentials page 2026-02-07 17:12:53 +00:00
webhooks feat: add Printify webhook endpoint for real-time product updates 2026-01-31 22:41:15 +00:00
accounts.ex mix phx.gen.auth Accounts User users 2025-12-30 12:26:46 +00:00
application.ex feat: add encrypted settings, guided Stripe setup, and admin credentials page 2026-02-07 17:12:53 +00:00
cart.ex fix: update demo content, fix broken links, and add cart item product links 2026-02-06 23:33:22 +00:00
cldr.ex feat: add Products context with provider integration (Phase 1) 2026-01-29 20:32:20 +00:00
mailer.ex mix phx.new simpleshop_theme --database sqlite3 --adapter bandit --binary-id 2025-12-30 12:26:26 +00:00
media.ex chore: apply mix format to codebase 2026-01-31 14:24:58 +00:00
orders.ex feat: add Stripe checkout, order persistence, and webhook handling 2026-02-07 08:30:17 +00:00
products.ex feat: add cart page, cart drawer, and shared cart infrastructure 2026-02-06 19:39:37 +00:00
providers.ex feat: add admin provider setup UI with improved product sync 2026-01-31 22:08:34 +00:00
repo.ex mix phx.new simpleshop_theme --database sqlite3 --adapter bandit --binary-id 2025-12-30 12:26:26 +00:00
secrets.ex feat: add encrypted settings, guided Stripe setup, and admin credentials page 2026-02-07 17:12:53 +00:00
settings.ex feat: add encrypted settings, guided Stripe setup, and admin credentials page 2026-02-07 17:12:53 +00:00
vault.ex feat: add Products context with provider integration (Phase 1) 2026-01-29 20:32:20 +00:00
webhooks.ex feat: add Printify webhook endpoint for real-time product updates 2026-01-31 22:41:15 +00:00