File size: 844 Bytes
a43ac26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/**
 * Tool 目录 API client
 */

import { apiClient } from './client';
import { ToolCatalogItem, ToolQueryParams } from '@typings/tool';

export const toolsApi = {
  /**
   * 获取 Tool 目录列表
   */
  list: (params?: ToolQueryParams) => {
    const searchParams = new URLSearchParams();
    if (params?.plugin) searchParams.append('plugin', params.plugin);
    if (params?.source) searchParams.append('source', params.source);
    if (params?.availability) searchParams.append('availability', params.availability);
    if (params?.q) searchParams.append('q', params.q);

    const query = searchParams.toString();
    return apiClient.get<ToolCatalogItem[]>(`/tools/${query ? `?${query}` : ''}`);
  },

  /**
   * 获取单个 Tool 详情
   */
  get: (toolName: string) =>
    apiClient.get<ToolCatalogItem>(`/tools/${toolName}`),
};