NobGit
public anord read

Ledger

Why work hard when you can work easier?

Languages

Repository composition by tracked source files.

TypeScript
TypeScript 86% CSS 10% SQL 3% Shell 1% HTML 0%
Create file Wiki Documentation
Clone
https://nobgit.com/orgs/anord/ledger.git
ssh://[email protected]:2222/orgs/anord/ledger.git
search.ts
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
  });
});