Skip to content

Commit e247cc8

Browse files
fix: Email lowering in all validators
1 parent 5246c26 commit e247cc8

5 files changed

Lines changed: 49 additions & 24 deletions

File tree

models/auth.go

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package models
22

33
import (
4+
"strings"
5+
46
v "github.com/go-ozzo/ozzo-validation/v4"
57
"github.com/go-ozzo/ozzo-validation/v4/is"
68
)
@@ -9,9 +11,10 @@ type CheckEmailRequest struct {
911
Email string `json:"email"`
1012
}
1113

12-
func (s CheckEmailRequest) Validate() error {
13-
return v.ValidateStruct(&s,
14-
v.Field(&s.Email, v.Required, is.Email, is.LowerCase),
14+
func (s *CheckEmailRequest) Validate() error {
15+
s.Email = strings.ToLower(s.Email)
16+
return v.ValidateStruct(s,
17+
v.Field(&s.Email, v.Required, is.Email),
1518
)
1619
}
1720

@@ -26,10 +29,11 @@ type StudentOnboardingRequest struct {
2629
CollegeCity string `json:"college_city"`
2730
}
2831

29-
func (s StudentOnboardingRequest) Validate() error {
30-
return v.ValidateStruct(&s,
32+
func (s *StudentOnboardingRequest) Validate() error {
33+
s.Email = strings.ToLower(s.Email)
34+
return v.ValidateStruct(s,
3135
v.Field(&s.Name, v.Required, v.Length(3, 50)),
32-
v.Field(&s.Email, v.Required, is.Email, is.LowerCase),
36+
v.Field(&s.Email, v.Required, is.Email),
3337
v.Field(&s.Password, v.Required, v.Length(8, 0)),
3438
v.Field(&s.PhoneNumber, v.Required, v.Length(10, 10)),
3539
v.Field(&s.CollegeName, v.Required, v.Length(3, 128)),
@@ -42,9 +46,10 @@ type LoginRequest struct {
4246
HashedPassword string `json:"password"`
4347
}
4448

45-
func (l LoginRequest) Validate() error {
46-
return v.ValidateStruct(&l,
47-
v.Field(&l.Email, v.Required, is.Email, is.LowerCase),
49+
func (l *LoginRequest) Validate() error {
50+
l.Email = strings.ToLower(l.Email)
51+
return v.ValidateStruct(l,
52+
v.Field(&l.Email, v.Required, is.Email),
4853
v.Field(&l.HashedPassword, v.Required))
4954
}
5055

@@ -63,8 +68,9 @@ type ForgetPasswordRequest struct {
6368
NewPassword string `json:"new_password"`
6469
}
6570

66-
func (f ForgetPasswordRequest) Validate() error {
67-
return v.ValidateStruct(&f,
68-
v.Field(&f.Email, v.Required, is.Email, is.LowerCase),
71+
func (f *ForgetPasswordRequest) Validate() error {
72+
f.Email = strings.ToLower(f.Email)
73+
return v.ValidateStruct(f,
74+
v.Field(&f.Email, v.Required, is.Email),
6975
v.Field(&f.NewPassword, v.Required, v.Length(8, 0)))
7076
}

models/dispute.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package models
22

33
import (
4+
"strings"
5+
46
v "github.com/go-ozzo/ozzo-validation/v4"
57
"github.com/go-ozzo/ozzo-validation/v4/is"
68
)
@@ -10,8 +12,9 @@ type UpdateDisputeStatusInput struct {
1012
Description string `json:"description"`
1113
}
1214

13-
func (u UpdateDisputeStatusInput) Validate() error {
14-
if err := v.ValidateStruct(&u,
15+
func (u *UpdateDisputeStatusInput) Validate() error {
16+
u.StudentEmail = strings.ToLower(u.StudentEmail)
17+
if err := v.ValidateStruct(u,
1518
v.Field(&u.StudentEmail, is.Email),
1619
v.Field(&u.Description),
1720
); err != nil {

models/organizer.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package models
22

33
import (
4+
"strings"
5+
46
v "github.com/go-ozzo/ozzo-validation/v4"
57
"github.com/go-ozzo/ozzo-validation/v4/is"
68
)
@@ -15,8 +17,9 @@ type CreateOrganizerRequest struct {
1517
FacultyHead string `json:"faculty_head"`
1618
}
1719

18-
func (r CreateOrganizerRequest) Validate() error {
19-
return v.ValidateStruct(&r,
20+
func (r *CreateOrganizerRequest) Validate() error {
21+
r.Email = strings.ToLower(r.Email)
22+
return v.ValidateStruct(r,
2023

2124
// Required fields
2225
v.Field(&r.Name, v.Required, v.RuneLength(3, 100)),
@@ -40,8 +43,9 @@ type EditOrganizerRequest struct {
4043
FacultyHead string `json:"faculty_head"`
4144
}
4245

43-
func (r EditOrganizerRequest) Validate() error {
44-
return v.ValidateStruct(&r,
46+
func (r *EditOrganizerRequest) Validate() error {
47+
r.Email = strings.ToLower(r.Email)
48+
return v.ValidateStruct(r,
4549

4650
v.Field(&r.Name, v.Required, v.RuneLength(3, 100)),
4751
v.Field(&r.Email, v.Required, is.Email),

models/people.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package models
22

33
import (
44
"regexp"
5+
"strings"
56

67
v "github.com/go-ozzo/ozzo-validation/v4"
78
"github.com/go-ozzo/ozzo-validation/v4/is"
@@ -14,8 +15,11 @@ type CreateNewPerson struct {
1415
Email *string `json:"email"`
1516
}
1617

17-
func (p CreateNewPerson) Validate() error {
18-
return v.ValidateStruct(&p,
18+
func (p *CreateNewPerson) Validate() error {
19+
if p.Email != nil {
20+
*p.Email = strings.ToLower(*p.Email)
21+
}
22+
return v.ValidateStruct(p,
1923
v.Field(&p.Name, v.Required, v.Length(2, 100)),
2024
v.Field(&p.PhoneNumber, v.Required,
2125
v.Match(regexp.MustCompile(`^[0-9]{10}$`))),
@@ -36,8 +40,11 @@ type UpdatePersonEventRequest struct {
3640
Email *string `json:"email"`
3741
}
3842

39-
func (p UpdatePersonEventRequest) Validate() error {
40-
return v.ValidateStruct(&p,
43+
func (p *UpdatePersonEventRequest) Validate() error {
44+
if p.Email != nil {
45+
*p.Email = strings.ToLower(*p.Email)
46+
}
47+
return v.ValidateStruct(p,
4148
v.Field(&p.Name, v.When(
4249
p.Name != "",
4350
v.Length(2, 100),

models/team.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package models
22

33
import (
4+
"strings"
5+
46
v "github.com/go-ozzo/ozzo-validation/v4"
57
"github.com/go-ozzo/ozzo-validation/v4/is"
68
)
@@ -24,8 +26,11 @@ func (t TeamMember) Validate() error {
2426
)
2527
}
2628

27-
func (e TeamBookingRequest) Validate() error {
28-
return v.ValidateStruct(&e,
29+
func (e *TeamBookingRequest) Validate() error {
30+
for i := range e.TeamMembers {
31+
e.TeamMembers[i].StudentEmail = strings.ToLower(e.TeamMembers[i].StudentEmail)
32+
}
33+
return v.ValidateStruct(e,
2934
v.Field(&e.TeamName, v.Required, v.Length(2, 100)),
3035
v.Field(&e.TeamMembers,
3136
v.Length(0, 100),

0 commit comments

Comments
 (0)