a tool for shared writing and social publishing
at main 566 B view raw
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}