Skip to content

Commit

Permalink
Refactor | CAKK-61 | Dip 위반 문제 해결
Browse files Browse the repository at this point in the history
  • Loading branch information
lcomment committed Aug 30, 2024
1 parent 6e2afa6 commit c42acc1
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,16 +1,44 @@
package com.cakk.api.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.mail.javamail.JavaMailSender;

import net.gpedro.integrations.slack.SlackApi;

import com.cakk.external.extractor.CertificationSlackMessageExtractor;
import com.cakk.external.extractor.ErrorAlertSlackMessageExtractor;
import com.cakk.external.extractor.MessageExtractor;
import com.cakk.external.extractor.VerificationCodeMimeMessageExtractor;
import com.cakk.external.sender.EmailMessageSender;
import com.cakk.external.sender.MessageSender;
import com.cakk.external.sender.SlackMessageSender;
import com.cakk.external.template.MessageTemplate;

@Configuration
public class MessageTemplateConfig {

private final JavaMailSender javaMailSender;
private final SlackApi slackApi;

private final String senderEmail;
private final Boolean isEnable;

public MessageTemplateConfig(
JavaMailSender javaMailSender,
SlackApi slackApi,
@Value("${spring.mail.username}")
String senderEmail,
@Value("${slack.webhook.is-enable}")
Boolean isEnable
) {
this.javaMailSender = javaMailSender;
this.senderEmail = senderEmail;
this.isEnable = isEnable;
this.slackApi = slackApi;
}

@Bean
public MessageTemplate certificationTemplate() {
return new MessageTemplate();
Expand All @@ -25,4 +53,19 @@ public MessageExtractor certificationMessageExtractor() {
public MessageExtractor errorAlertMessageExtractor() {
return new ErrorAlertSlackMessageExtractor();
}

@Bean
public MessageExtractor verificationCodeMimeMessageExtractor() {
return new VerificationCodeMimeMessageExtractor(javaMailSender, senderEmail);
}

@Bean
public MessageSender emailMessageSender() {
return new EmailMessageSender(javaMailSender);
}

@Bean
public MessageSender slackMessageSender() {
return new SlackMessageSender(slackApi, isEnable);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,11 @@ import jakarta.mail.internet.MimeMessage
import org.springframework.beans.factory.annotation.Value
import org.springframework.mail.javamail.JavaMailSender
import org.springframework.mail.javamail.MimeMessageHelper
import org.springframework.stereotype.Component

import com.cakk.common.enums.ReturnCode
import com.cakk.common.exception.CakkException
import com.cakk.external.vo.VerificationMessage

@Component
class VerificationCodeMimeMessageExtractor(
private val mailSender: JavaMailSender,
@Value("\${spring.mail.username}")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,10 @@ package com.cakk.external.sender
import jakarta.mail.internet.MimeMessage

import org.springframework.mail.javamail.JavaMailSender
import org.springframework.stereotype.Component

import com.cakk.common.enums.ReturnCode
import com.cakk.common.exception.CakkException

@Component
class EmailMessageSender(
private val mailSender: JavaMailSender
) : MessageSender<MimeMessage> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@ import net.gpedro.integrations.slack.SlackApi
import net.gpedro.integrations.slack.SlackMessage

import org.springframework.beans.factory.annotation.Value
import org.springframework.stereotype.Component

@Component
class SlackMessageSender(
private val slackApi: SlackApi,
@Value("\${slack.webhook.is-enable}")
Expand Down

0 comments on commit c42acc1

Please sign in to comment.