1
0
mirror of https://github.com/Siphonay/mastodon synced 2025-02-12 12:24:46 +00:00

Change authorized applications page (#17656)

* Change authorized applications page

* Hide revoke button for superapps and suspended accounts

* Clean up db/schema.rb
This commit is contained in:
Eugen Rochko 2022-03-01 16:48:58 +01:00 committed by GitHub
parent 233f7e6174
commit 50ea54b3ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 393 additions and 62 deletions

View File

@ -5,6 +5,7 @@ class Api::BaseController < ApplicationController
DEFAULT_ACCOUNTS_LIMIT = 40 DEFAULT_ACCOUNTS_LIMIT = 40
include RateLimitHeaders include RateLimitHeaders
include AccessTokenTrackingConcern
skip_before_action :store_current_location skip_before_action :store_current_location
skip_before_action :require_functional!, unless: :whitelist_mode? skip_before_action :require_functional!, unless: :whitelist_mode?

View File

@ -0,0 +1,21 @@
# frozen_string_literal: true
module AccessTokenTrackingConcern
extend ActiveSupport::Concern
ACCESS_TOKEN_UPDATE_FREQUENCY = 24.hours.freeze
included do
before_action :update_access_token_last_used
end
private
def update_access_token_last_used
doorkeeper_token.update_last_used(request) if access_token_needs_update?
end
def access_token_needs_update?
doorkeeper_token.present? && (doorkeeper_token.last_used_at.nil? || doorkeeper_token.last_used_at < ACCESS_TOKEN_UPDATE_FREQUENCY.ago)
end
end

View File

@ -3,7 +3,7 @@
module SessionTrackingConcern module SessionTrackingConcern
extend ActiveSupport::Concern extend ActiveSupport::Concern
UPDATE_SIGN_IN_HOURS = 24 SESSION_UPDATE_FREQUENCY = 24.hours.freeze
included do included do
before_action :set_session_activity before_action :set_session_activity
@ -17,6 +17,6 @@ module SessionTrackingConcern
end end
def session_needs_update? def session_needs_update?
!current_session.nil? && current_session.updated_at < UPDATE_SIGN_IN_HOURS.hours.ago !current_session.nil? && current_session.updated_at < SESSION_UPDATE_FREQUENCY.ago
end end
end end

View File

@ -3,7 +3,7 @@
module UserTrackingConcern module UserTrackingConcern
extend ActiveSupport::Concern extend ActiveSupport::Concern
UPDATE_SIGN_IN_FREQUENCY = 24.hours.freeze SIGN_IN_UPDATE_FREQUENCY = 24.hours.freeze
included do included do
before_action :update_user_sign_in before_action :update_user_sign_in
@ -16,6 +16,6 @@ module UserTrackingConcern
end end
def user_needs_sign_in_update? def user_needs_sign_in_update?
user_signed_in? && (current_user.current_sign_in_at.nil? || current_user.current_sign_in_at < UPDATE_SIGN_IN_FREQUENCY.ago) user_signed_in? && (current_user.current_sign_in_at.nil? || current_user.current_sign_in_at < SIGN_IN_UPDATE_FREQUENCY.ago)
end end
end end

View File

@ -224,4 +224,19 @@ module ApplicationHelper
content_tag(:script, json_escape(json).html_safe, id: 'initial-state', type: 'application/json')