package main import ( "fmt" socketio "github.com/googollee/go-socket.io" ) func registerUpdateChannel(server *socketio.Server) { server.OnEvent("/", "subscribe:update", func(s socketio.Conn) { s.Join("update") s.Emit("updateLogs", "👋 Subscribed to update channel") fmt.Println("📺", s.ID(), "joined update room") }) // copy files based on the target passed over server.OnEvent("/", "update", func(s socketio.Conn, target string) { server.BroadcastToRoom("/", "update", "updateLogs", fmt.Sprintf("🚀 Copying latest build to %v", target)) copyBuild(server, target) }) // update the server // server.OnEvent("/", "update", func(s socketio.Conn, target string) { // msg := fmt.Sprintf("🔧 Running updateServer on: %s", target) // server.BroadcastToRoom("/update", "update", "updateLogs", msg) // }) server.OnEvent("/", "unsubscribe:update", func(s socketio.Conn) { s.Leave("update") s.Emit("updateLogs", "👋 Unsubscribed from update logs") }) }