feat: add Products context with provider integration (Phase 1)
Implement the schema foundation for syncing products from POD providers like Printify. This includes encrypted credential storage, product/variant schemas, and an Oban worker for background sync. New modules: - Vault: AES-256-GCM encryption for API keys - Products context: CRUD and sync operations for products - Provider behaviour: abstraction for POD provider implementations - ProductSyncWorker: Oban job for async product sync Schemas: ProviderConnection, Product, ProductImage, ProductVariant Also reorganizes Printify client to lib/simpleshop_theme/clients/ and mockup generator to lib/simpleshop_theme/mockups/ for better structure. 134 tests added covering all new functionality. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -80,6 +80,9 @@ config :logger, :default_formatter,
|
||||
# Use Jason for JSON parsing in Phoenix
|
||||
config :phoenix, :json_library, Jason
|
||||
|
||||
# ex_money configuration for currency handling
|
||||
config :ex_money, default_cldr_backend: SimpleshopTheme.Cldr
|
||||
|
||||
# Oban configuration for background jobs
|
||||
config :simpleshop_theme, Oban,
|
||||
engine: Oban.Engines.Lite,
|
||||
@@ -87,7 +90,7 @@ config :simpleshop_theme, Oban,
|
||||
plugins: [
|
||||
{Oban.Plugins.Pruner, max_age: 60}
|
||||
],
|
||||
queues: [images: 2]
|
||||
queues: [images: 2, sync: 1]
|
||||
|
||||
# Import environment specific config. This must remain at the bottom
|
||||
# of this file so it overrides the configuration defined above.
|
||||
|
||||
Reference in New Issue
Block a user