Fix “Authorized applications” inefficiently and incorrectly getting last use date (#25060)
This commit is contained in:
		
					parent
					
						
							
								6f94b4ae19
							
						
					
				
			
			
				commit
				
					
						95f59da157
					
				
			
		
					 3 changed files with 14 additions and 6 deletions
				
			
		|  | @ -8,6 +8,8 @@ class Oauth::AuthorizedApplicationsController < Doorkeeper::AuthorizedApplicatio | |||
|   before_action :require_not_suspended!, only: :destroy | ||||
|   before_action :set_body_classes | ||||
| 
 | ||||
|   before_action :set_last_used_at_by_app, only: :index, unless: -> { request.format == :json } | ||||
| 
 | ||||
|   skip_before_action :require_functional! | ||||
| 
 | ||||
|   include Localized | ||||
|  | @ -30,4 +32,14 @@ class Oauth::AuthorizedApplicationsController < Doorkeeper::AuthorizedApplicatio | |||
|   def require_not_suspended! | ||||
|     forbidden if current_account.suspended? | ||||
|   end | ||||
| 
 | ||||
|   def set_last_used_at_by_app | ||||
|     @last_used_at_by_app = Doorkeeper::AccessToken | ||||
|                            .select('DISTINCT ON (application_id) application_id, last_used_at') | ||||
|                            .where(resource_owner_id: current_resource_owner.id) | ||||
|                            .where.not(last_used_at: nil) | ||||
|                            .order(application_id: :desc, last_used_at: :desc) | ||||
|                            .pluck(:application_id, :last_used_at) | ||||
|                            .to_h | ||||
|   end | ||||
| end | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue