Documentation
¶
Index ¶
- type ClientConfigData
- type MailClient
- func (client *MailClient) EmailInformUserFailedLogin(timeStamp time.Time, email string) error
- func (client *MailClient) EmailNewRegistration(timeStamp time.Time, ...) error
- func (client *MailClient) EmailRegistrationSuccess(timeStamp time.Time, email string) error
- func (client *MailClient) EmailRegistrationVerifiedAccount(timeStamp time.Time, email string) error
- func (client *MailClient) SendEmail(senderEmail, recipientEmail, subject, body string) error
- type Repository
- type RepositoryInterface
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClientConfigData ¶
func ProductionConfig ¶
func ProductionConfig() (emailClientConfig *ClientConfigData, err error)
Retrieve configuration data (eg. email provider, smtp port) from .env file for production settings only Base parameter for dependency injection of email client (production)
type MailClient ¶
type MailClient struct {
MyEmailClient *gomail.Dialer
}
func NewEmailClient ¶
func NewEmailClient(emailClientConfig *ClientConfigData) (client *MailClient, err error)
func (*MailClient) EmailInformUserFailedLogin ¶
func (client *MailClient) EmailInformUserFailedLogin(timeStamp time.Time, email string) error
Inform account owner on failed login attempt
func (*MailClient) EmailNewRegistration ¶
func (client *MailClient) EmailNewRegistration(timeStamp time.Time, email, verifyLinkValidMinutes, encryptedVerifyToken string) error
Send verification request for new registration request
func (*MailClient) EmailRegistrationSuccess ¶
func (client *MailClient) EmailRegistrationSuccess(timeStamp time.Time, email string) error
Send email after successfully verified registration
func (*MailClient) EmailRegistrationVerifiedAccount ¶
func (client *MailClient) EmailRegistrationVerifiedAccount(timeStamp time.Time, email string) error
Registration request for already verified account/email address. Send warning notification to account owner
func (*MailClient) SendEmail ¶
func (client *MailClient) SendEmail(senderEmail, recipientEmail, subject, body string) error
type Repository ¶
type Repository interface { EmailRegistrationSuccess(timeStamp time.Time, email string) error EmailInformUserFailedLogin(timeStamp time.Time, email string) error SendEmail(senderEmail, recipientEmail, subject, body string) error EmailRegistrationVerifiedAccount(timeStamp time.Time, email string) error EmailNewRegistration(timeStamp time.Time, email, verifyLinkValidMinutes, encryptedVerifyToken string) error }
/////////////////////////////////////////////////////////////////////// Setup interface for email repository utilizing Dependency Injection /////////////////////
type RepositoryInterface ¶
type RepositoryInterface struct {
RepositoryInterface Repository
}
func GetEmailRepositoryInterface ¶
func GetEmailRepositoryInterface(emailClientConfig *ClientConfigData) (emailClientMethods *RepositoryInterface, err error)
func NewEmailMetodInterface ¶
func NewEmailMetodInterface(emailClient *MailClient) *RepositoryInterface
Click to show internal directories.
Click to hide internal directories.