1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-24 23:59:40 +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:
Zach Gollwitzer 2024-11-18 10:47:05 -05:00 committed by GitHub
parent 69f6d7f8ea
commit 0af5faaa9f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 19 additions and 3 deletions

View file

@ -5,6 +5,8 @@ module StoreLocation
helper_method :previous_path
before_action :store_return_to
after_action :clear_previous_path
rescue_from ActiveRecord::RecordNotFound, with: :handle_not_found
end
def previous_path
@ -12,6 +14,14 @@ module StoreLocation
end
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
if params[:return_to].present?

View file

@ -1,7 +1,10 @@
class PlaidItem < ApplicationRecord
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
before_destroy :remove_plaid_item

View file

@ -30,5 +30,10 @@ module Maybe
config.i18n.fallbacks = true
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

View file

@ -94,6 +94,4 @@ Rails.application.configure do
# ]
# Skip DNS rebinding protection for the default health check endpoint.
# config.host_authorization = { exclude: ->(request) { request.path == "/up" } }
config.active_record.encryption = Rails.application.credentials.active_record_encryption
end