A decentralized music tracking and discovery platform built on AT Protocol 馃幍
at feat/discord-webhook 50 lines 984 B view raw
1import { ctx } from "context"; 2import { Hono } from "hono"; 3import { requestCounter } from "metrics"; 4 5const app = new Hono(); 6 7app.get("/", async (c) => { 8 requestCounter.add(1, { method: "GET", route: "/search" }); 9 const query = c.req.query("q"); 10 const size = +c.req.query("size") || 10; 11 const offset = +c.req.query("offset") || 0; 12 13 if (!query) { 14 return c.json([]); 15 } 16 17 const results = await ctx.client.search.all(query, { 18 tables: [ 19 { 20 table: "users", 21 target: ["handle"], 22 }, 23 { 24 table: "albums", 25 target: ["title"], 26 }, 27 { 28 table: "artists", 29 target: ["name"], 30 }, 31 { 32 table: "tracks", 33 target: ["title", "composer", "copyright_message"], 34 }, 35 { 36 table: "playlists", 37 target: ["name"], 38 }, 39 ], 40 fuzziness: 1, 41 prefix: "phrase", 42 page: { 43 size, 44 offset, 45 }, 46 }); 47 return c.json(results); 48}); 49 50export default app;