status.go 555 B

123456789101112131415161718192021222324252627282930
  1. package logic
  2. import (
  3. "time"
  4. "github.com/gravitl/netmaker/models"
  5. )
  6. var GetNodeStatus = GetNodeCheckInStatus
  7. func GetNodeCheckInStatus(node *models.Node, t bool) {
  8. // On CE check only last check-in time
  9. if node.IsStatic {
  10. if !node.StaticNode.Enabled {
  11. node.Status = models.OfflineSt
  12. return
  13. }
  14. node.Status = models.OnlineSt
  15. return
  16. }
  17. if !node.Connected {
  18. node.Status = models.Disconnected
  19. return
  20. }
  21. if time.Since(node.LastCheckIn) > time.Minute*10 {
  22. node.Status = models.OfflineSt
  23. return
  24. }
  25. node.Status = models.OnlineSt
  26. }