netmaker/logic/status.go
Abhishek K 48535f7ef1
NET-1956: Async Node Status API (#3341)
* add node status api

* upsate node status api to return map data

* resolve merge conflicts
2025-02-24 08:48:24 +03:00

30 lines
555 B
Go

package logic
import (
"time"
"github.com/gravitl/netmaker/models"
)
var GetNodeStatus = GetNodeCheckInStatus
func GetNodeCheckInStatus(node *models.Node, t bool) {
// On CE check only last check-in time
if node.IsStatic {
if !node.StaticNode.Enabled {
node.Status = models.OfflineSt
return
}
node.Status = models.OnlineSt
return
}
if !node.Connected {
node.Status = models.Disconnected
return
}
if time.Since(node.LastCheckIn) > time.Minute*10 {
node.Status = models.OfflineSt
return
}
node.Status = models.OnlineSt
}