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 { 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(url); } export async function searchEntitiesByName( name: string, options?: { limit?: number } ): Promise { 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(`${API_ENDPOINTS.entities}/search?${params.toString()}`); }