A social knowledge tool for researchers built on ATProto

refactor: remove unused cardQueryRepository from SearchService

+29 -11
+29 -11
src/modules/search/domain/services/SearchService.ts
··· 9 9 constructor( 10 10 private vectorDatabase: IVectorDatabase, 11 11 private metadataService: IMetadataService, 12 - private cardQueryRepository: ICardQueryRepository, 13 12 ) {} 14 13 15 14 async indexUrl(url: URL): Promise<Result<void>> { ··· 17 16 // 1. Get metadata for the URL 18 17 const metadataResult = await this.metadataService.fetchMetadata(url); 19 18 if (metadataResult.isErr()) { 20 - return err(new Error(`Failed to fetch metadata: ${metadataResult.error.message}`)); 19 + return err( 20 + new Error( 21 + `Failed to fetch metadata: ${metadataResult.error.message}`, 22 + ), 23 + ); 21 24 } 22 25 23 26 const metadata = metadataResult.value; ··· 39 42 }); 40 43 41 44 if (indexResult.isErr()) { 42 - return err(new Error(`Failed to index URL: ${indexResult.error.message}`)); 45 + return err( 46 + new Error(`Failed to index URL: ${indexResult.error.message}`), 47 + ); 43 48 } 44 49 45 50 return ok(undefined); 46 51 } catch (error) { 47 - return err(new Error(`Search service error: ${error instanceof Error ? error.message : 'Unknown error'}`)); 52 + return err( 53 + new Error( 54 + `Search service error: ${error instanceof Error ? error.message : 'Unknown error'}`, 55 + ), 56 + ); 48 57 } 49 58 } 50 59 ··· 60 69 threshold: options.threshold, 61 70 }; 62 71 63 - const similarResult = await this.vectorDatabase.findSimilarUrls(findParams); 72 + const similarResult = 73 + await this.vectorDatabase.findSimilarUrls(findParams); 64 74 if (similarResult.isErr()) { 65 - return err(new Error(`Vector search failed: ${similarResult.error.message}`)); 75 + return err( 76 + new Error(`Vector search failed: ${similarResult.error.message}`), 77 + ); 66 78 } 67 79 68 80 // 2. Enrich results with library counts and context 69 - const enrichedUrls = await this.enrichUrlsWithContext(similarResult.value); 81 + const enrichedUrls = await this.enrichUrlsWithContext( 82 + similarResult.value, 83 + ); 70 84 71 85 return ok(enrichedUrls); 72 86 } catch (error) { 73 - return err(new Error(`Search service error: ${error instanceof Error ? error.message : 'Unknown error'}`)); 87 + return err( 88 + new Error( 89 + `Search service error: ${error instanceof Error ? error.message : 'Unknown error'}`, 90 + ), 91 + ); 74 92 } 75 93 } 76 94 ··· 80 98 author?: string, 81 99 ): string { 82 100 const parts: string[] = []; 83 - 101 + 84 102 if (title) parts.push(title); 85 103 if (description) parts.push(description); 86 104 if (author) parts.push(`by ${author}`); 87 - 105 + 88 106 return parts.join(' '); 89 107 } 90 108 ··· 101 119 ): Promise<UrlView[]> { 102 120 // For now, return basic enriched results 103 121 // In a full implementation, you'd query the card repository for library counts 104 - return searchResults.map(result => ({ 122 + return searchResults.map((result) => ({ 105 123 url: result.url, 106 124 metadata: { 107 125 url: result.url,