Files
fotospiel-app/docs/process/todo/paddle-catalog-sync.md
2025-11-20 10:44:29 +01:00

1.6 KiB

Paddle Catalog Sync Rollout

  • Schema Prep
    • Add migration for paddle_sync_status, paddle_synced_at, and paddle_snapshot JSON on packages.
    • Update Package model casts/fillable + ensure factory coverage.
  • Service Layer
    • Scaffold PaddleCatalogService (product/price CRUD, custom data mapping).
    • Add DTO helpers for Paddle product/price responses.
    • Extend PaddleClient tests/mocks for catalog endpoints.
  • Sync Logic
    • Implement SyncPackageToPaddle job with create/update flows and metadata diffing.
    • Create PaddlePackagePull job for optional remote-to-local reconciliation.
    • Add paddle:sync-packages artisan command (--dry-run, --package=, --pull).
  • Admin UX
    • Enhance Filament PackageResource with sync status badges + last sync timestamp.
    • Add table/detail actions (“Sync to Paddle”, “Link existing Paddle entity”).
    • Surface last error/log context in the admin sidebar panel.
  • Ops & Observability
    • Configure dedicated log channel/Slack hook for catalog sync outcomes.
    • Document failure recovery playbook (retry, unlink, support escalation).
  • Testing & QA
    • Unit tests for service + jobs using mocked Paddle API.
    • Feature test covering artisan command flow.
    • Playwright smoke to confirm admin sync action displays status.
  • Rollout Checklist
    • Seed Paddle sandbox catalog via MCP server using migrated data.
    • Verify legacy packages mapped to Paddle IDs before enabling auto-sync.
    • Announce workflow change to admin users (release notes + docs update).