iachat/lib/vapid_service.rb
Gabriel Jablonski 659c3e7c2f chore: apply Rails/SaveBang cop (#15)
* chore: apply Rails/SaveBang cop

* fix: correct locale validation in category model spec

* fix: update save methods to avoid Rails/SaveBang cop violations
2025-04-03 23:29:24 -03:00

26 lines
783 B
Ruby

class VapidService
def self.public_key
vapid_keys['public_key']
end
def self.private_key
vapid_keys['private_key']
end
def self.vapid_keys
config = GlobalConfig.get('VAPID_KEYS')
return config['VAPID_KEYS'] if config['VAPID_KEYS'].present?
# keys don't exist in the database. so let's generate and save them
keys = WebPush.generate_key
# TODO: remove the logic on environment variables when we completely deprecate
public_key = ENV.fetch('VAPID_PUBLIC_KEY') { keys.public_key }
private_key = ENV.fetch('VAPID_PRIVATE_KEY') { keys.private_key }
i = InstallationConfig.where(name: 'VAPID_KEYS').first_or_create!(value: { public_key: public_key, private_key: private_key })
i.value
end
private_class_method :vapid_keys
end