Something went wrong. Try again.
Monorepo for Aesthetic.Computer aesthetic.computer
Something went wrong. Try again.
JavaScript
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950// Get builds from MongoDB for builds.false.work// Requires password authentication via Authorization header
import { connect } from "../../backend/database.mjs";import { respond } from "../../backend/http.mjs";
const BUILDS_PASSWORD = process.env.BUILDS_PASSWORD;
export async function handler(event, context) { if (event.httpMethod === "OPTIONS") { return respond(204, ""); }
if (event.httpMethod !== "GET") { return respond(405, { error: "Method not allowed" }); }
// Verify password from Authorization header const authHeader = event.headers.authorization || event.headers.Authorization; const password = authHeader?.replace("Bearer ", "");
if (!password || password !== BUILDS_PASSWORD) { return respond(401, { error: "Unauthorized" }); }
try { const database = await connect(); const builds = database.db.collection("false.work-builds");
// Get query params for filtering const platform = event.queryStringParameters?.platform; const limit = parseInt(event.queryStringParameters?.limit) || 50;
const query = platform ? { platform } : {};
const results = await builds .find(query) .sort({ timestamp: -1 }) .limit(limit) .toArray();
await database.disconnect();
return respond(200, { builds: results }); } catch (error) { console.error("Error fetching builds:", error); return respond(500, { error: "Database error" }); }}