package com.sn.sowsysrestapi.domain.infrastructure.service.email;

import com.sn.sowsysrestapi.core.email.EmailProperties;
import com.sn.sowsysrestapi.domain.service.SendEmailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class EmailConfig {

    @Autowired
    private EmailProperties emailProperties;

    @Bean
    public SendEmailService sendEmailService() {

        switch (emailProperties.getImpl()) {
            case FAKE:
                return new FakeSendEmailService();
            case SMTP:
                return new SmtpSendEmailService();
            default:
                return null;
        }
    }
}    