Files
History-client/api/entities.ts
2026-04-20 23:27:38 +07:00

31 lines
1009 B
TypeScript

import { API_ENDPOINTS } from "@/api/config";
import { requestJson } from "@/api/http";
import type { Entity } from "@/types/entities";
export type { Entity } from "@/types/entities";
export async function fetchEntities(query?: { q?: string }): Promise<Entity[]> {
const params = new URLSearchParams();
if (query?.q) {
params.set("q", query.q);
}
const suffix = params.toString();
const url = suffix ? `${API_ENDPOINTS.entities}?${suffix}` : API_ENDPOINTS.entities;
return requestJson<Entity[]>(url);
}
export async function searchEntitiesByName(
name: string,
options?: { limit?: number }
): Promise<Entity[]> {
const keyword = name.trim();
if (!keyword.length) return [];
const params = new URLSearchParams({ name: keyword });
if (options?.limit && Number.isFinite(options.limit)) {
params.set("limit", String(Math.trunc(options.limit)));
}
return requestJson<Entity[]>(`${API_ENDPOINTS.entities}/search?${params.toString()}`);
}