feat: add public inventory catalog boundary

This commit is contained in:
2026-09-08 19:34:38 -04:00
parent f42d3e4fd5
commit 206bb18da6
12 changed files with 300 additions and 3 deletions
+5
View File
@@ -5,6 +5,7 @@ import multipart from '@fastify/multipart';
import { registerAuthRoutes } from '../modules/auth/routes/auth-routes.js';
import { registerAdminInventoryRoutes } from '../modules/inventory/routes/admin-inventory-routes.js';
import { registerAdminImageRoutes } from '../modules/inventory/routes/admin-image-routes.js';
import { registerPublicInventoryRoutes } from '../modules/inventory/routes/public-inventory-routes.js';
import { registerAdminListingRoutes } from '../modules/listings/routes/admin-listing-routes.js';
import { registerPublicListingRoutes } from '../modules/listings/routes/public-listing-routes.js';
import { registerAdminProductRoutes } from '../modules/products/routes/admin-product-routes.js';
@@ -65,6 +66,10 @@ export function buildApp(dependencies) {
...dependencies,
prefix: '/api/v1',
});
app.register(registerPublicInventoryRoutes, {
...dependencies,
prefix: '/api/v1',
});
return app;
}
+2
View File
@@ -16,6 +16,7 @@ import { createRedisLoginRateLimiter } from '../modules/auth/services/login-rate
import { createPasswordRecoveryService } from '../modules/auth/services/password-recovery-service.js';
import { createInventoryItemRepository } from '../modules/inventory/repositories/inventory-item-repository.js';
import { createInventoryItemService } from '../modules/inventory/services/inventory-item-service.js';
import { createPublicInventoryService } from '../modules/inventory/services/public-inventory-service.js';
import { createInventoryImageRepository } from '../modules/inventory/repositories/inventory-image-repository.js';
import { createInventoryImageService } from '../modules/inventory/services/inventory-image-service.js';
import { createLocalImageStorage } from '../infrastructure/images/local-image-storage.js';
@@ -82,6 +83,7 @@ async function startServer() {
inventoryItemRepository,
productRepository,
}),
publicInventoryService: createPublicInventoryService({ inventoryItemRepository }),
inventoryImageService: createInventoryImageService({
imageStorage: createLocalImageStorage(process.env.IMAGE_STORAGE_ROOT ?? '.local/image-storage'),
inventoryImageRepository,