Convert joins to subqueries to fix duplicates in owned_items
[arvados.git] / services / api / app / models / api_client_authorization.rb
index fca57dce8f4d0eb3331c05d442e9fe0fa94f399a..3b73f408c3f03bf35f48a0711357a0487fdeee8e 100644 (file)
@@ -20,6 +20,8 @@ class ApiClientAuthorization < ArvadosModel
     t.add :scopes
   end
 
+  UNLOGGED_CHANGES = ['last_used_at', 'last_used_by_ip_address', 'updated_at']
+
   def assign_random_api_token
     self.api_token ||= rand(2**256).to_s(36)
   end
@@ -60,6 +62,12 @@ class ApiClientAuthorization < ArvadosModel
   end
   def modified_at=(x) end
 
+  def logged_attributes
+    attrs = attributes.dup
+    attrs.delete('api_token')
+    attrs
+  end
+
   protected
 
   def permission_to_create
@@ -71,4 +79,8 @@ class ApiClientAuthorization < ArvadosModel
      not self.user_id_changed? and
      not self.owner_uuid_changed?)
   end
+
+  def log_update
+    super unless (changed - UNLOGGED_CHANGES).empty?
+  end
 end