65 lines
1.4 KiB
JavaScript
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" },
|
|
}
|
|
);
|
|
}
|
|
}
|