26 lines
862 B
TypeScript
26 lines
862 B
TypeScript
// File: lib/services/search.service.ts
|
|
import apiClient from "@/lib/api/client";
|
|
import { SearchQueryDto } from "@/types/dto/search/search-query.dto";
|
|
|
|
export const searchService = {
|
|
/**
|
|
* ค้นหาเอกสารทั้งระบบ (Full-text Search)
|
|
* ใช้ Elasticsearch ผ่าน Backend
|
|
*/
|
|
search: async (query: SearchQueryDto) => {
|
|
// ส่ง params แบบ flat ตาม DTO
|
|
// GET /search?q=...&type=...&projectId=...
|
|
const response = await apiClient.get("/search", {
|
|
params: query
|
|
});
|
|
return response.data;
|
|
},
|
|
|
|
/**
|
|
* (Optional) Re-index ข้อมูลใหม่ กรณีข้อมูลไม่ตรง (Admin Only)
|
|
*/
|
|
reindex: async (type?: string) => {
|
|
const response = await apiClient.post("/search/reindex", { type });
|
|
return response.data;
|
|
}
|
|
}; |