public
anord
read
Ledger
Why work hard when you can work easier?
Languages
Repository composition by tracked source files.
TypeScript
86%
CSS
10%
SQL
3%
Shell
1%
HTML
0%
import { Router } from "express";
import { searchPages, recordSearch } from "../../services/search.js";
import { enqueueWebhookEvent } from "../../services/webhooks.js";
export const searchRouter = Router();
searchRouter.get("/", async (req, res) => {
const query = String(req.query.q ?? "");
const pages = await searchPages(query, req.user ?? null);
const searchId = await recordSearch(query, req.user?.id ?? null, pages);
if (pages.length === 0 && query.trim()) {
await enqueueWebhookEvent("search.no_results", { searchId, query }, {
actor: req.user
? {
id: req.user.id,
name: req.user.displayName,
email: req.user.email
}
: null
});
}
return res.json({
query,
total: pages.length,
searchId,
pages
});
});