diff options
Diffstat (limited to 'app/assets/javascripts/clusters_list/clusters_util.js')
-rw-r--r-- | app/assets/javascripts/clusters_list/clusters_util.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/app/assets/javascripts/clusters_list/clusters_util.js b/app/assets/javascripts/clusters_list/clusters_util.js index e2d01723dde..ee36a295513 100644 --- a/app/assets/javascripts/clusters_list/clusters_util.js +++ b/app/assets/javascripts/clusters_list/clusters_util.js @@ -1,3 +1,5 @@ +import { ACTIVE_CONNECTION_TIME } from './constants'; + export function generateAgentRegistrationCommand({ name, token, version, address }) { return `helm repo add gitlab https://charts.gitlab.io helm repo update @@ -12,3 +14,24 @@ helm upgrade --install ${name} gitlab/gitlab-agent \\ export function getAgentConfigPath(clusterAgentName) { return `.gitlab/agents/${clusterAgentName}`; } + +export function getAgentLastContact(tokens = []) { + let lastContact = null; + tokens.forEach((token) => { + const lastContactToDate = new Date(token.lastUsedAt).getTime(); + if (lastContactToDate > lastContact) { + lastContact = lastContactToDate; + } + }); + return lastContact; +} + +export function getAgentStatus(lastContact) { + if (lastContact) { + const now = new Date().getTime(); + const diff = now - lastContact; + + return diff >= ACTIVE_CONNECTION_TIME ? 'inactive' : 'active'; + } + return 'unused'; +} |