worldwide todo list: public todo list of 68 real, sourced problems (planet to street) at /projects/worldwide-todo. worldtodo schema (categories, tasks, change_requests), idempotent seed on deploy, public add/edit/delete requests with Turnstile + salted daily-rotating IP-hash rate limit, owner-only review queue (approve, edit & approve, reject) with live updates over /ws/worldtodo(-owner), JSON API, detail pages with OSM map and history; listed in projects, header, /start and sitemap
Some checks failed
Deploy production / deploy (push) Failing after 9s
Some checks failed
Deploy production / deploy (push) Failing after 9s
This commit is contained in:
12
src/routes/projects/worldwide-todo/api/queue/+server.ts
Normal file
12
src/routes/projects/worldwide-todo/api/queue/+server.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { json } from '@sveltejs/kit';
|
||||
import { requireOwner } from '#lib/server/owner.js';
|
||||
import { queue } from '#lib/server/worldtodo/store.js';
|
||||
import type { RequestHandler } from './$types';
|
||||
|
||||
// Owner: full requests with the current task (for diffs), stale flags and similar titles.
|
||||
export const GET: RequestHandler = async (event) => {
|
||||
requireOwner(event);
|
||||
const raw = event.url.searchParams.get('status') ?? 'pending';
|
||||
const status = (['pending', 'approved', 'rejected'] as const).find((s) => s === raw) ?? 'pending';
|
||||
return json(await queue(status), { headers: { 'cache-control': 'private, no-store' } });
|
||||
};
|
||||
Reference in New Issue
Block a user