Dorabiamy funkcjonalnosci w TV
This commit is contained in:
64
src/pages/api/jambox/channels.js
Normal file
64
src/pages/api/jambox/channels.js
Normal file
@@ -0,0 +1,64 @@
|
||||
// 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" },
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user