BlueSky & more on desktop lazurite.stormlightlabs.org/
tauri rust typescript bluesky appview atproto solid
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 60 lines 2.0 kB view raw
1import { invoke } from "@tauri-apps/api/core"; 2import type { ExplorerServerView, RepoCarExport, ResolvedExplorerInput, TempBlobFile } from "./types/explorer"; 3 4async function resolveInput(input: string): Promise<ResolvedExplorerInput> { 5 return invoke("resolve_input", { input }); 6} 7 8async function describeServer(pdsUrl: string): Promise<ExplorerServerView> { 9 return invoke("describe_server", { pdsUrl }); 10} 11 12async function describeRepo(did: string): Promise<Record<string, unknown>> { 13 return invoke("describe_repo", { did }); 14} 15 16async function listRecords(did: string, collection: string, cursor?: string): Promise<Record<string, unknown>> { 17 return invoke("list_records", { did, collection, cursor }); 18} 19 20async function getRecord(did: string, collection: string, rkey: string): Promise<Record<string, unknown>> { 21 return invoke("get_record", { did, collection, rkey }); 22} 23 24async function exportRepoCar(did: string): Promise<RepoCarExport> { 25 return invoke("export_repo_car", { did }); 26} 27 28async function fetchBlobToTempFile(did: string, cid: string, extension?: string | null): Promise<TempBlobFile> { 29 return invoke("fetch_blob_to_temp_file", { cid, did, extension: extension ?? null }); 30} 31 32async function deleteBlobTempFile(path: string): Promise<void> { 33 return invoke("delete_blob_temp_file", { path }); 34} 35 36async function queryLabels(uri: string): Promise<Record<string, unknown>> { 37 return invoke("query_labels", { uri }); 38} 39 40async function getLexiconFavicons(collections: string[]): Promise<Record<string, string | null>> { 41 return invoke("get_lexicon_favicons", { collections }); 42} 43 44async function clearLexiconFaviconCache(): Promise<void> { 45 return invoke("clear_lexicon_favicon_cache"); 46} 47 48export const ExplorerController = { 49 resolveInput, 50 describeServer, 51 describeRepo, 52 listRecords, 53 getRecord, 54 exportRepoCar, 55 fetchBlobToTempFile, 56 deleteBlobTempFile, 57 queryLabels, 58 getLexiconFavicons, 59 clearLexiconFaviconCache, 60};