1
All checks were successful
Build Multi-Platform Binaries / build-frontend (push) Successful in 38s
Build Multi-Platform Binaries / build-binaries (amd64, darwin, server, false) (push) Successful in 50s
Build Multi-Platform Binaries / build-binaries (amd64, linux, client, true) (push) Successful in 1m6s
Build Multi-Platform Binaries / build-binaries (amd64, linux, server, true) (push) Successful in 1m4s
Build Multi-Platform Binaries / build-binaries (amd64, windows, client, true) (push) Successful in 41s
Build Multi-Platform Binaries / build-binaries (amd64, windows, server, true) (push) Successful in 1m44s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, client, true) (push) Successful in 52s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, server, true) (push) Successful in 1m10s
Build Multi-Platform Binaries / build-binaries (arm64, darwin, server, false) (push) Successful in 48s
Build Multi-Platform Binaries / build-binaries (arm64, linux, client, true) (push) Successful in 36s
Build Multi-Platform Binaries / build-binaries (arm64, linux, server, true) (push) Successful in 1m24s
Build Multi-Platform Binaries / build-binaries (arm64, windows, server, false) (push) Successful in 1m35s
All checks were successful
Build Multi-Platform Binaries / build-frontend (push) Successful in 38s
Build Multi-Platform Binaries / build-binaries (amd64, darwin, server, false) (push) Successful in 50s
Build Multi-Platform Binaries / build-binaries (amd64, linux, client, true) (push) Successful in 1m6s
Build Multi-Platform Binaries / build-binaries (amd64, linux, server, true) (push) Successful in 1m4s
Build Multi-Platform Binaries / build-binaries (amd64, windows, client, true) (push) Successful in 41s
Build Multi-Platform Binaries / build-binaries (amd64, windows, server, true) (push) Successful in 1m44s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, client, true) (push) Successful in 52s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, server, true) (push) Successful in 1m10s
Build Multi-Platform Binaries / build-binaries (arm64, darwin, server, false) (push) Successful in 48s
Build Multi-Platform Binaries / build-binaries (arm64, linux, client, true) (push) Successful in 36s
Build Multi-Platform Binaries / build-binaries (arm64, linux, server, true) (push) Successful in 1m24s
Build Multi-Platform Binaries / build-binaries (arm64, windows, server, false) (push) Successful in 1m35s
This commit is contained in:
@@ -563,7 +563,42 @@ func (s *Server) InstallPluginsToClient(clientID string, plugins []string) error
|
||||
return fmt.Errorf("client %s not found", clientID)
|
||||
}
|
||||
|
||||
return s.sendInstallPlugins(cs.Session, plugins)
|
||||
// 发送安装请求到客户端
|
||||
if err := s.sendInstallPlugins(cs.Session, plugins); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 更新数据库中客户端的已安装插件列表
|
||||
client, err := s.clientStore.GetClient(clientID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to get client: %w", err)
|
||||
}
|
||||
|
||||
// 获取插件版本信息并添加到客户端插件列表
|
||||
for _, pluginName := range plugins {
|
||||
// 检查是否已安装
|
||||
found := false
|
||||
for _, cp := range client.Plugins {
|
||||
if cp.Name == pluginName {
|
||||
found = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !found {
|
||||
// 获取插件信息
|
||||
version := "1.0.0"
|
||||
if handler, err := s.pluginRegistry.Get(pluginName); err == nil && handler != nil {
|
||||
version = handler.Metadata().Version
|
||||
}
|
||||
client.Plugins = append(client.Plugins, db.ClientPlugin{
|
||||
Name: pluginName,
|
||||
Version: version,
|
||||
Enabled: true,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
return s.clientStore.UpdateClient(client)
|
||||
}
|
||||
|
||||
// sendInstallPlugins 发送安装插件请求
|
||||
|
||||
Reference in New Issue
Block a user