import { defineStore } from 'pinia'
import { ref } from 'vue'
import type { PluginEntry } from '@/types'

export const usePluginStore = defineStore('plugins', () => {
  const plugins = ref<PluginEntry[]>([])
  const isLoading = ref(false)

  async function fetchPlugins() {
    // TODO: GET /api/plugins
  }

  async function installPlugin(_slug: string) {
    // TODO: POST /api/plugins/install
  }

  async function reloadPlugin(_pluginId: string) {
    // TODO: POST /api/plugins/:id/reload
  }

  async function searchUmod(_query: string) {
    // TODO: GET /api/plugins/search?q=query
  }

  return {
    plugins,
    isLoading,
    fetchPlugins,
    installPlugin,
    reloadPlugin,
    searchUmod,
  }
})
