uninstall.go 619 B

12345678910111213141516171819202122
  1. package plugin_manager
  2. import (
  3. "github.com/langgenius/dify-plugin-daemon/internal/types/entities/plugin_entities"
  4. )
  5. // UninstallFromLocal uninstalls a plugin from local storage
  6. // once deleted, local runtime will automatically shutdown and exit after several time
  7. func (p *PluginManager) UninstallFromLocal(identity plugin_entities.PluginUniqueIdentifier) error {
  8. if err := p.installedBucket.Delete(identity); err != nil {
  9. return err
  10. }
  11. // send shutdown runtime
  12. runtime, ok := p.m.Load(identity.String())
  13. if !ok {
  14. // no runtime to shutdown, already uninstalled
  15. return nil
  16. }
  17. runtime.Stop()
  18. return nil
  19. }