forked from tangled.org/core
this repo has no description

allow only verified emails to assoc with dids

Changed files
+14 -9
appview
+13 -4
appview/db/email.go
···
return did, nil
}
-
func GetEmailToDid(e Execer, ems []string) (map[string]string, error) {
+
func GetEmailToDid(e Execer, ems []string, isVerifiedFilter bool) (map[string]string, error) {
if len(ems) == 0 {
return make(map[string]string), nil
}
+
verifiedFilter := 0
+
if isVerifiedFilter {
+
verifiedFilter = 1
+
}
+
// Create placeholders for the IN clause
placeholders := make([]string, len(ems))
-
args := make([]any, len(ems))
+
args := make([]any, len(ems)+1)
+
+
args[0] = verifiedFilter
for i, em := range ems {
placeholders[i] = "?"
-
args[i] = em
+
args[i+1] = em
}
query := `
select email, did
from emails
-
where email in (` + strings.Join(placeholders, ",") + `)
+
where
+
verified = ?
+
and email in (` + strings.Join(placeholders, ",") + `)
`
rows, err := e.Query(query, args...)
+1 -5
appview/state/repo_util.go
···
}
func EmailToDidOrHandle(s *State, emails []string) map[string]string {
-
emailToDid, err := db.GetEmailToDid(s.db, emails)
+
emailToDid, err := db.GetEmailToDid(s.db, emails, true) // only get verified emails for mapping
if err != nil {
log.Printf("error fetching dids for emails: %v", err)
return nil
}
-
log.Println(emailToDid)
var dids []string
for _, v := range emailToDid {
dids = append(dids, v)
}
-
log.Println(dids)
resolvedIdents := s.resolver.ResolveIdents(context.Background(), dids)
didHandleMap := make(map[string]string)
···
emailToDidOrHandle[email] = didOrHandle
}
}
-
-
log.Println(emailToDidOrHandle)
return emailToDidOrHandle
}