Skip to content

Order cluster token by last used

Emily Ring requested to merge 322128-token-order into master

What does this MR do?

We are in the process of enhancing our Agent Details page, and we want to include the last_used_at field to our UI.

Related design

Related issue

This MR will:

  • Add last_used_at index to the database
  • Add order_last_used_at_desc scope to agent token model
  • Update GraphQl to sort tokens by last_used_at field
  • Update associated tests

We want to

Screenshots

tokenOrder

Migrations

up

== 20210407152925 AddClusterAgentTokenLastUsed: migrating =====================
-- transaction_open?()
   -> 0.0000s
-- index_exists?(:cluster_agent_tokens, :last_used_at, {:name=>"index_cluster_agent_tokens_on_last_used_at", :order
=>{:last_used_at=>"DESC NULLS LAST"}, :algorithm=>:concurrently})
   -> 0.0030s
-- execute("SET statement_timeout TO 0")
   -> 0.0005s
-- add_index(:cluster_agent_tokens, :last_used_at, {:name=>"index_cluster_agent_tokens_on_last_used_at", :order=>{:
last_used_at=>"DESC NULLS LAST"}, :algorithm=>:concurrently})
   -> 0.0040s
-- execute("RESET ALL")
   -> 0.0006s
== 20210407152925 AddClusterAgentTokenLastUsed: migrated (0.0090s) ============

down

== 20210407152925 AddClusterAgentTokenLastUsed: reverting =====================
-- transaction_open?()
   -> 0.0000s
-- indexes(:cluster_agent_tokens)
   -> 0.0028s
-- execute("SET statement_timeout TO 0")
   -> 0.0008s
-- remove_index(:cluster_agent_tokens, {:algorithm=>:concurrently, :name=>"index_cluster_agent_tokens_on_last_used_at"})
   -> 0.0043s
-- execute("RESET ALL")
   -> 0.0006s
== 20210407152925 AddClusterAgentTokenLastUsed: reverted (0.0095s) ============

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Related to #322128 (closed)

Edited by Emily Ring

Merge request reports