diff --git a/handlers/members.go b/handlers/members.go index 5f25e54..cccdafa 100644 --- a/handlers/members.go +++ b/handlers/members.go @@ -296,9 +296,16 @@ func (dh *DatabaseHandler) memberExists(checkMember models.Member) (bool, error) return false, errors.New("database not opened") } - var member models.Member - if !dh.database.Exists(&member, "birthdayHash", dh.hashField(checkMember.Birthday), false) { + var members []models.Member + if !dh.database.Exists(&members, "birthdayHash", dh.hashField(checkMember.Birthday), false) { return false, nil } - return dh.hashField(checkMember.FirstName) == member.FirstNameHash && dh.hashField(checkMember.LastName) == member.LastNameHash && dh.hashField(checkMember.Birthday) == member.BirthdayHash, nil + + for _, member := range members { + if dh.hashField(checkMember.FirstName) == member.FirstNameHash && dh.hashField(checkMember.LastName) == member.LastNameHash && dh.hashField(checkMember.Birthday) == member.BirthdayHash { + return true, nil + } + } + + return false, nil } diff --git a/handlers/responsible.go b/handlers/responsible.go index e4aa08f..ca2e364 100644 --- a/handlers/responsible.go +++ b/handlers/responsible.go @@ -54,9 +54,15 @@ func (dh *DatabaseHandler) responsibleExists(CheckResponsible models.Person) (bo return false, errors.New("database not opened") } - var person models.Person - if !dh.database.Exists(&person, "lastName", CheckResponsible.LastName, false) { + var persons []models.Person + if !dh.database.Exists(&persons, "lastName", CheckResponsible.LastName, false) { return false, nil } - return person.FirstName == CheckResponsible.FirstName && person.LastName == CheckResponsible.LastName, nil + + for _, person := range persons { + if person.FirstName == CheckResponsible.FirstName && person.LastName == CheckResponsible.LastName { + return true, nil + } + } + return false, nil }