Notify user about new RS authorizations

This commit is contained in:
Râu Cao
2023-11-20 18:22:28 +01:00
parent c2dae105ff
commit cfd0935bdc
5 changed files with 121 additions and 41 deletions

View File

@@ -18,7 +18,7 @@ class RemoteStorageAuthorization < ApplicationRecord
before_create :store_token_in_redis
before_create :find_or_create_web_app
after_create :schedule_token_expiry
# after_create :notify_user
after_create :notify_user
before_destroy :delete_token_from_redis
after_destroy :remove_token_expiry_job
@@ -93,4 +93,22 @@ class RemoteStorageAuthorization < ApplicationRecord
rescue URI::InvalidURIError
false
end
def notify_user
notify = user.preferences[:remotestorage_notify_auth_created]
case notify
when "xmpp"
router = Router.new
payload = {
type: "normal", to: user.address,
from: Setting.xmpp_notifications_from_address,
body: "You have just granted '#{self.client_id}' access to your Kosmos Storage. Visit your Storage dashboard to check on your connected apps and revoke permissions anytime: #{router.services_storage_url}"
}
XmppSendMessageJob.perform_later(payload)
when "email"
NotificationMailer.with(user: user, auth: self)
.remotestorage_auth_created.deliver_later
end
end
end