# frozen_string_literal: true
class ApplicationMailer < ActionMailer::Base
  default from: 'team@metamaps.cc'
  layout 'mailer'

  class << self
    def mail_for_notification(notification)
      case notification.notification_code
        when MAP_ACCESS_REQUEST
          request = notification.notified_object
          MapMailer.access_request(request)
        when MAP_ACCESS_APPROVED
          request = notification.notified_object
          MapMailer.access_approved(request)
        when MAP_INVITE_TO_EDIT
          user_map = notification.notified_object
          MapMailer.invite_to_edit(user_map)
        when TOPIC_ADDED_TO_MAP
          event = notification.notified_object
          TopicMailer.added_to_map(event, notification.recipients[0])
        when TOPIC_CONNECTED_1
          synapse = notification.notified_object
          TopicMailer.connected(synapse, synapse.topic1, notification.recipients[0])
        when TOPIC_CONNECTED_2
          synapse = notification.notified_object
          TopicMailer.connected(synapse, synapse.topic2, notification.recipients[0])
      end
    end
  end
end
