Files
fuz-site/src/pages/api/jambox/channels.js
2025-12-12 14:58:13 +01:00

65 lines
1.4 KiB
JavaScript

// src/pages/api/jambox/channels.js
//import { getDb } from "../db.js";
import Database from "better-sqlite3";
const DB_PATH =
process.env.FUZ_DB_PATH || "./src/data/ServicesRange.db";
function getDb() {
return new Database(DB_PATH, { readonly: true });
}
export function GET({ url }) {
const packageIdParam = url.searchParams.get("packageId");
const packageId = Number(packageIdParam);
if (!packageId) {
return new Response(
JSON.stringify({ ok: false, error: "INVALID_PACKAGE_ID" }),
{
status: 400,
headers: { "Content-Type": "application/json; charset=utf-8" },
}
);
}
const db = getDb();
try {
const rows = db
.prepare(
`
SELECT
number,
name,
description,
logo_url,
guaranteed
FROM jambox_package_channels
WHERE package_id = ?
ORDER BY number ASC;
`.trim()
)
.all(packageId);
return new Response(
JSON.stringify({ ok: true, data: rows }),
{
status: 200,
headers: { "Content-Type": "application/json; charset=utf-8" },
}
);
} catch (err) {
console.error("❌ Błąd w /api/jambox/channels:", err);
return new Response(
JSON.stringify({ ok: false, error: "DB_ERROR" }),
{
status: 500,
headers: { "Content-Type": "application/json; charset=utf-8" },
}
);
}
}