forked from admin/zeropost-tool
26 lines
932 B
JavaScript
26 lines
932 B
JavaScript
import { NextResponse } from 'next/server';
|
|
import { requireUser } from '@/lib/session';
|
|
import { engine } from '@/lib/engine';
|
|
|
|
export async function GET(req) {
|
|
const user = await requireUser();
|
|
if (!user) return NextResponse.json({error:'Unauthorized'},{status:401});
|
|
const { searchParams } = new URL(req.url);
|
|
const params = {};
|
|
for (const [k,v] of searchParams) params[k] = v;
|
|
try {
|
|
const data = await engine.listUserPosts(user.id, params);
|
|
return NextResponse.json(data);
|
|
} catch (e) { return NextResponse.json({error:e.message},{status:500}); }
|
|
}
|
|
|
|
export async function POST(req) {
|
|
const user = await requireUser();
|
|
if (!user) return NextResponse.json({error:'Unauthorized'},{status:401});
|
|
const body = await req.json();
|
|
try {
|
|
const data = await engine.savePost(user.id, body);
|
|
return NextResponse.json(data);
|
|
} catch (e) { return NextResponse.json({error:e.message},{status:500}); }
|
|
}
|