From 05b1e261ab31d9baa5f301e2881ae181cabb0403 Mon Sep 17 00:00:00 2001 From: tjh Date: Tue, 30 Sep 2025 12:08:18 +0000 Subject: [PATCH] appview: associate users to commits by did Enables commit verification for users using a DID in place of an email address. Signed-off-by: tjh --- appview/db/email.go | 22 +++++++++++++--------- 1 file(s) changed, 13 insertion(s)(+), 9 deletion(s)(-) diff --git a/appview/db/email.go b/appview/db/email.go --- a/appview/db/email.go +++ b/appview/db/email.go @@ -71,8 +71,8 @@ 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 } @@ -81,14 +81,20 @@ 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 := ` @@ -104,8 +110,6 @@ return nil, err } defer rows.Close() - - assoc := make(map[string]string) for rows.Next() { var email, did string -- tangled.sh