Initial commit: OmniAI backend server

This commit is contained in:
stringadmin
2026-06-02 13:14:10 +08:00
commit 56955e32f7
73 changed files with 25834 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
const { keyManager, listModelPrices, pool } = require("./context");
function registerPriceRoutes(router) {
// ── Public ───────────────────────────────────────────────────────────
router.get("/prices", async (_req, res) => {
const prices = await listModelPrices({ enabledOnly: true });
res.json(prices);
});
}
function registerPackageRoutes(router) {
// ── Public: Packages ─────────────────────────────────────────────────
router.get("/packages", async (_req, res) => {
const { rows } = await pool.query(
"SELECT * FROM packages WHERE enabled = 1 ORDER BY sort_order, id",
);
res.json(
rows.map((row) => ({
id: Number(row.id),
name: row.name,
description: row.description,
priceCents: row.price_cents,
creditsCents: row.credits_cents,
imageQuota: row.image_quota,
videoQuota: row.video_quota,
textQuota: row.text_quota,
durationDays: row.duration_days,
sortOrder: row.sort_order,
})),
);
});
}
function registerHealthRoutes(router) {
// ── Health ───────────────────────────────────────────────────────────
router.get("/health", async (_req, res) => {
const status = await keyManager.getAllStatus();
res.json({ status: "ok", uptime: process.uptime(), providers: status });
});
}
module.exports = {
registerPriceRoutes,
registerPackageRoutes,
registerHealthRoutes,
};