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
··· 84 84 return did, nil 85 85 } 86 86 87 - func GetEmailToDid(e Execer, ems []string) (map[string]string, error) { 87 + func GetEmailToDid(e Execer, ems []string, isVerifiedFilter bool) (map[string]string, error) { 88 88 if len(ems) == 0 { 89 89 return make(map[string]string), nil 90 90 } 91 91 92 + verifiedFilter := 0 93 + if isVerifiedFilter { 94 + verifiedFilter = 1 95 + } 96 + 92 97 // Create placeholders for the IN clause 93 98 placeholders := make([]string, len(ems)) 94 - args := make([]any, len(ems)) 99 + args := make([]any, len(ems)+1) 100 + 101 + args[0] = verifiedFilter 95 102 for i, em := range ems { 96 103 placeholders[i] = "?" 97 - args[i] = em 104 + args[i+1] = em 98 105 } 99 106 100 107 query := ` 101 108 select email, did 102 109 from emails 103 - where email in (` + strings.Join(placeholders, ",") + `) 110 + where 111 + verified = ? 112 + and email in (` + strings.Join(placeholders, ",") + `) 104 113 ` 105 114 106 115 rows, err := e.Query(query, args...)
+1 -5
appview/state/repo_util.go
··· 81 81 } 82 82 83 83 func EmailToDidOrHandle(s *State, emails []string) map[string]string { 84 - emailToDid, err := db.GetEmailToDid(s.db, emails) 84 + emailToDid, err := db.GetEmailToDid(s.db, emails, true) // only get verified emails for mapping 85 85 if err != nil { 86 86 log.Printf("error fetching dids for emails: %v", err) 87 87 return nil 88 88 } 89 89 90 - log.Println(emailToDid) 91 90 var dids []string 92 91 for _, v := range emailToDid { 93 92 dids = append(dids, v) 94 93 } 95 - log.Println(dids) 96 94 resolvedIdents := s.resolver.ResolveIdents(context.Background(), dids) 97 95 98 96 didHandleMap := make(map[string]string) ··· 111 109 emailToDidOrHandle[email] = didOrHandle 112 110 } 113 111 } 114 - 115 - log.Println(emailToDidOrHandle) 116 112 117 113 return emailToDidOrHandle 118 114 }