on master help sign in
api: amend apis, stub for staging
69faeb4Matilde Park
pages/api/dev-search.js+1−1
@@ -1,6 +1,6 @@
1export default async (req, res) => {
1export default async (req, res) => {
2 const results = await fetch(
2 const results = await fetch(
3− `https://developers.urbit.org/api/search?q=${req.query.q}`
3+ `https://developers-urbit-bls6d8h8w-urbit.vercel.app/api/search?q=${encodeURIComponent(req.query.q)}`
4 ).then((res) => res.json());
4 ).then((res) => res.json());
5 res.statusCode = 200;
5 res.statusCode = 200;
6 res.setHeader("Content-Type", "application/json");
6 res.setHeader("Content-Type", "application/json");
pages/api/glossary.jsdeleted−10
@@ -1,10 +0,0 @@
1−export default async (req, res) => {
2− const results = await fetch(
3− `https://developers.urbit.org/api/glossary?q=${encodeURIComponent(
4− req.query.q
5− )}`
6− ).then((res) => res.json());
7− res.statusCode = 200;
8− res.setHeader("Content-Type", "application/json");
9− res.end(JSON.stringify(results));
10−};
pages/api/ops-search.js+1−1
@@ -1,6 +1,6 @@
1export default async (req, res) => {
1export default async (req, res) => {
2 const results = await fetch(
2 const results = await fetch(
3− `https://operators.urbit.org/api/search?q=${req.query.q}`
3+ `https://operators-urbit-kpkx6sfyq-urbit.vercel.app/api/search?q=${req.query.q}`
4 ).then((res) => res.json());
4 ).then((res) => res.json());
5 res.statusCode = 200;
5 res.statusCode = 200;
6 res.setHeader("Content-Type", "application/json");
6 res.setHeader("Content-Type", "application/json");
pages/api/search.js+10−1
@@ -1,4 +1,5 @@
1import { index } from "../../cache/data";
1import { index } from "../../cache/data";
2+import { glossary } from "../../cache/glossary";
2const levenSort = require("leven-sort");
3const levenSort = require("leven-sort");
3
4
4export default (req, res) => {
5export default (req, res) => {
@@ -9,6 +10,13 @@ export default (req, res) => {
9 e?.parent.toLowerCase().includes(req.query.q.toLowerCase())
10 e?.parent.toLowerCase().includes(req.query.q.toLowerCase())
10 );
11 );
11
12
13+ const entries = glossary.filter((entry) => {
14+ return (
15+ entry.name.includes(req.query.q.toLowerCase()) ||
16+ entry.symbol.includes(req.query.q)
17+ );
18+ });
19+
12 results.push(
20 results.push(
13 ...index
21 ...index
14 .filter((e) => !results.includes(e))
22 .filter((e) => !results.includes(e))
@@ -30,7 +38,8 @@ export default (req, res) => {
30 "parent",
38 "parent",
31 "headings",
39 "headings",
32 ]);
40 ]);
41+ const sortedEntries = levenSort(entries, req.query.q, ["symbol"]);
33 res.statusCode = 200;
42 res.statusCode = 200;
34 res.setHeader("Content-Type", "application/json");
43 res.setHeader("Content-Type", "application/json");
35− res.end(JSON.stringify({ results: sorted }));
44+ res.end(JSON.stringify({ results: sorted, glossary: sortedEntries }));
36};
45};