class OrganizationEmailNotifications {

  public EmailBean memberAdded(
      String organizationName, String dashboardEndpoint, String orgQualifiedName, String initiator)
      throws ServerException {
    Map<String, Object> attributes = new HashMap<>();
    attributes.put("organizationName", organizationName);
    attributes.put("dashboardEndpoint", dashboardEndpoint);
    attributes.put("orgQualifiedName", orgQualifiedName);
    attributes.put("initiator", initiator);

    return doBuildEmail(memberAddedSubject, memberAddedTemplate, attributes);
  }

  @Inject public  OrganizationEmailNotifications(
      @Named("che.mail.from_email_address") String mailFrom,
      @Named("che.organization.email.member_added_subject") String memberAddedSubject,
      @Named("che.organization.email.member_added_template") String memberAddedTemplate,
      @Named("che.organization.email.member_removed_subject") String memberRemovedSubject,
      @Named("che.organization.email.member_removed_template") String memberRemovedTemplate,
      @Named("che.organization.email.org_removed_subject") String orgRemovedSubject,
      @Named("che.organization.email.org_removed_template") String orgRemovedTemplate,
      @Named("che.organization.email.org_renamed_subject") String orgRenamedSubject,
      @Named("che.organization.email.org_renamed_template") String orgRenamedTemplate,
      TemplateProcessor templateProcessor);

}