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

appview: associate users to commits by did

Enables commit verification for users using a DID in place of an email
address.

<https://tangled.org/@tangled.org/core/issues/218>

Signed-off-by: tjh <did:plc:65gha4t3avpfpzmvpbwovss7>

Changed files
+13 -9
appview
+13 -9
appview/db/email.go
···
return did, nil
}
-
func GetEmailToDid(e Execer, ems []string, isVerifiedFilter bool) (map[string]string, error) {
-
if len(ems) == 0 {
+
func GetEmailToDid(e Execer, emails []string, isVerifiedFilter bool) (map[string]string, error) {
+
if len(emails) == 0 {
return make(map[string]string), nil
}
···
if isVerifiedFilter {
verifiedFilter = 1
}
+
+
assoc := make(map[string]string)
// Create placeholders for the IN clause
-
placeholders := make([]string, len(ems))
-
args := make([]any, len(ems)+1)
+
placeholders := make([]string, 0, len(emails))
+
args := make([]any, 1, len(emails)+1)
args[0] = verifiedFilter
-
for i, em := range ems {
-
placeholders[i] = "?"
-
args[i+1] = em
+
for _, email := range emails {
+
if strings.HasPrefix(email, "did:") {
+
assoc[email] = email
+
continue
+
}
+
placeholders = append(placeholders, "?")
+
args = append(args, email)
}
query := `
···
return nil, err
}
defer rows.Close()
-
-
assoc := make(map[string]string)
for rows.Next() {
var email, did string