Monorepo for Tangled tangled.org

allow only verified emails to assoc with dids

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