This repository has been archived on 2025-03-28. You can view files and clone it, but cannot push or open issues or pull requests.
coryd.dev-eleventy/workers/playing/index.js

45 lines
1.2 KiB
JavaScript

import { createClient } from "@supabase/supabase-js";
export default {
async fetch(request, env) {
const supabaseUrl = env.SUPABASE_URL;
const supabaseKey = env.SUPABASE_KEY;
const supabase = createClient(supabaseUrl, supabaseKey);
const { data, error } = await supabase
.from("optimized_latest_listen")
.select("*")
.single();
const headers = {
"Content-Type": "application/json",
"Cache-Control": "public, s-maxage=360, stale-while-revalidate=1080",
};
if (error) {
console.error("Error fetching data:", error);
return new Response(
JSON.stringify({ error: "Failed to fetch the latest track" }),
{ headers }
);
}
if (!data)
return new Response(
JSON.stringify({ message: "No recent tracks found" }),
{ headers }
);
const genreEmoji = data.genre_emoji;
const emoji = data.artist_emoji || genreEmoji;
return new Response(
JSON.stringify({
content: `${emoji || "🎧"} ${
data.track_name
} by <a href="https://coryd.dev${data.url}">${data.artist_name}</a>`,
}),
{ headers }
);
},
};