forked from tangled.org/core
Monorepo for Tangled — https://tangled.org

resolve dids in issues page

Changed files
+35 -3
appview
pages
templates
repo
state
+2
appview/pages/pages.go
···
RepoInfo RepoInfo
Active string
Issues []db.Issue
+
DidHandleMap map[string]string
}
func (p *Pages) RepoIssues(w io.Writer, params RepoIssuesParams) error {
···
Issue db.Issue
Comments []db.Comment
IssueOwnerHandle string
+
DidHandleMap map[string]string
State string
}
+1 -1
appview/pages/templates/repo/issues/issue.html
···
>
<div class="flex items-center gap-2 mb-2">
<span class="text-gray-400 text-sm">
-
{{ .OwnerDid }}
+
{{ index $.DidHandleMap .OwnerDid }}
</span>
<span class="text-gray-500 text-sm">
{{ .Created | timeFmt }}
+1 -1
appview/pages/templates/repo/issues/issues.html
···
<span>#{{ .IssueId }}</span>
<span class="before:content-['·']">
opened by
-
{{ .OwnerDid }}
+
{{ index $.DidHandleMap .OwnerDid }}
</span>
</div>
</div>
+31 -1
appview/state/repo.go
···
log.Println("failed to resolve issue owner", err)
}
+
identsToResolve := make([]string, len(comments))
+
for i, comment := range comments {
+
identsToResolve[i] = comment.OwnerDid
+
}
+
resolvedIds := s.resolver.ResolveIdents(r.Context(), identsToResolve)
+
didHandleMap := make(map[string]string)
+
for _, identity := range resolvedIds {
+
if !identity.Handle.IsInvalidHandle() {
+
didHandleMap[identity.DID.String()] = fmt.Sprintf("@%s", identity.Handle.String())
+
} else {
+
didHandleMap[identity.DID.String()] = identity.DID.String()
+
}
+
}
+
s.pages.RepoSingleIssue(w, pages.RepoSingleIssueParams{
LoggedInUser: user,
RepoInfo: pages.RepoInfo{
···
Comments: comments,
IssueOwnerHandle: issueOwnerIdent.Handle.String(),
+
DidHandleMap: didHandleMap,
})
}
···
return
}
+
identsToResolve := make([]string, len(issues))
+
for i, issue := range issues {
+
identsToResolve[i] = issue.OwnerDid
+
}
+
resolvedIds := s.resolver.ResolveIdents(r.Context(), identsToResolve)
+
didHandleMap := make(map[string]string)
+
for _, identity := range resolvedIds {
+
if !identity.Handle.IsInvalidHandle() {
+
didHandleMap[identity.DID.String()] = fmt.Sprintf("@%s", identity.Handle.String())
+
} else {
+
didHandleMap[identity.DID.String()] = identity.DID.String()
+
}
+
}
+
s.pages.RepoIssues(w, pages.RepoIssuesParams{
LoggedInUser: s.auth.GetUser(r),
RepoInfo: pages.RepoInfo{
···
Name: f.RepoName,
SettingsAllowed: settingsAllowed(s, user, f),
},
-
Issues: issues,
+
Issues: issues,
+
DidHandleMap: didHandleMap,
})
return
}