feat: reconcile application vertical slices
Backfill the completed acquisitions, sales, dashboard, pricing, search, public detail, worker, migration, contracts, validation, tests, and implementation-status changes into one verified application slice.
This commit is contained in:
@@ -1,32 +1,33 @@
|
||||
import Fastify from 'fastify';
|
||||
import cookie from '@fastify/cookie';
|
||||
import multipart from '@fastify/multipart';
|
||||
import Fastify from "fastify";
|
||||
import cookie from "@fastify/cookie";
|
||||
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 { registerAdminLookupRoutes } from '../modules/inventory/routes/admin-lookup-routes.js';
|
||||
import { registerAdminImageRoutes } from '../modules/inventory/routes/admin-image-routes.js';
|
||||
import { registerPublicInventoryRoutes } from '../modules/inventory/routes/public-inventory-routes.js';
|
||||
import { registerPublicImageRoutes } from '../modules/inventory/routes/public-image-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';
|
||||
import { registerPublicProductRoutes } from '../modules/products/routes/public-product-routes.js';
|
||||
import { registerPublicSearchRoutes } from '../modules/search/routes/public-search-routes.js';
|
||||
import { registerPublicSellerRoutes } from '../modules/sellers/routes/public-seller-routes.js';
|
||||
import { registerPublicLookupRoutes } from '../modules/inventory/routes/public-lookup-routes.js';
|
||||
import { registerAdminSaleRoutes } from '../modules/sales/routes/admin-sale-routes.js';
|
||||
import { registerAdminAcquisitionRoutes } from '../modules/acquisitions/routes/admin-acquisition-routes.js';
|
||||
import { registerAdminDashboardRoutes } from '../modules/dashboard/routes/admin-dashboard-routes.js';
|
||||
import { registerAdminPricingRoutes } from '../modules/pricing/routes/admin-pricing-routes.js';
|
||||
import { registerAdminProviderMappingRoutes } from '../modules/pricing/routes/admin-provider-mapping-routes.js';
|
||||
import { registerAuthRoutes } from "../modules/auth/routes/auth-routes.js";
|
||||
import { registerAdminInventoryRoutes } from "../modules/inventory/routes/admin-inventory-routes.js";
|
||||
import { registerAdminLookupRoutes } from "../modules/inventory/routes/admin-lookup-routes.js";
|
||||
import { registerAdminImageRoutes } from "../modules/inventory/routes/admin-image-routes.js";
|
||||
import { registerPublicInventoryRoutes } from "../modules/inventory/routes/public-inventory-routes.js";
|
||||
import { registerPublicImageRoutes } from "../modules/inventory/routes/public-image-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";
|
||||
import { registerPublicProductRoutes } from "../modules/products/routes/public-product-routes.js";
|
||||
import { registerPublicSearchRoutes } from "../modules/search/routes/public-search-routes.js";
|
||||
import { registerPublicSellerRoutes } from "../modules/sellers/routes/public-seller-routes.js";
|
||||
import { registerPublicLookupRoutes } from "../modules/inventory/routes/public-lookup-routes.js";
|
||||
import { registerAdminSaleRoutes } from "../modules/sales/routes/admin-sale-routes.js";
|
||||
import { registerAdminAcquisitionRoutes } from "../modules/acquisitions/routes/admin-acquisition-routes.js";
|
||||
import { registerAdminDashboardRoutes } from "../modules/dashboard/routes/admin-dashboard-routes.js";
|
||||
import { registerAdminPricingRoutes } from "../modules/pricing/routes/admin-pricing-routes.js";
|
||||
import { registerAdminProviderMappingRoutes } from "../modules/pricing/routes/admin-provider-mapping-routes.js";
|
||||
|
||||
export function buildApp(dependencies) {
|
||||
const app = Fastify();
|
||||
|
||||
app.setErrorHandler((error, request, reply) => {
|
||||
const statusCode = error.statusCode ?? 500;
|
||||
const message = statusCode >= 500 ? 'Internal server error.' : error.message;
|
||||
const message =
|
||||
statusCode >= 500 ? "Internal server error." : error.message;
|
||||
|
||||
if (statusCode >= 500) {
|
||||
request.log.error(error);
|
||||
@@ -34,87 +35,87 @@ export function buildApp(dependencies) {
|
||||
|
||||
return reply.code(statusCode).send({
|
||||
error: {
|
||||
code: error.code ?? 'INTERNAL_SERVER_ERROR',
|
||||
code: error.code ?? "INTERNAL_SERVER_ERROR",
|
||||
message,
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
app.get('/health', async () => ({ data: { status: 'ok' } }));
|
||||
app.get("/health", async () => ({ data: { status: "ok" } }));
|
||||
app.register(cookie);
|
||||
app.register(multipart, { limits: { fileSize: 10 * 1024 * 1024, files: 1 } });
|
||||
app.register(registerAuthRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1/auth',
|
||||
prefix: "/api/v1/auth",
|
||||
});
|
||||
app.register(registerAdminProductRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1/admin',
|
||||
prefix: "/api/v1/admin",
|
||||
});
|
||||
app.register(registerAdminInventoryRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1/admin',
|
||||
prefix: "/api/v1/admin",
|
||||
});
|
||||
app.register(registerAdminLookupRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1/admin',
|
||||
prefix: "/api/v1/admin",
|
||||
});
|
||||
app.register(registerAdminImageRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1/admin',
|
||||
prefix: "/api/v1/admin",
|
||||
});
|
||||
app.register(registerAdminListingRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1/admin',
|
||||
prefix: "/api/v1/admin",
|
||||
});
|
||||
app.register(registerAdminSaleRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1/admin',
|
||||
prefix: "/api/v1/admin",
|
||||
});
|
||||
app.register(registerAdminAcquisitionRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1/admin',
|
||||
prefix: "/api/v1/admin",
|
||||
});
|
||||
app.register(registerAdminDashboardRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1/admin',
|
||||
prefix: "/api/v1/admin",
|
||||
});
|
||||
app.register(registerAdminPricingRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1/admin',
|
||||
prefix: "/api/v1/admin",
|
||||
});
|
||||
app.register(registerAdminProviderMappingRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1/admin',
|
||||
prefix: "/api/v1/admin",
|
||||
});
|
||||
app.register(registerPublicSearchRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1',
|
||||
prefix: "/api/v1",
|
||||
});
|
||||
app.register(registerPublicProductRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1',
|
||||
prefix: "/api/v1",
|
||||
});
|
||||
app.register(registerPublicListingRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1',
|
||||
prefix: "/api/v1",
|
||||
});
|
||||
app.register(registerPublicInventoryRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1',
|
||||
prefix: "/api/v1",
|
||||
});
|
||||
app.register(registerPublicImageRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1',
|
||||
prefix: "/api/v1",
|
||||
});
|
||||
app.register(registerPublicSellerRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1',
|
||||
prefix: "/api/v1",
|
||||
});
|
||||
app.register(registerPublicLookupRoutes, {
|
||||
...dependencies,
|
||||
prefix: '/api/v1',
|
||||
prefix: "/api/v1",
|
||||
});
|
||||
|
||||
return app;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user