(now time.Time, staleInterval time.Duration, daemons []database.ProvisionerDaemon)
| 790 | } |
| 791 | |
| 792 | func RecentProvisionerDaemons(now time.Time, staleInterval time.Duration, daemons []database.ProvisionerDaemon) []codersdk.ProvisionerDaemon { |
| 793 | results := []codersdk.ProvisionerDaemon{} |
| 794 | |
| 795 | for _, daemon := range daemons { |
| 796 | // Daemon never connected, skip. |
| 797 | if !daemon.LastSeenAt.Valid { |
| 798 | continue |
| 799 | } |
| 800 | // Daemon has gone away, skip. |
| 801 | if now.Sub(daemon.LastSeenAt.Time) > staleInterval { |
| 802 | continue |
| 803 | } |
| 804 | |
| 805 | results = append(results, ProvisionerDaemon(daemon)) |
| 806 | } |
| 807 | |
| 808 | // Ensure stable order for display and for tests |
| 809 | sort.Slice(results, func(i, j int) bool { |
| 810 | return results[i].Name < results[j].Name |
| 811 | }) |
| 812 | |
| 813 | return results |
| 814 | } |
| 815 | |
| 816 | func SlimRole(role rbac.Role) codersdk.SlimRole { |
| 817 | orgID := "" |
no test coverage detected