(provisionerDaemons []database.ProvisionerDaemon, now time.Time, staleInterval time.Duration)
| 924 | } |
| 925 | |
| 926 | func MatchedProvisioners(provisionerDaemons []database.ProvisionerDaemon, now time.Time, staleInterval time.Duration) codersdk.MatchedProvisioners { |
| 927 | minLastSeenAt := now.Add(-staleInterval) |
| 928 | mostRecentlySeen := codersdk.NullTime{} |
| 929 | var matched codersdk.MatchedProvisioners |
| 930 | for _, provisioner := range provisionerDaemons { |
| 931 | if !provisioner.LastSeenAt.Valid { |
| 932 | continue |
| 933 | } |
| 934 | matched.Count++ |
| 935 | if provisioner.LastSeenAt.Time.After(minLastSeenAt) { |
| 936 | matched.Available++ |
| 937 | } |
| 938 | if provisioner.LastSeenAt.Time.After(mostRecentlySeen.Time) { |
| 939 | matched.MostRecentlySeen.Valid = true |
| 940 | matched.MostRecentlySeen.Time = provisioner.LastSeenAt.Time |
| 941 | } |
| 942 | } |
| 943 | return matched |
| 944 | } |
| 945 | |
| 946 | func TemplateRoleActions(role codersdk.TemplateRole) []policy.Action { |
| 947 | switch role { |
no test coverage detected