瀏覽代碼

add backwards compatibility

Abhishek Kondur 1 年之前
父節點
當前提交
863c237941
共有 2 個文件被更改,包括 11 次插入6 次删除
  1. 7 2
      controllers/hosts.go
  2. 4 4
      logic/hosts.go

+ 7 - 2
controllers/hosts.go

@@ -519,14 +519,19 @@ func signalPeer(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 	signal.IsPro = servercfg.IsPro
-	host, err := logic.GetHost(signal.ToHostID)
+	var peerHost *models.Host
+	if signal.ToHostID == "" {
+		peerHost, err = logic.GetHostByPubKey(signal.ToHostPubKey)
+	} else {
+		peerHost, err = logic.GetHost(signal.ToHostID)
+	}
 	if err != nil {
 		logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("failed to signal, peer not found"), "badrequest"))
 		return
 	}
 	err = mq.HostUpdate(&models.HostUpdate{
 		Action: models.SignalHost,
-		Host:   *host,
+		Host:   *peerHost,
 		Signal: signal,
 	})
 	if err != nil {

+ 4 - 4
logic/hosts.go

@@ -157,17 +157,17 @@ func GetHost(hostid string) (*models.Host, error) {
 }
 
 // GetHostByPubKey - gets a host from db given pubkey
-func GetHostByPubKey(hostPubKey string) (models.Host, error) {
+func GetHostByPubKey(hostPubKey string) (*models.Host, error) {
 	hosts, err := GetAllHosts()
 	if err != nil {
-		return models.Host{}, err
+		return nil, err
 	}
 	for _, host := range hosts {
 		if host.PublicKey.String() == hostPubKey {
-			return host, nil
+			return &host, nil
 		}
 	}
-	return models.Host{}, errors.New("host not found")
+	return nil, errors.New("host not found")
 }
 
 // CreateHost - creates a host if not exist