a tool for shared writing and social publishing
1"use server";
2import { supabaseServerClient } from "supabase/serverClient";
3
4export type TagSearchResult = {
5 name: string;
6 document_count: number;
7};
8
9export async function searchTags(
10 query: string,
11): Promise<TagSearchResult[] | null> {
12 const searchQuery = query.trim().toLowerCase();
13
14 // Use raw SQL query to extract and aggregate tags
15 const { data, error } = await supabaseServerClient.rpc("search_tags", {
16 search_query: searchQuery,
17 });
18
19 if (error) {
20 console.error("Error searching tags:", error);
21 return null;
22 }
23
24 return data;
25}