diff --git a/db/migrate/20220909220449_add_webpush_app.rb b/db/migrate/20220909220449_add_webpush_app.rb new file mode 100644 index 00000000..e527d64c --- /dev/null +++ b/db/migrate/20220909220449_add_webpush_app.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +require "webpush" + +class AddWebpushApp < ActiveRecord::Migration[6.1] + def up + vapid_keypair = Webpush.generate_key.to_hash + app = Rpush::Webpush::App.new + app.name = "webpush" + app.certificate = vapid_keypair.merge(subject: "user@example.com").to_json # TODO: put an email address here + app.connections = 1 + app.save! + end + + def down + Rpush::Webpush::App.find_by(name: "webpush").destroy! + end +end