first commits 3
This commit is contained in:
parent
b3fc6d25ca
commit
6dc72d3e14
28 changed files with 1095 additions and 0 deletions
0
events/.gitkeep
Normal file
0
events/.gitkeep
Normal file
6
events/event-names.go
Normal file
6
events/event-names.go
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
package events
|
||||
|
||||
// event names
|
||||
const USER_REGISTERED = "user-registered"
|
||||
const USER_PASSWORD_RESET_REQUESTED = "user-password-reset-requested"
|
||||
const PASSWORD_CHANGED = "password-changed"
|
||||
0
events/eventjobs/.gitkeep
Normal file
0
events/eventjobs/.gitkeep
Normal file
31
events/eventjobs/send-password-changed-email.go
Normal file
31
events/eventjobs/send-password-changed-email.go
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
package eventjobs
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"git.smarteching.com/goffee/core"
|
||||
"git.smarteching.com/goffee/cup/models"
|
||||
)
|
||||
|
||||
var SendPasswordChangedEmail core.EventJob = func(event *core.Event, c *core.Context) {
|
||||
go func() {
|
||||
mailer := c.GetMailer()
|
||||
logger := c.GetLogger()
|
||||
|
||||
user, ok := event.Payload["user"].(models.User)
|
||||
if !ok {
|
||||
logger.Error("[SendPasswordChangedEmail job] invalid user")
|
||||
return
|
||||
}
|
||||
mailer.SetFrom(core.EmailAddress{Name: "Goffee", Address: "mail@example.com"})
|
||||
mailer.SetTo([]core.EmailAddress{
|
||||
{
|
||||
Name: user.Name, Address: user.Email,
|
||||
},
|
||||
})
|
||||
mailer.SetSubject("Password Changed")
|
||||
body := fmt.Sprintf("Hi %v, \nYour password have been changed. \nThanks.", user.Name)
|
||||
mailer.SetPlainTextBody(body)
|
||||
mailer.Send()
|
||||
}()
|
||||
}
|
||||
38
events/eventjobs/send-reset-password-email.go
Normal file
38
events/eventjobs/send-reset-password-email.go
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
package eventjobs
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"git.smarteching.com/goffee/core"
|
||||
"git.smarteching.com/goffee/cup/models"
|
||||
)
|
||||
|
||||
var SendResetPasswordEmail core.EventJob = func(event *core.Event, c *core.Context) {
|
||||
go func() {
|
||||
mailer := c.GetMailer()
|
||||
logger := c.GetLogger()
|
||||
|
||||
user, ok := event.Payload["user"].(models.User)
|
||||
if !ok {
|
||||
logger.Error("[SendResetPasswordEmail job] invalid user")
|
||||
return
|
||||
}
|
||||
mailer.SetFrom(core.EmailAddress{Name: "Goffee", Address: "mail@example.com"})
|
||||
mailer.SetTo([]core.EmailAddress{
|
||||
{
|
||||
Name: user.Name, Address: user.Email,
|
||||
},
|
||||
})
|
||||
|
||||
mailer.SetSubject("Reset Password Link")
|
||||
hostname, err := os.Hostname()
|
||||
if err != nil {
|
||||
c.GetLogger().Error(err.Error())
|
||||
}
|
||||
resetPasswordLink := fmt.Sprintf("%v/reset-password/code/%v", hostname, c.CastToString(event.Payload["code"]))
|
||||
body := fmt.Sprintf("Hi %v, <br>Click the link below to reset your password <br><a href=\"%v\">Reset Password</a>. <br>Thanks.", user.Name, resetPasswordLink)
|
||||
mailer.SetHTMLBody(body)
|
||||
mailer.Send()
|
||||
}()
|
||||
}
|
||||
31
events/eventjobs/send-welcome-email.go
Normal file
31
events/eventjobs/send-welcome-email.go
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
package eventjobs
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"git.smarteching.com/goffee/core"
|
||||
"git.smarteching.com/goffee/cup/models"
|
||||
)
|
||||
|
||||
var SendWelcomeEmail core.EventJob = func(event *core.Event, c *core.Context) {
|
||||
go func() {
|
||||
mailer := c.GetMailer()
|
||||
logger := c.GetLogger()
|
||||
|
||||
user, ok := event.Payload["user"].(models.User)
|
||||
if !ok {
|
||||
logger.Error("[SenEmail job] invalid user")
|
||||
return
|
||||
}
|
||||
mailer.SetFrom(core.EmailAddress{Name: "Goffee", Address: "mail@example.com"})
|
||||
mailer.SetTo([]core.EmailAddress{
|
||||
{
|
||||
Name: user.Name, Address: user.Email,
|
||||
},
|
||||
})
|
||||
mailer.SetSubject("Welcome To Goffee")
|
||||
body := fmt.Sprintf("Hi %v, \nWelcome to Goffe \nYour account have been created successfully. \nThanks.", user.Name)
|
||||
mailer.SetPlainTextBody(body)
|
||||
mailer.Send()
|
||||
}()
|
||||
}
|
||||
9
events/eventjobs/test-job.go
Normal file
9
events/eventjobs/test-job.go
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
package eventjobs
|
||||
|
||||
import (
|
||||
"git.smarteching.com/goffee/core"
|
||||
)
|
||||
|
||||
var TestEvent core.EventJob = func(event *core.Event, c *core.Context) {
|
||||
c.GetLogger().Info("hello from event test job")
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue