status.go 594 B

1234567891011121314151617181920212223242526272829303132
  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. node.Status = models.OnlineSt
  9. return
  10. // On CE check only last check-in time
  11. if node.IsStatic {
  12. if !node.StaticNode.Enabled {
  13. node.Status = models.OfflineSt
  14. return
  15. }
  16. node.Status = models.OnlineSt
  17. return
  18. }
  19. if !node.Connected {
  20. node.Status = models.Disconnected
  21. return
  22. }
  23. if time.Since(node.LastCheckIn) > time.Minute*10 {
  24. node.Status = models.OfflineSt
  25. return
  26. }
  27. node.Status = models.OnlineSt
  28. }