Browse Source

added Workers()

TooManySugar 3 years ago
parent
commit
847b2e4ea0
2 changed files with 28 additions and 5 deletions
  1. 20 0
      unmasrshal_url.go
  2. 8 5
      update_data.go

+ 20 - 0
unmasrshal_url.go

@@ -58,6 +58,22 @@ func MinerStats(url string) (JsonCurrentStats, error) {
 	return currentStats, UnmasrshalFromUrl(urlToStats, &currentStats)
 }
 
+func Workers(url string) (JsonWorker, error) {
+	var workers JsonWorker
+
+	urlToWorkers := url + "/workers"
+	dataExists, err := IsDataExists(urlToWorkers)
+	if err != nil {
+		return workers, err
+	}
+
+	if !dataExists {
+		return workers, fmt.Errorf("No data for workers %s", urlToWorkers)
+	}
+
+	return workers, UnmasrshalFromUrl(urlToWorkers, &workers)
+}
+
 func IsDataExists(url string) (bool, error) {
 	var interfaceJson interface{}
 	
@@ -78,6 +94,10 @@ func IsDataExists(url string) (bool, error) {
 			return true, nil
 			break
 
+		case []interface {}:
+			return true, nil
+			break
+
 		default:
 			return false, fmt.Errorf("unexpected type of Data at interface - %T", interfaceJson.(map[string]interface{})["data"])
 			break

+ 8 - 5
update_data.go

@@ -109,14 +109,17 @@ func (c *Connection) UpdateWallet(wallet string) {
 
 			// Line 64 of UpdateData.cs
 			LogInfo.Printf("Getting workers data for wallet %s\n", wallet)
-			url = fmt.Sprintf("%s/miner/%s/workers", appSettings.ApiUrl, wallet)
+			url = fmt.Sprintf("%s/miner/%s", appSettings.ApiUrl, wallet)
 
 			LogInfo.Print("From: " + url)
-			var currentWorker JsonWorker
-			// currentWorker := ethermine_api.WorkersStats("") url to miner
-			err := UnmasrshalFromUrl(url, &currentWorker)
+
+			currentWorker, err := Workers(url)
 			if err != nil {
-				LogError.Println(err)
+				if strings.Contains(err.Error(), "No data for workers") {
+					LogInfo.Println("No workers data for miner")
+				} else {
+					LogError.Println(err)
+				}
 				return
 			}