diff --git a/.env.example b/.env.example index 5e571ec..da920cc 100644 --- a/.env.example +++ b/.env.example @@ -2,5 +2,6 @@ mongoURI=mongodb://localhost:27017 dbo=school secret= PORT=8000 +SYSTEM_EMAIL_ADDRESS=<@exampleschoolemail.com> SYSTEM_EMAIL= SYSTEM_PASSWORD= \ No newline at end of file diff --git a/models/adminModel.go b/models/adminModel.go index 87b9773..208884d 100644 --- a/models/adminModel.go +++ b/models/adminModel.go @@ -2,6 +2,7 @@ package models import ( "math/rand" + "os" "strings" "time" "unicode" @@ -25,7 +26,8 @@ type Admin struct { } func (a *Admin) GenerateSchoolEmail() string { - var email string = strings.ToLower(a.LastName) + "_" + strings.ToLower(string(a.FirstName[0])) + "@surreyschools.ca" + addr := os.Getenv("SYSTEM_EMAIL_ADDRESS") + var email string = strings.ToLower(a.LastName) + "_" + strings.ToLower(string(a.FirstName[0])) + addr // Add check to see if email already exists return email } diff --git a/models/studentModel.go b/models/studentModel.go index 474ecf7..391c97b 100644 --- a/models/studentModel.go +++ b/models/studentModel.go @@ -3,6 +3,7 @@ package models import ( "context" "math/rand" + "os" "strconv" "strings" "time" @@ -81,15 +82,16 @@ func (s *Student) EmailExists(email string) bool { } func (s *Student) GenerateSchoolEmail(offset int, lastEmail string) string { - var email string = strings.ToLower(string(s.PersonalData.FirstName[0])) + "." + strings.ToLower(s.PersonalData.LastName) + "@surreyschools.ca" + addr := os.Getenv("SYSTEM_EMAIL_ADDRESS") + var email string = strings.ToLower(string(s.PersonalData.FirstName[0])) + "." + strings.ToLower(s.PersonalData.LastName) + addr if offset > 0 && offset < len([]rune(s.PersonalData.FirstName))-1 { - email = lastEmail[:offset] + strings.ToLower(string(s.PersonalData.FirstName[offset])) + lastEmail[offset:] + email = lastEmail[:offset] + strings.ToLower(string(s.PersonalData.FirstName[offset])) + lastEmail[offset:] + addr } if offset == len([]rune(s.PersonalData.FirstName))-1 { - email = strings.ToLower(s.PersonalData.FirstName) + "." + strings.ToLower(s.PersonalData.LastName) + "@surreyschools.ca" + email = strings.ToLower(s.PersonalData.FirstName) + "." + strings.ToLower(s.PersonalData.LastName) + addr } if offset > len([]rune(s.PersonalData.FirstName))-1 { - email = strings.ToLower(s.PersonalData.FirstName) + "." + strings.ToLower(s.PersonalData.LastName) + strconv.Itoa(offset-len([]rune(s.PersonalData.FirstName))) + "@surreyschools.ca" + email = strings.ToLower(s.PersonalData.FirstName) + "." + strings.ToLower(s.PersonalData.LastName) + strconv.Itoa(offset-len([]rune(s.PersonalData.FirstName))) + addr } return email } diff --git a/models/teacherModel.go b/models/teacherModel.go index bc2dda9..87304f2 100644 --- a/models/teacherModel.go +++ b/models/teacherModel.go @@ -3,6 +3,7 @@ package models import ( "context" "math/rand" + "os" "strconv" "strings" "time" @@ -79,15 +80,16 @@ func (t *Teacher) EmailExists(email string) bool { } func (t *Teacher) GenerateSchoolEmail(offset int, lastEmail string) string { - var email string = strings.ToLower(t.PersonalData.LastName) + "_" + strings.ToLower(string(t.PersonalData.FirstName[0])) + "@surreyschools.ca" + addr := os.Getenv("SYSTEM_EMAIL_ADDRESS") + var email string = strings.ToLower(t.PersonalData.LastName) + "_" + strings.ToLower(string(t.PersonalData.FirstName[0])) + addr if offset > 0 && offset < len([]rune(t.PersonalData.FirstName))-1 { - email = lastEmail[:strings.Index(lastEmail, "_")+offset+1] + strings.ToLower(string(t.PersonalData.FirstName[offset])) + "@surreyschools.ca" + email = lastEmail[:strings.Index(lastEmail, "_")+offset+1] + strings.ToLower(string(t.PersonalData.FirstName[offset])) + addr } if offset == len([]rune(t.PersonalData.FirstName))-1 { - email = strings.ToLower(t.PersonalData.LastName) + "_" + strings.ToLower(t.PersonalData.FirstName) + "@surreyschools.ca" + email = strings.ToLower(t.PersonalData.LastName) + "_" + strings.ToLower(t.PersonalData.FirstName) + addr } if offset > len([]rune(t.PersonalData.FirstName))-1 { - email = strings.ToLower(t.PersonalData.LastName) + "_" + strings.ToLower(t.PersonalData.FirstName) + strconv.Itoa(offset-len([]rune(t.PersonalData.FirstName))) + "@surreyschools.ca" + email = strings.ToLower(t.PersonalData.LastName) + "_" + strings.ToLower(t.PersonalData.FirstName) + strconv.Itoa(offset-len([]rune(t.PersonalData.FirstName))) + addr } return email }