+13
-4
appview/db/email.go
+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
+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
}