- import { del, get, patch, post } from './base'
 - import type { App, AppCategory } from '@/models/explore'
 - import type { AccessMode } from '@/models/access-control'
 - 
 - export const fetchAppList = () => {
 -   return get<{
 -     categories: AppCategory[]
 -     recommended_apps: App[]
 -   }>('/explore/apps')
 - }
 - 
 - export const fetchAppDetail = (id: string): Promise<any> => {
 -   return get(`/explore/apps/${id}`)
 - }
 - 
 - export const fetchInstalledAppList = (app_id?: string | null) => {
 -   return get(`/installed-apps${app_id ? `?app_id=${app_id}` : ''}`)
 - }
 - 
 - export const installApp = (id: string) => {
 -   return post('/installed-apps', {
 -     body: {
 -       app_id: id,
 -     },
 -   })
 - }
 - 
 - export const uninstallApp = (id: string) => {
 -   return del(`/installed-apps/${id}`)
 - }
 - 
 - export const updatePinStatus = (id: string, isPinned: boolean) => {
 -   return patch(`/installed-apps/${id}`, {
 -     body: {
 -       is_pinned: isPinned,
 -     },
 -   })
 - }
 - 
 - export const getToolProviders = () => {
 -   return get('/workspaces/current/tool-providers')
 - }
 - 
 - export const getAppAccessModeByAppId = (appId: string) => {
 -   return get<{ accessMode: AccessMode }>(`/enterprise/webapp/app/access-mode?appId=${appId}`)
 - }
 
 
  |