1.6 KiB
1.6 KiB
Paddle Catalog Sync Rollout
- Schema Prep
- Add migration for
paddle_sync_status,paddle_synced_at, andpaddle_snapshotJSON onpackages. - Update
Packagemodel casts/fillable + ensure factory coverage.
- Add migration for
- Service Layer
- Scaffold
PaddleCatalogService(product/price CRUD, custom data mapping). - Add DTO helpers for Paddle product/price responses.
- Extend
PaddleClienttests/mocks for catalog endpoints.
- Scaffold
- Sync Logic
- Implement
SyncPackageToPaddlejob with create/update flows and metadata diffing. - Create
PaddlePackagePulljob for optional remote-to-local reconciliation. - Add
paddle:sync-packagesartisan command (--dry-run,--package=,--pull).
- Implement
- 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).