'use client'; import { ServiceError } from "@/lib/serviceError"; import { GetVersionResponse, GetReposResponse } from "@/lib/types"; import { isServiceError } from "@/lib/utils"; import { FileSourceResponse, FileSourceRequest, SearchRequest, SearchResponse, } from "@/features/search/types"; export const search = async (body: SearchRequest, domain: string): Promise => { const result = await fetch("/api/search", { method: "POST", headers: { "Content-Type": "application/json", "X-Org-Domain": domain, }, body: JSON.stringify(body), }).then(response => response.json()); if (isServiceError(result)) { return result; } return result as SearchResponse | ServiceError; } export const fetchFileSource = async (body: FileSourceRequest, domain: string): Promise => { const result = await fetch("/api/source", { method: "POST", headers: { "Content-Type": "application/json", "X-Org-Domain": domain, }, body: JSON.stringify(body), }).then(response => response.json()); return result as FileSourceResponse | ServiceError; } export const getRepos = async (): Promise => { const result = await fetch("/api/repos", { method: "GET", headers: { "Content-Type": "application/json", }, }).then(response => response.json()); return result as GetReposResponse | ServiceError; } export const getVersion = async (): Promise => { const result = await fetch("/api/version", { method: "GET", headers: { "Content-Type": "application/json", }, }).then(response => response.json()); return result as GetVersionResponse; }