mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-28 01:29:39 +02:00
Make encryption config optional for self hosting users (#1476)
* Fix redirect 404 bug * Make encryption optional for self-hosters * Fix test
This commit is contained in:
parent
69f6d7f8ea
commit
0af5faaa9f
4 changed files with 19 additions and 3 deletions
|
@ -5,6 +5,8 @@ module StoreLocation
|
||||||
helper_method :previous_path
|
helper_method :previous_path
|
||||||
before_action :store_return_to
|
before_action :store_return_to
|
||||||
after_action :clear_previous_path
|
after_action :clear_previous_path
|
||||||
|
|
||||||
|
rescue_from ActiveRecord::RecordNotFound, with: :handle_not_found
|
||||||
end
|
end
|
||||||
|
|
||||||
def previous_path
|
def previous_path
|
||||||
|
@ -12,6 +14,14 @@ module StoreLocation
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
def handle_not_found
|
||||||
|
if request.fullpath == session[:return_to]
|
||||||
|
session.delete(:return_to)
|
||||||
|
redirect_to fallback_path
|
||||||
|
else
|
||||||
|
head :not_found
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def store_return_to
|
def store_return_to
|
||||||
if params[:return_to].present?
|
if params[:return_to].present?
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
class PlaidItem < ApplicationRecord
|
class PlaidItem < ApplicationRecord
|
||||||
include Plaidable, Syncable
|
include Plaidable, Syncable
|
||||||
|
|
||||||
encrypts :access_token, deterministic: true
|
if Rails.application.credentials.active_record_encryption.present?
|
||||||
|
encrypts :access_token, deterministic: true
|
||||||
|
end
|
||||||
|
|
||||||
validates :name, :access_token, presence: true
|
validates :name, :access_token, presence: true
|
||||||
|
|
||||||
before_destroy :remove_plaid_item
|
before_destroy :remove_plaid_item
|
||||||
|
|
|
@ -30,5 +30,10 @@ module Maybe
|
||||||
config.i18n.fallbacks = true
|
config.i18n.fallbacks = true
|
||||||
|
|
||||||
config.app_mode = (ENV["SELF_HOSTED"] == "true" || ENV["SELF_HOSTING_ENABLED"] == "true" ? "self_hosted" : "managed").inquiry
|
config.app_mode = (ENV["SELF_HOSTED"] == "true" || ENV["SELF_HOSTING_ENABLED"] == "true" ? "self_hosted" : "managed").inquiry
|
||||||
|
|
||||||
|
# Self hosters can optionally set their own encryption keys if they want to use ActiveRecord encryption.
|
||||||
|
if Rails.application.credentials.active_record_encryption.present?
|
||||||
|
config.active_record.encryption = Rails.application.credentials.active_record_encryption
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -94,6 +94,4 @@ Rails.application.configure do
|
||||||
# ]
|
# ]
|
||||||
# Skip DNS rebinding protection for the default health check endpoint.
|
# Skip DNS rebinding protection for the default health check endpoint.
|
||||||
# config.host_authorization = { exclude: ->(request) { request.path == "/up" } }
|
# config.host_authorization = { exclude: ->(request) { request.path == "/up" } }
|
||||||
|
|
||||||
config.active_record.encryption = Rails.application.credentials.active_record_encryption
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue