import type { Fetcher } from 'swr' import { del, get, post } from './base' import type { CreateEndpointRequest, EndpointOperationResponse, EndpointsRequest, EndpointsResponse, InstallPackageResponse, UpdateEndpointRequest, } from '@/app/components/plugins/types' export const createEndpoint: Fetcher = ({ url, body }) => { // url = /workspaces/current/endpoints/create return post(url, { body }) } export const fetchEndpointList: Fetcher = ({ url, params }) => { // url = /workspaces/current/endpoints/list/plugin?plugin_id=xxx return get(url, { params }) } export const deleteEndpoint: Fetcher = ({ url, endpointID }) => { // url = /workspaces/current/endpoints/delete return del(url, { body: { endpoint_id: endpointID } }) } export const updateEndpoint: Fetcher = ({ url, body }) => { // url = /workspaces/current/endpoints/update return post(url, { body }) } export const enableEndpoint: Fetcher = ({ url, endpointID }) => { // url = /workspaces/current/endpoints/enable return post(url, { body: { endpoint_id: endpointID } }) } export const disableEndpoint: Fetcher = ({ url, endpointID }) => { // url = /workspaces/current/endpoints/disable return post(url, { body: { endpoint_id: endpointID } }) } export const installPackageFromGitHub: Fetcher = ({ repo, version, package: packageName }) => { return post('/workspaces/current/plugin/upload/github', { body: { repo, version, package: packageName }, }) } // export const fetchInstalledPluginsList: Fetcher<