Adds speedtest pg-boss worker with injectable runner for testing, hourly cron enqueue, and /api/speedtest/history (GET) + /run (POST, owner-only) routes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
12 lines
499 B
JavaScript
12 lines
499 B
JavaScript
import { Router } from 'express';
|
|
import { asyncWrap } from '../errors.js';
|
|
import { requireOwner } from '../cap.js';
|
|
import * as repo from '../../db/repos/speedtest.js';
|
|
import { enqueue } from '../../jobs/queue.js';
|
|
export const router = Router();
|
|
router.get('/history', asyncWrap(async (_req, res) => res.json(await repo.history(30))));
|
|
router.post('/run', requireOwner, asyncWrap(async (_req, res) => {
|
|
const id = await enqueue('speedtest', {});
|
|
res.status(202).json({ enqueued: id });
|
|
}));
|