Implement Phase 2 asset storage pipeline

This commit is contained in:
Media
2026-08-16 19:59:10 -05:00
parent eb19675a5c
commit 722c6cf77d
29 changed files with 5059 additions and 16 deletions
+23 -2
View File
@@ -3,12 +3,27 @@ const {
createDetailedHealthRouter,
createHealthRouter,
} = require("./health/routes");
const { createAssetRouter } = require("./assets/routes");
const { createMediaRouter } = require("./assets/media-routes");
const { createAssetService } = require("./assets/service");
const { createSettingsRouter } = require("./settings/routes");
const { createSettingsService } = require("./settings/service");
function createApp({ config, database, lifecycle, migrations }) {
function createApp({
config,
database,
imageProcessor,
lifecycle,
migrations,
storage,
}) {
const app = express();
const settingsService = createSettingsService(database);
const assetService = createAssetService({
database,
imageProcessor,
storage,
});
app.disable("x-powered-by");
app.set("trust proxy", config.trustProxy);
@@ -19,13 +34,14 @@ function createApp({ config, database, lifecycle, migrations }) {
});
app.use(
"/health",
createHealthRouter({ database, lifecycle, migrations }),
createHealthRouter({ database, lifecycle, migrations, storage }),
);
const detailedHealthRouterOptions = {
config,
database,
lifecycle,
migrations,
storage,
};
app.use(
"/api/health",
@@ -36,6 +52,11 @@ function createApp({ config, database, lifecycle, migrations }) {
createDetailedHealthRouter(detailedHealthRouterOptions),
);
app.use("/api/settings", createSettingsRouter(settingsService));
app.use(
"/api/assets",
createAssetRouter({ assetService, processingConfig: config.processing }),
);
app.use("/media", createMediaRouter(assetService));
app.use((request, response) => {
response.status(404).json({