Monorepo for Tangled
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

appview/{pages,state}: simplify LoginPage params

We don't need to pass full `MultiAccountUser` here. just `[]AccountInfo`
should be enough. This way, we can make `MultiAccountUser` to always
hold an active user.

Signed-off-by: Seongmin Lee <git@boltless.me>

authored by

Seongmin Lee and committed by
Tangled
686cab05 2713446b

+31 -63
+2 -5
appview/oauth/accounts.go
··· 23 23 } 24 24 25 25 type MultiAccountUser struct { 26 - Active *User 26 + Active User 27 27 Accounts []AccountInfo 28 28 } 29 29 30 30 func (m *MultiAccountUser) Did() string { 31 - if m.Active == nil { 32 - return "" 33 - } 34 31 return m.Active.Did 35 32 } 36 33 ··· 122 119 123 120 registry := o.GetAccounts(r) 124 121 return &MultiAccountUser{ 125 - Active: &User{ 122 + Active: User{ 126 123 Did: sess.Data.AccountDID.String(), 127 124 }, 128 125 Accounts: registry.Accounts,
-18
appview/oauth/accounts_test.go
··· 210 210 } 211 211 }) 212 212 } 213 - 214 - func TestMultiAccountUser_Did(t *testing.T) { 215 - t.Run("with active user", func(t *testing.T) { 216 - user := &MultiAccountUser{ 217 - Active: &User{Did: "did:plc:test"}, 218 - } 219 - if user.Did() != "did:plc:test" { 220 - t.Errorf("Did() = %s, want did:plc:test", user.Did()) 221 - } 222 - }) 223 - 224 - t.Run("with nil active", func(t *testing.T) { 225 - user := &MultiAccountUser{Active: nil} 226 - if user.Did() != "" { 227 - t.Errorf("Did() = %s, want empty string", user.Did()) 228 - } 229 - }) 230 - }
+4 -4
appview/pages/pages.go
··· 309 309 } 310 310 311 311 type LoginParams struct { 312 - ReturnUrl string 313 - ErrorCode string 314 - AddAccount bool 315 - LoggedInUser *oauth.MultiAccountUser 312 + ReturnUrl string 313 + ErrorCode string 314 + AddAccount bool 315 + Accounts []oauth.AccountInfo 316 316 } 317 317 318 318 func (p *Pages) Login(w io.Writer, params LoginParams) error {
+2 -3
appview/pages/templates/user/login.html
··· 11 11 </div> 12 12 {{ end }} 13 13 14 - {{ if and .LoggedInUser .LoggedInUser.Accounts }} 15 - {{ $accounts := .LoggedInUser.Accounts }} 14 + {{ if .Accounts }} 16 15 <div class="my-4 border border-gray-200 dark:border-gray-700 rounded overflow-hidden"> 17 16 <div class="px-3 py-2 bg-gray-50 dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700"> 18 17 <span class="text-xs text-gray-500 dark:text-gray-400 uppercase tracking-wide font-medium">Saved accounts</span> 19 18 </div> 20 19 <div class="divide-y divide-gray-200 dark:divide-gray-700"> 21 - {{ range $accounts }} 20 + {{ range .Accounts }} 22 21 <div class="flex items-center justify-between px-3 py-2 hover:bg-gray-100 dark:hover:bg-gray-700"> 23 22 <button 24 23 type="button"
+15 -15
appview/pulls/pulls.go
··· 105 105 switch r.Method { 106 106 case http.MethodGet: 107 107 user := s.oauth.GetMultiAccountUser(r) 108 - if user != nil && user.Active != nil { 108 + if user != nil { 109 109 l = l.With("user", user.Active.Did) 110 110 } 111 111 ··· 162 162 l := s.logger.With("handler", "repoPullHelper", "interdiff", interdiff) 163 163 164 164 user := s.oauth.GetMultiAccountUser(r) 165 - if user != nil && user.Active != nil { 165 + if user != nil { 166 166 l = l.With("user", user.Active.Did) 167 167 } 168 168 ··· 209 209 mergeCheckResponse := s.mergeCheck(r, f, pull, stack) 210 210 branchDeleteStatus := s.branchDeleteStatus(r, f, pull) 211 211 resubmitResult := pages.Unknown 212 - if user != nil && user.Active != nil && user.Active.Did == pull.OwnerDid { 212 + if user != nil && user.Active.Did == pull.OwnerDid { 213 213 resubmitResult = s.resubmitCheck(r, f, pull, stack) 214 214 } 215 215 ··· 503 503 l := s.logger.With("handler", "RepoPulls") 504 504 505 505 user := s.oauth.GetMultiAccountUser(r) 506 - if user != nil && user.Active != nil { 506 + if user != nil { 507 507 l = l.With("user", user.Active.Did) 508 508 } 509 509 ··· 800 800 l := s.logger.With("handler", "PullComment") 801 801 802 802 user := s.oauth.GetMultiAccountUser(r) 803 - if user != nil && user.Active != nil { 803 + if user != nil { 804 804 l = l.With("user", user.Active.Did) 805 805 } 806 806 ··· 917 917 l := s.logger.With("handler", "NewPull") 918 918 919 919 user := s.oauth.GetMultiAccountUser(r) 920 - if user != nil && user.Active != nil { 920 + if user != nil { 921 921 l = l.With("user", user.Active.Did) 922 922 } 923 923 ··· 1601 1601 l := s.logger.With("handler", "CompareForksFragment") 1602 1602 1603 1603 user := s.oauth.GetMultiAccountUser(r) 1604 - if user != nil && user.Active != nil { 1604 + if user != nil { 1605 1605 l = l.With("user", user.Active.Did) 1606 1606 } 1607 1607 ··· 1622 1622 l := s.logger.With("handler", "CompareForksBranchesFragment") 1623 1623 1624 1624 user := s.oauth.GetMultiAccountUser(r) 1625 - if user != nil && user.Active != nil { 1625 + if user != nil { 1626 1626 l = l.With("user", user.Active.Did) 1627 1627 } 1628 1628 ··· 1702 1702 l := s.logger.With("handler", "ResubmitPull") 1703 1703 1704 1704 user := s.oauth.GetMultiAccountUser(r) 1705 - if user != nil && user.Active != nil { 1705 + if user != nil { 1706 1706 l = l.With("user", user.Active.Did) 1707 1707 } 1708 1708 ··· 1739 1739 l := s.logger.With("handler", "resubmitPatch") 1740 1740 1741 1741 user := s.oauth.GetMultiAccountUser(r) 1742 - if user != nil && user.Active != nil { 1742 + if user != nil { 1743 1743 l = l.With("user", user.Active.Did) 1744 1744 } 1745 1745 ··· 1772 1772 l := s.logger.With("handler", "resubmitBranch") 1773 1773 1774 1774 user := s.oauth.GetMultiAccountUser(r) 1775 - if user != nil && user.Active != nil { 1775 + if user != nil { 1776 1776 l = l.With("user", user.Active.Did) 1777 1777 } 1778 1778 ··· 1842 1842 l := s.logger.With("handler", "resubmitFork") 1843 1843 1844 1844 user := s.oauth.GetMultiAccountUser(r) 1845 - if user != nil && user.Active != nil { 1845 + if user != nil { 1846 1846 l = l.With("user", user.Active.Did) 1847 1847 } 1848 1848 ··· 2299 2299 l := s.logger.With("handler", "MergePull") 2300 2300 2301 2301 user := s.oauth.GetMultiAccountUser(r) 2302 - if user != nil && user.Active != nil { 2302 + if user != nil { 2303 2303 l = l.With("user", user.Active.Did) 2304 2304 } 2305 2305 ··· 2424 2424 l := s.logger.With("handler", "ClosePull") 2425 2425 2426 2426 user := s.oauth.GetMultiAccountUser(r) 2427 - if user != nil && user.Active != nil { 2427 + if user != nil { 2428 2428 l = l.With("user", user.Active.Did) 2429 2429 } 2430 2430 ··· 2500 2500 l := s.logger.With("handler", "ReopenPull") 2501 2501 2502 2502 user := s.oauth.GetMultiAccountUser(r) 2503 - if user != nil && user.Active != nil { 2503 + if user != nil { 2504 2504 l = l.With("user", user.Active.Did) 2505 2505 } 2506 2506
+1 -1
appview/reporesolver/resolver.go
··· 77 77 repoAt := repo.RepoAt() 78 78 isStarred := false 79 79 roles := repoinfo.RolesInRepo{} 80 - if user != nil && user.Active != nil { 80 + if user != nil { 81 81 isStarred = db.GetStarStatus(rr.execer, user.Active.Did, repoAt) 82 82 roles.Roles = rr.enforcer.GetPermissionsInRepo(user.Active.Did, repo.Knot, repo.RepoIdentifier()) 83 83 }
+6 -16
appview/state/login.go
··· 11 11 "github.com/bluesky-social/indigo/atproto/identity" 12 12 "github.com/bluesky-social/indigo/atproto/syntax" 13 13 "github.com/bluesky-social/indigo/xrpc" 14 - "tangled.org/core/appview/oauth" 15 14 "tangled.org/core/appview/pages" 16 15 ) 17 16 ··· 24 23 errorCode := r.URL.Query().Get("error") 25 24 addAccount := r.URL.Query().Get("mode") == "add_account" 26 25 27 - user := s.oauth.GetMultiAccountUser(r) 28 - if user == nil { 29 - registry := s.oauth.GetAccounts(r) 30 - if len(registry.Accounts) > 0 { 31 - user = &oauth.MultiAccountUser{ 32 - Active: nil, 33 - Accounts: registry.Accounts, 34 - } 35 - } 36 - } 26 + registry := s.oauth.GetAccounts(r) 37 27 s.pages.Login(w, pages.LoginParams{ 38 - ReturnUrl: returnURL, 39 - ErrorCode: errorCode, 40 - AddAccount: addAccount, 41 - LoggedInUser: user, 28 + ReturnUrl: returnURL, 29 + ErrorCode: errorCode, 30 + AddAccount: addAccount, 31 + Accounts: registry.Accounts, 42 32 }) 43 33 case http.MethodPost: 44 34 handle := r.FormValue("handle") ··· 139 129 l := s.logger.With("handler", "Logout") 140 130 141 131 currentUser := s.oauth.GetMultiAccountUser(r) 142 - if currentUser == nil || currentUser.Active == nil { 132 + if currentUser == nil { 143 133 s.pages.HxRedirect(w, "/login") 144 134 return 145 135 }
+1 -1
appview/state/timeline.go
··· 47 47 filtered := false 48 48 49 49 var userDid string 50 - if user != nil && user.Active != nil { 50 + if user != nil { 51 51 userDid = user.Active.Did 52 52 } 53 53 timeline, err := db.MakeTimeline(s.db, 50, userDid, filtered)