This commit is contained in:
@@ -47,6 +47,8 @@ import { createPricingService } from '../modules/pricing/services/pricing-servic
|
||||
import { createPricingRefreshJobRepository } from '../modules/pricing/repositories/pricing-refresh-job-repository.js';
|
||||
import { createProviderMappingRepository } from '../modules/pricing/repositories/provider-mapping-repository.js';
|
||||
import { createProviderMappingService } from '../modules/pricing/services/provider-mapping-service.js';
|
||||
import { createPricingProviderRegistry } from '../modules/pricing/providers/pricing-provider.js';
|
||||
import { createFixturePricingProvider } from '../modules/pricing/providers/fixture-pricing-provider.js';
|
||||
|
||||
function parsePort(value) {
|
||||
const port = Number.parseInt(value ?? '3000', 10);
|
||||
@@ -75,6 +77,9 @@ async function startServer() {
|
||||
const pricingRepository = createPricingRepository(database.db);
|
||||
const pricingRefreshJobRepository = createPricingRefreshJobRepository(database.db);
|
||||
const providerMappingRepository = createProviderMappingRepository(database.db);
|
||||
const pricingProviders = process.env.PRICING_FIXTURE_PROVIDER_ENABLED === 'true'
|
||||
? createPricingProviderRegistry([createFixturePricingProvider()])
|
||||
: createPricingProviderRegistry();
|
||||
const userRepository = createUserRepository(database.db);
|
||||
const sessionRepository = createSessionRepository(database.db);
|
||||
const passwordResetRepository = createPasswordResetRepository(database.db);
|
||||
@@ -139,7 +144,7 @@ async function startServer() {
|
||||
saleService: createSaleService({ saleRepository }),
|
||||
acquisitionService: createAcquisitionService({ acquisitionRepository }),
|
||||
}),
|
||||
pricingService: createPricingService({ pricingRepository, pricingRefreshJobRepository, providerMappingRepository }),
|
||||
pricingService: createPricingService({ pricingRepository, pricingRefreshJobRepository, providerMappingRepository, pricingProviderRegistry: pricingProviders }),
|
||||
providerMappingService: createProviderMappingService({ providerMappingRepository }),
|
||||
publicListingService: createPublicListingService({ listingRepository, publicImageService }),
|
||||
productService: createProductService({ productRepository }),
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
import { createPricingProvider } from './pricing-provider.js';
|
||||
|
||||
export function createFixturePricingProvider() {
|
||||
return createPricingProvider({
|
||||
id: 'fixture-provider',
|
||||
async observe({ productId, inventoryItemId, conditionId }) {
|
||||
return [{
|
||||
productId,
|
||||
inventoryItemId,
|
||||
conditionId,
|
||||
priceMinor: 2500,
|
||||
currency: 'USD',
|
||||
sourceIdentifier: `fixture-${inventoryItemId}`,
|
||||
qualityScore: 50,
|
||||
}];
|
||||
},
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user