tangled
alpha
login
or
join now
moll.dev
/
core
forked from
tangled.org/core
this repo has no description
0
fork
atom
overview
issues
pulls
pipelines
allow only verified emails to assoc with dids
oppi.li
10 months ago
303fc367
3edc2a73
+14
-9
2 changed files
expand all
collapse all
unified
split
appview
db
email.go
state
repo_util.go
+13
-4
appview/db/email.go
···
84
84
return did, nil
85
85
}
86
86
87
87
-
func GetEmailToDid(e Execer, ems []string) (map[string]string, error) {
87
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
92
+
verifiedFilter := 0
93
93
+
if isVerifiedFilter {
94
94
+
verifiedFilter = 1
95
95
+
}
96
96
+
92
97
// Create placeholders for the IN clause
93
98
placeholders := make([]string, len(ems))
94
94
-
args := make([]any, len(ems))
99
99
+
args := make([]any, len(ems)+1)
100
100
+
101
101
+
args[0] = verifiedFilter
95
102
for i, em := range ems {
96
103
placeholders[i] = "?"
97
97
-
args[i] = em
104
104
+
args[i+1] = em
98
105
}
99
106
100
107
query := `
101
108
select email, did
102
109
from emails
103
103
-
where email in (` + strings.Join(placeholders, ",") + `)
110
110
+
where
111
111
+
verified = ?
112
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
84
-
emailToDid, err := db.GetEmailToDid(s.db, emails)
84
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
90
-
log.Println(emailToDid)
91
90
var dids []string
92
91
for _, v := range emailToDid {
93
92
dids = append(dids, v)
94
93
}
95
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
114
-
115
115
-
log.Println(emailToDidOrHandle)
116
112
117
113
return emailToDidOrHandle
118
114
}