mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-10-31 02:57:57 +00:00 
			
		
		
		
	 38aee8d9ea
			
		
	
	38aee8d9ea
	
	
	
		
			
			- The previous gem, `webpush` was last updated a while ago. Also, with the recent ruby upgrade, we needed a fix for zaru/webpush#106. Hence switching to the `web-push` gem where the issues are fixed.
		
			
				
	
	
		
			26 lines
		
	
	
		
			782 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			782 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
 |