diff --git a/app/api/eod/route.ts b/app/api/eod/route.ts index 089c4a0..d0e3c06 100644 --- a/app/api/eod/route.ts +++ b/app/api/eod/route.ts @@ -1,9 +1,32 @@ import { NextRequest, NextResponse } from "next/server"; -import { supabase } from "@/lib/supabase"; +import fs from "fs"; +import path from "path"; + +const STORAGE_FILE = path.join(process.cwd(), "data", "eod_briefs.json"); const DISCORD_BOT_TOKEN = process.env.DISCORD_BOT_TOKEN || "MTQ3MTk4OTUzNjE1MzQwMzU5Nw.Ghtj4n.g-tl-Ijhfn9cg6zUCUIVd94EdwL32KmlVgRoSc"; const EOD_CHANNEL = "1476344633406656785"; +function ensureStorage() { + const dir = path.dirname(STORAGE_FILE); + if (!fs.existsSync(dir)) { + fs.mkdirSync(dir, { recursive: true }); + } + if (!fs.existsSync(STORAGE_FILE)) { + fs.writeFileSync(STORAGE_FILE, "[]"); + } +} + +function getBriefs() { + ensureStorage(); + return JSON.parse(fs.readFileSync(STORAGE_FILE, "utf-8")); +} + +function saveBriefs(data: any[]) { + ensureStorage(); + fs.writeFileSync(STORAGE_FILE, JSON.stringify(data, null, 2)); +} + function formatEODBrief(data: any): string { return `🌙 END OF DAY - ${data.date || new Date().toISOString().split('T')[0]} @@ -21,37 +44,29 @@ ${(data.tomorrow || []).map((t: string) => `- ${t}`).join('\n')}`; } export async function GET() { - const { data, error } = await supabase - .from("eod_briefs") - .select("*") - .order("created_at", { ascending: false }) - .limit(20); - - if (error) { - return NextResponse.json({ error: error.message }, { status: 500 }); - } - return NextResponse.json(data || []); + const briefs = getBriefs(); + return NextResponse.json(briefs); } export async function POST(request: NextRequest) { try { const body = await request.json(); - const { data: insertData, error } = await supabase - .from("eod_briefs") - .insert([{ - date: body.date || new Date().toISOString().split('T')[0], - completed: body.completed, - progress: body.progress, - council: body.council, - tomorrow: body.tomorrow - }]); + const brief = { + id: `eod-${Date.now()}`, + date: body.date || new Date().toISOString().split('T')[0], + completed: body.completed || [], + progress: body.progress || {}, + council: body.council || {}, + tomorrow: body.tomorrow || [], + created_at: new Date().toISOString() + }; - if (error) { - console.error("Supabase error:", error); - return NextResponse.json({ error: error.message }, { status: 500 }); - } + const briefs = getBriefs(); + briefs.unshift(brief); + saveBriefs(briefs); + // Send to Discord const discordMessage = formatEODBrief(body); await fetch(`https://discord.com/api/v10/channels/${EOD_CHANNEL}/messages`, { method: "POST", @@ -62,8 +77,9 @@ export async function POST(request: NextRequest) { body: JSON.stringify({ content: discordMessage }), }); - return NextResponse.json({ success: true, message: "EOD brief saved and sent to Discord" }); + return NextResponse.json({ success: true, brief }); } catch (error) { - return NextResponse.json({ error: "Failed" }, { status: 500 }); + console.error("EOD brief error:", error); + return NextResponse.json({ error: "Failed to save brief" }, { status: 500 }); } } diff --git a/app/api/morning/route.ts b/app/api/morning/route.ts index 8ccd6bc..dd2b367 100644 --- a/app/api/morning/route.ts +++ b/app/api/morning/route.ts @@ -1,9 +1,32 @@ import { NextRequest, NextResponse } from "next/server"; -import { supabase } from "@/lib/supabase"; +import fs from "fs"; +import path from "path"; + +const STORAGE_FILE = path.join(process.cwd(), "data", "morning_briefs.json"); const DISCORD_BOT_TOKEN = process.env.DISCORD_BOT_TOKEN || "MTQ3MTk4OTUzNjE1MzQwMzU5Nw.Ghtj4n.g-tl-Ijhfn9cg6zUCUIVd94EdwL32KmlVgRoSc"; const MORNING_CHANNEL = "1476344610493042698"; +function ensureStorage() { + const dir = path.dirname(STORAGE_FILE); + if (!fs.existsSync(dir)) { + fs.mkdirSync(dir, { recursive: true }); + } + if (!fs.existsSync(STORAGE_FILE)) { + fs.writeFileSync(STORAGE_FILE, "[]"); + } +} + +function getBriefs() { + ensureStorage(); + return JSON.parse(fs.readFileSync(STORAGE_FILE, "utf-8")); +} + +function saveBriefs(data: any[]) { + ensureStorage(); + fs.writeFileSync(STORAGE_FILE, JSON.stringify(data, null, 2)); +} + function formatMorningBrief(data: any): string { return `☀️ MORNING BRIEF - ${data.date || new Date().toISOString().split('T')[0]} @@ -25,38 +48,28 @@ ${(data.leads || []).map((l: string) => `- ${l}`).join('\n')}`; } export async function GET() { - const { data, error } = await supabase - .from("morning_briefs") - .select("*") - .order("created_at", { ascending: false }) - .limit(20); - - if (error) { - return NextResponse.json({ error: error.message }, { status: 500 }); - } - return NextResponse.json(data || []); + const briefs = getBriefs(); + return NextResponse.json(briefs); } export async function POST(request: NextRequest) { try { const body = await request.json(); - // Save to Supabase - const { data, error } = await supabase - .from("morning_briefs") - .insert([{ - date: body.date || new Date().toISOString().split('T')[0], - weather: body.weather, - market: body.market, - priorities: body.priorities, - goal: body.goal, - leads: body.leads - }]); + const brief = { + id: `morning-${Date.now()}`, + date: body.date || new Date().toISOString().split('T')[0], + weather: body.weather, + market: body.market, + priorities: body.priorities || [], + goal: body.goal, + leads: body.leads || [], + created_at: new Date().toISOString() + }; - if (error) { - console.error("Supabase error:", error); - return NextResponse.json({ error: error.message }, { status: 500 }); - } + const briefs = getBriefs(); + briefs.unshift(brief); + saveBriefs(briefs); // Send to Discord const discordMessage = formatMorningBrief(body); @@ -69,9 +82,9 @@ export async function POST(request: NextRequest) { body: JSON.stringify({ content: discordMessage }), }); - return NextResponse.json({ success: true, message: "Morning brief saved and sent to Discord" }); + return NextResponse.json({ success: true, brief }); } catch (error) { - console.error("Error:", error); + console.error("Morning brief error:", error); return NextResponse.json({ error: "Failed to save brief" }, { status: 500 }); } } diff --git a/data/eod_briefs.json b/data/eod_briefs.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/data/eod_briefs.json @@ -0,0 +1 @@ +[] diff --git a/data/morning_briefs.json b/data/morning_briefs.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/data/morning_briefs.json @@ -0,0 +1 @@ +[]