God Mode Valhalla: Initial Standalone Commit
This commit is contained in:
42
src/pages/api/god/db-ops.ts
Normal file
42
src/pages/api/god/db-ops.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
import type { APIRoute } from 'astro';
|
||||
import { MECHANIC_OPS } from '@/lib/db/mechanic';
|
||||
|
||||
export const POST: APIRoute = async ({ request }) => {
|
||||
// 1. Security Check (The Token)
|
||||
const authHeader = request.headers.get('Authorization');
|
||||
const token = import.meta.env.GOD_MODE_TOKEN || process.env.GOD_MODE_TOKEN;
|
||||
|
||||
// Allow either Bearer token or exact match (for flexibility)
|
||||
if (authHeader !== `Bearer ${token}` && request.headers.get('X-God-Token') !== token) {
|
||||
return new Response('Unauthorized: You are not God.', { status: 401 });
|
||||
}
|
||||
|
||||
// 2. Parse the Command
|
||||
const body = await request.json();
|
||||
const op = body.operation; // 'vacuum', 'reindex', 'kill_locks'
|
||||
|
||||
try {
|
||||
let result = '';
|
||||
|
||||
// 3. Execute the Mechanic
|
||||
switch (op) {
|
||||
case 'vacuum':
|
||||
result = await MECHANIC_OPS.maintenance.vacuum();
|
||||
break;
|
||||
case 'reindex':
|
||||
result = await MECHANIC_OPS.maintenance.reindex();
|
||||
break;
|
||||
case 'kill_locks':
|
||||
result = await MECHANIC_OPS.maintenance.kill_locks();
|
||||
break;
|
||||
default:
|
||||
return new Response('Unknown Operation', { status: 400 });
|
||||
}
|
||||
|
||||
// 4. Return Success
|
||||
return new Response(result, { status: 200 });
|
||||
|
||||
} catch (error) {
|
||||
return new Response(`Error: ${(error as Error).message}`, { status: 500 });
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user