Monorepo for Tangled tangled.org

appview: remove use of all fields under `ResolvedRepo`

Now `ResolvedRepo` is basically same to `models.Repo` so we can safely
remove it. (not included in this commit to make change reviewable size.)

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

authored by boltless.me and committed by Tangled fe0d3a95 b51677f7

+10 -40
appview/issues/issues.go
··· 119 120 rp.pages.RepoSingleIssue(w, pages.RepoSingleIssueParams{ 121 LoggedInUser: user, 122 - RepoInfo: f.RepoInfo(user), 123 Issue: issue, 124 CommentList: issue.CommentList(), 125 OrderedReactionKinds: models.OrderedReactionKinds, ··· 132 func (rp *Issues) EditIssue(w http.ResponseWriter, r *http.Request) { 133 l := rp.logger.With("handler", "EditIssue") 134 user := rp.oauth.GetUser(r) 135 - f, err := rp.repoResolver.Resolve(r) 136 - if err != nil { 137 - l.Error("failed to get repo and knot", "err", err) 138 - return 139 - } 140 141 issue, ok := r.Context().Value("issue").(*models.Issue) 142 if !ok { ··· 149 case http.MethodGet: 150 rp.pages.EditIssueFragment(w, pages.EditIssueParams{ 151 LoggedInUser: user, 152 - RepoInfo: f.RepoInfo(user), 153 Issue: issue, 154 }) 155 case http.MethodPost: ··· 470 func (rp *Issues) IssueComment(w http.ResponseWriter, r *http.Request) { 471 l := rp.logger.With("handler", "IssueComment") 472 user := rp.oauth.GetUser(r) 473 - f, err := rp.repoResolver.Resolve(r) 474 - if err != nil { 475 - l.Error("failed to get repo and knot", "err", err) 476 - return 477 - } 478 479 issue, ok := r.Context().Value("issue").(*models.Issue) 480 if !ok { ··· 502 503 rp.pages.IssueCommentBodyFragment(w, pages.IssueCommentBodyParams{ 504 LoggedInUser: user, 505 - RepoInfo: f.RepoInfo(user), 506 Issue: issue, 507 Comment: &comment, 508 }) ··· 511 func (rp *Issues) EditIssueComment(w http.ResponseWriter, r *http.Request) { 512 l := rp.logger.With("handler", "EditIssueComment") 513 user := rp.oauth.GetUser(r) 514 - f, err := rp.repoResolver.Resolve(r) 515 - if err != nil { 516 - l.Error("failed to get repo and knot", "err", err) 517 - return 518 - } 519 520 issue, ok := r.Context().Value("issue").(*models.Issue) 521 if !ok { ··· 551 case http.MethodGet: 552 rp.pages.EditIssueCommentFragment(w, pages.EditIssueCommentParams{ 553 LoggedInUser: user, 554 - RepoInfo: f.RepoInfo(user), 555 Issue: issue, 556 Comment: &comment, 557 }) ··· 605 // return new comment body with htmx 606 rp.pages.IssueCommentBodyFragment(w, pages.IssueCommentBodyParams{ 607 LoggedInUser: user, 608 - RepoInfo: f.RepoInfo(user), 609 Issue: issue, 610 Comment: &newComment, 611 }) ··· 615 func (rp *Issues) ReplyIssueCommentPlaceholder(w http.ResponseWriter, r *http.Request) { 616 l := rp.logger.With("handler", "ReplyIssueCommentPlaceholder") 617 user := rp.oauth.GetUser(r) 618 - f, err := rp.repoResolver.Resolve(r) 619 - if err != nil { 620 - l.Error("failed to get repo and knot", "err", err) 621 - return 622 - } 623 624 issue, ok := r.Context().Value("issue").(*models.Issue) 625 if !ok { ··· 647 648 rp.pages.ReplyIssueCommentPlaceholderFragment(w, pages.ReplyIssueCommentPlaceholderParams{ 649 LoggedInUser: user, 650 - RepoInfo: f.RepoInfo(user), 651 Issue: issue, 652 Comment: &comment, 653 }) ··· 656 func (rp *Issues) ReplyIssueComment(w http.ResponseWriter, r *http.Request) { 657 l := rp.logger.With("handler", "ReplyIssueComment") 658 user := rp.oauth.GetUser(r) 659 - f, err := rp.repoResolver.Resolve(r) 660 - if err != nil { 661 - l.Error("failed to get repo and knot", "err", err) 662 - return 663 - } 664 665 issue, ok := r.Context().Value("issue").(*models.Issue) 666 if !ok { ··· 688 689 rp.pages.ReplyIssueCommentFragment(w, pages.ReplyIssueCommentParams{ 690 LoggedInUser: user, 691 - RepoInfo: f.RepoInfo(user), 692 Issue: issue, 693 Comment: &comment, 694 }) ··· 697 func (rp *Issues) DeleteIssueComment(w http.ResponseWriter, r *http.Request) { 698 l := rp.logger.With("handler", "DeleteIssueComment") 699 user := rp.oauth.GetUser(r) 700 - f, err := rp.repoResolver.Resolve(r) 701 - if err != nil { 702 - l.Error("failed to get repo and knot", "err", err) 703 - return 704 - } 705 706 issue, ok := r.Context().Value("issue").(*models.Issue) 707 if !ok { ··· 772 // htmx fragment of comment after deletion 773 rp.pages.IssueCommentBodyFragment(w, pages.IssueCommentBodyParams{ 774 LoggedInUser: user, 775 - RepoInfo: f.RepoInfo(user), 776 Issue: issue, 777 Comment: &comment, 778 }) ··· 873 874 rp.pages.RepoIssues(w, pages.RepoIssuesParams{ 875 LoggedInUser: rp.oauth.GetUser(r), 876 - RepoInfo: f.RepoInfo(user), 877 Issues: issues, 878 IssueCount: totalIssues, 879 LabelDefs: defs, ··· 897 case http.MethodGet: 898 rp.pages.RepoNewIssue(w, pages.RepoNewIssueParams{ 899 LoggedInUser: user, 900 - RepoInfo: f.RepoInfo(user), 901 }) 902 case http.MethodPost: 903 issue := &models.Issue{
··· 119 120 rp.pages.RepoSingleIssue(w, pages.RepoSingleIssueParams{ 121 LoggedInUser: user, 122 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 123 Issue: issue, 124 CommentList: issue.CommentList(), 125 OrderedReactionKinds: models.OrderedReactionKinds, ··· 132 func (rp *Issues) EditIssue(w http.ResponseWriter, r *http.Request) { 133 l := rp.logger.With("handler", "EditIssue") 134 user := rp.oauth.GetUser(r) 135 136 issue, ok := r.Context().Value("issue").(*models.Issue) 137 if !ok { ··· 144 case http.MethodGet: 145 rp.pages.EditIssueFragment(w, pages.EditIssueParams{ 146 LoggedInUser: user, 147 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 148 Issue: issue, 149 }) 150 case http.MethodPost: ··· 465 func (rp *Issues) IssueComment(w http.ResponseWriter, r *http.Request) { 466 l := rp.logger.With("handler", "IssueComment") 467 user := rp.oauth.GetUser(r) 468 469 issue, ok := r.Context().Value("issue").(*models.Issue) 470 if !ok { ··· 492 493 rp.pages.IssueCommentBodyFragment(w, pages.IssueCommentBodyParams{ 494 LoggedInUser: user, 495 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 496 Issue: issue, 497 Comment: &comment, 498 }) ··· 501 func (rp *Issues) EditIssueComment(w http.ResponseWriter, r *http.Request) { 502 l := rp.logger.With("handler", "EditIssueComment") 503 user := rp.oauth.GetUser(r) 504 505 issue, ok := r.Context().Value("issue").(*models.Issue) 506 if !ok { ··· 536 case http.MethodGet: 537 rp.pages.EditIssueCommentFragment(w, pages.EditIssueCommentParams{ 538 LoggedInUser: user, 539 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 540 Issue: issue, 541 Comment: &comment, 542 }) ··· 590 // return new comment body with htmx 591 rp.pages.IssueCommentBodyFragment(w, pages.IssueCommentBodyParams{ 592 LoggedInUser: user, 593 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 594 Issue: issue, 595 Comment: &newComment, 596 }) ··· 600 func (rp *Issues) ReplyIssueCommentPlaceholder(w http.ResponseWriter, r *http.Request) { 601 l := rp.logger.With("handler", "ReplyIssueCommentPlaceholder") 602 user := rp.oauth.GetUser(r) 603 604 issue, ok := r.Context().Value("issue").(*models.Issue) 605 if !ok { ··· 627 628 rp.pages.ReplyIssueCommentPlaceholderFragment(w, pages.ReplyIssueCommentPlaceholderParams{ 629 LoggedInUser: user, 630 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 631 Issue: issue, 632 Comment: &comment, 633 }) ··· 636 func (rp *Issues) ReplyIssueComment(w http.ResponseWriter, r *http.Request) { 637 l := rp.logger.With("handler", "ReplyIssueComment") 638 user := rp.oauth.GetUser(r) 639 640 issue, ok := r.Context().Value("issue").(*models.Issue) 641 if !ok { ··· 663 664 rp.pages.ReplyIssueCommentFragment(w, pages.ReplyIssueCommentParams{ 665 LoggedInUser: user, 666 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 667 Issue: issue, 668 Comment: &comment, 669 }) ··· 672 func (rp *Issues) DeleteIssueComment(w http.ResponseWriter, r *http.Request) { 673 l := rp.logger.With("handler", "DeleteIssueComment") 674 user := rp.oauth.GetUser(r) 675 676 issue, ok := r.Context().Value("issue").(*models.Issue) 677 if !ok { ··· 742 // htmx fragment of comment after deletion 743 rp.pages.IssueCommentBodyFragment(w, pages.IssueCommentBodyParams{ 744 LoggedInUser: user, 745 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 746 Issue: issue, 747 Comment: &comment, 748 }) ··· 843 844 rp.pages.RepoIssues(w, pages.RepoIssuesParams{ 845 LoggedInUser: rp.oauth.GetUser(r), 846 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 847 Issues: issues, 848 IssueCount: totalIssues, 849 LabelDefs: defs, ··· 867 case http.MethodGet: 868 rp.pages.RepoNewIssue(w, pages.RepoNewIssueParams{ 869 LoggedInUser: user, 870 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 871 }) 872 case http.MethodPost: 873 issue := &models.Issue{
+2 -2
appview/pipelines/pipelines.go
··· 92 93 p.pages.Pipelines(w, pages.PipelinesParams{ 94 LoggedInUser: user, 95 - RepoInfo: f.RepoInfo(user), 96 Pipelines: ps, 97 }) 98 } ··· 141 142 p.pages.Workflow(w, pages.WorkflowParams{ 143 LoggedInUser: user, 144 - RepoInfo: f.RepoInfo(user), 145 Pipeline: singlePipeline, 146 Workflow: workflow, 147 })
··· 92 93 p.pages.Pipelines(w, pages.PipelinesParams{ 94 LoggedInUser: user, 95 + RepoInfo: p.repoResolver.GetRepoInfo(r, user), 96 Pipelines: ps, 97 }) 98 } ··· 141 142 p.pages.Workflow(w, pages.WorkflowParams{ 143 LoggedInUser: user, 144 + RepoInfo: p.repoResolver.GetRepoInfo(r, user), 145 Pipeline: singlePipeline, 146 Workflow: workflow, 147 })
+12 -38
appview/pulls/pulls.go
··· 124 125 s.pages.PullActionsFragment(w, pages.PullActionsParams{ 126 LoggedInUser: user, 127 - RepoInfo: f.RepoInfo(user), 128 Pull: pull, 129 RoundNumber: roundNumber, 130 MergeCheck: mergeCheckResponse, ··· 221 222 s.pages.RepoSinglePull(w, pages.RepoSinglePullParams{ 223 LoggedInUser: user, 224 - RepoInfo: f.RepoInfo(user), 225 Pull: pull, 226 Stack: stack, 227 AbandonedPulls: abandonedPulls, ··· 421 422 func (s *Pulls) RepoPullPatch(w http.ResponseWriter, r *http.Request) { 423 user := s.oauth.GetUser(r) 424 - f, err := s.repoResolver.Resolve(r) 425 - if err != nil { 426 - log.Println("failed to get repo and knot", err) 427 - return 428 - } 429 430 var diffOpts types.DiffOpts 431 if d := r.URL.Query().Get("diff"); d == "split" { ··· 454 455 s.pages.RepoPullPatchPage(w, pages.RepoPullPatchParams{ 456 LoggedInUser: user, 457 - RepoInfo: f.RepoInfo(user), 458 Pull: pull, 459 Stack: stack, 460 Round: roundIdInt, ··· 468 func (s *Pulls) RepoPullInterdiff(w http.ResponseWriter, r *http.Request) { 469 user := s.oauth.GetUser(r) 470 471 - f, err := s.repoResolver.Resolve(r) 472 - if err != nil { 473 - log.Println("failed to get repo and knot", err) 474 - return 475 - } 476 - 477 var diffOpts types.DiffOpts 478 if d := r.URL.Query().Get("diff"); d == "split" { 479 diffOpts.Split = true ··· 518 519 s.pages.RepoPullInterdiffPage(w, pages.RepoPullInterdiffParams{ 520 LoggedInUser: s.oauth.GetUser(r), 521 - RepoInfo: f.RepoInfo(user), 522 Pull: pull, 523 Round: roundIdInt, 524 Interdiff: interdiff, ··· 678 679 s.pages.RepoPulls(w, pages.RepoPullsParams{ 680 LoggedInUser: s.oauth.GetUser(r), 681 - RepoInfo: f.RepoInfo(user), 682 Pulls: pulls, 683 LabelDefs: defs, 684 FilteringBy: state, ··· 716 case http.MethodGet: 717 s.pages.PullNewCommentFragment(w, pages.PullNewCommentParams{ 718 LoggedInUser: user, 719 - RepoInfo: f.RepoInfo(user), 720 Pull: pull, 721 RoundNumber: roundNumber, 722 }) ··· 850 851 s.pages.RepoNewPull(w, pages.RepoNewPullParams{ 852 LoggedInUser: user, 853 - RepoInfo: f.RepoInfo(user), 854 Branches: result.Branches, 855 Strategy: strategy, 856 SourceBranch: sourceBranch, ··· 1405 1406 func (s *Pulls) PatchUploadFragment(w http.ResponseWriter, r *http.Request) { 1407 user := s.oauth.GetUser(r) 1408 - f, err := s.repoResolver.Resolve(r) 1409 - if err != nil { 1410 - log.Println("failed to get repo and knot", err) 1411 - return 1412 - } 1413 1414 s.pages.PullPatchUploadFragment(w, pages.PullPatchUploadParams{ 1415 - RepoInfo: f.RepoInfo(user), 1416 }) 1417 } 1418 ··· 1466 } 1467 1468 s.pages.PullCompareBranchesFragment(w, pages.PullCompareBranchesParams{ 1469 - RepoInfo: f.RepoInfo(user), 1470 Branches: withoutDefault, 1471 }) 1472 } 1473 1474 func (s *Pulls) CompareForksFragment(w http.ResponseWriter, r *http.Request) { 1475 user := s.oauth.GetUser(r) 1476 - f, err := s.repoResolver.Resolve(r) 1477 - if err != nil { 1478 - log.Println("failed to get repo and knot", err) 1479 - return 1480 - } 1481 1482 forks, err := db.GetForksByDid(s.db, user.Did) 1483 if err != nil { ··· 1486 } 1487 1488 s.pages.PullCompareForkFragment(w, pages.PullCompareForkParams{ 1489 - RepoInfo: f.RepoInfo(user), 1490 Forks: forks, 1491 Selected: r.URL.Query().Get("fork"), 1492 }) ··· 1579 }) 1580 1581 s.pages.PullCompareForkBranchesFragment(w, pages.PullCompareForkBranchesParams{ 1582 - RepoInfo: f.RepoInfo(user), 1583 SourceBranches: sourceBranches.Branches, 1584 TargetBranches: targetBranches.Branches, 1585 }) ··· 1587 1588 func (s *Pulls) ResubmitPull(w http.ResponseWriter, r *http.Request) { 1589 user := s.oauth.GetUser(r) 1590 - f, err := s.repoResolver.Resolve(r) 1591 - if err != nil { 1592 - log.Println("failed to get repo and knot", err) 1593 - return 1594 - } 1595 1596 pull, ok := r.Context().Value("pull").(*models.Pull) 1597 if !ok { ··· 1603 switch r.Method { 1604 case http.MethodGet: 1605 s.pages.PullResubmitFragment(w, pages.PullResubmitParams{ 1606 - RepoInfo: f.RepoInfo(user), 1607 Pull: pull, 1608 }) 1609 return
··· 124 125 s.pages.PullActionsFragment(w, pages.PullActionsParams{ 126 LoggedInUser: user, 127 + RepoInfo: s.repoResolver.GetRepoInfo(r, user), 128 Pull: pull, 129 RoundNumber: roundNumber, 130 MergeCheck: mergeCheckResponse, ··· 221 222 s.pages.RepoSinglePull(w, pages.RepoSinglePullParams{ 223 LoggedInUser: user, 224 + RepoInfo: s.repoResolver.GetRepoInfo(r, user), 225 Pull: pull, 226 Stack: stack, 227 AbandonedPulls: abandonedPulls, ··· 421 422 func (s *Pulls) RepoPullPatch(w http.ResponseWriter, r *http.Request) { 423 user := s.oauth.GetUser(r) 424 425 var diffOpts types.DiffOpts 426 if d := r.URL.Query().Get("diff"); d == "split" { ··· 449 450 s.pages.RepoPullPatchPage(w, pages.RepoPullPatchParams{ 451 LoggedInUser: user, 452 + RepoInfo: s.repoResolver.GetRepoInfo(r, user), 453 Pull: pull, 454 Stack: stack, 455 Round: roundIdInt, ··· 463 func (s *Pulls) RepoPullInterdiff(w http.ResponseWriter, r *http.Request) { 464 user := s.oauth.GetUser(r) 465 466 var diffOpts types.DiffOpts 467 if d := r.URL.Query().Get("diff"); d == "split" { 468 diffOpts.Split = true ··· 507 508 s.pages.RepoPullInterdiffPage(w, pages.RepoPullInterdiffParams{ 509 LoggedInUser: s.oauth.GetUser(r), 510 + RepoInfo: s.repoResolver.GetRepoInfo(r, user), 511 Pull: pull, 512 Round: roundIdInt, 513 Interdiff: interdiff, ··· 667 668 s.pages.RepoPulls(w, pages.RepoPullsParams{ 669 LoggedInUser: s.oauth.GetUser(r), 670 + RepoInfo: s.repoResolver.GetRepoInfo(r, user), 671 Pulls: pulls, 672 LabelDefs: defs, 673 FilteringBy: state, ··· 705 case http.MethodGet: 706 s.pages.PullNewCommentFragment(w, pages.PullNewCommentParams{ 707 LoggedInUser: user, 708 + RepoInfo: s.repoResolver.GetRepoInfo(r, user), 709 Pull: pull, 710 RoundNumber: roundNumber, 711 }) ··· 839 840 s.pages.RepoNewPull(w, pages.RepoNewPullParams{ 841 LoggedInUser: user, 842 + RepoInfo: s.repoResolver.GetRepoInfo(r, user), 843 Branches: result.Branches, 844 Strategy: strategy, 845 SourceBranch: sourceBranch, ··· 1394 1395 func (s *Pulls) PatchUploadFragment(w http.ResponseWriter, r *http.Request) { 1396 user := s.oauth.GetUser(r) 1397 1398 s.pages.PullPatchUploadFragment(w, pages.PullPatchUploadParams{ 1399 + RepoInfo: s.repoResolver.GetRepoInfo(r, user), 1400 }) 1401 } 1402 ··· 1450 } 1451 1452 s.pages.PullCompareBranchesFragment(w, pages.PullCompareBranchesParams{ 1453 + RepoInfo: s.repoResolver.GetRepoInfo(r, user), 1454 Branches: withoutDefault, 1455 }) 1456 } 1457 1458 func (s *Pulls) CompareForksFragment(w http.ResponseWriter, r *http.Request) { 1459 user := s.oauth.GetUser(r) 1460 1461 forks, err := db.GetForksByDid(s.db, user.Did) 1462 if err != nil { ··· 1465 } 1466 1467 s.pages.PullCompareForkFragment(w, pages.PullCompareForkParams{ 1468 + RepoInfo: s.repoResolver.GetRepoInfo(r, user), 1469 Forks: forks, 1470 Selected: r.URL.Query().Get("fork"), 1471 }) ··· 1558 }) 1559 1560 s.pages.PullCompareForkBranchesFragment(w, pages.PullCompareForkBranchesParams{ 1561 + RepoInfo: s.repoResolver.GetRepoInfo(r, user), 1562 SourceBranches: sourceBranches.Branches, 1563 TargetBranches: targetBranches.Branches, 1564 }) ··· 1566 1567 func (s *Pulls) ResubmitPull(w http.ResponseWriter, r *http.Request) { 1568 user := s.oauth.GetUser(r) 1569 1570 pull, ok := r.Context().Value("pull").(*models.Pull) 1571 if !ok { ··· 1577 switch r.Method { 1578 case http.MethodGet: 1579 s.pages.PullResubmitFragment(w, pages.PullResubmitParams{ 1580 + RepoInfo: s.repoResolver.GetRepoInfo(r, user), 1581 Pull: pull, 1582 }) 1583 return
+1 -1
appview/repo/artifact.go
··· 130 131 rp.pages.RepoArtifactFragment(w, pages.RepoArtifactParams{ 132 LoggedInUser: user, 133 - RepoInfo: f.RepoInfo(user), 134 Artifact: artifact, 135 }) 136 }
··· 130 131 rp.pages.RepoArtifactFragment(w, pages.RepoArtifactParams{ 132 LoggedInUser: user, 133 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 134 Artifact: artifact, 135 }) 136 }
+1 -1
appview/repo/blob.go
··· 80 81 rp.pages.RepoBlob(w, pages.RepoBlobParams{ 82 LoggedInUser: user, 83 - RepoInfo: f.RepoInfo(user), 84 BreadCrumbs: breadcrumbs, 85 BlobView: blobView, 86 RepoBlob_Output: resp,
··· 80 81 rp.pages.RepoBlob(w, pages.RepoBlobParams{ 82 LoggedInUser: user, 83 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 84 BreadCrumbs: breadcrumbs, 85 BlobView: blobView, 86 RepoBlob_Output: resp,
+1 -1
appview/repo/branches.go
··· 46 user := rp.oauth.GetUser(r) 47 rp.pages.RepoBranches(w, pages.RepoBranchesParams{ 48 LoggedInUser: user, 49 - RepoInfo: f.RepoInfo(user), 50 RepoBranchesResponse: result, 51 }) 52 }
··· 46 user := rp.oauth.GetUser(r) 47 rp.pages.RepoBranches(w, pages.RepoBranchesParams{ 48 LoggedInUser: user, 49 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 50 RepoBranchesResponse: result, 51 }) 52 }
+2 -2
appview/repo/compare.go
··· 90 91 rp.pages.RepoCompareNew(w, pages.RepoCompareNewParams{ 92 LoggedInUser: user, 93 - RepoInfo: f.RepoInfo(user), 94 Branches: branches, 95 Tags: tags.Tags, 96 Base: base, ··· 202 203 rp.pages.RepoCompare(w, pages.RepoCompareParams{ 204 LoggedInUser: user, 205 - RepoInfo: f.RepoInfo(user), 206 Branches: branches.Branches, 207 Tags: tags.Tags, 208 Base: base,
··· 90 91 rp.pages.RepoCompareNew(w, pages.RepoCompareNewParams{ 92 LoggedInUser: user, 93 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 94 Branches: branches, 95 Tags: tags.Tags, 96 Base: base, ··· 202 203 rp.pages.RepoCompare(w, pages.RepoCompareParams{ 204 LoggedInUser: user, 205 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 206 Branches: branches.Branches, 207 Tags: tags.Tags, 208 Base: base,
+2 -2
appview/repo/index.go
··· 60 rp.pages.RepoIndexPage(w, pages.RepoIndexParams{ 61 LoggedInUser: user, 62 NeedsKnotUpgrade: true, 63 - RepoInfo: f.RepoInfo(user), 64 }) 65 return 66 } ··· 146 147 rp.pages.RepoIndexPage(w, pages.RepoIndexParams{ 148 LoggedInUser: user, 149 - RepoInfo: f.RepoInfo(user), 150 TagMap: tagMap, 151 RepoIndexResponse: *result, 152 CommitsTrunc: commitsTrunc,
··· 60 rp.pages.RepoIndexPage(w, pages.RepoIndexParams{ 61 LoggedInUser: user, 62 NeedsKnotUpgrade: true, 63 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 64 }) 65 return 66 } ··· 146 147 rp.pages.RepoIndexPage(w, pages.RepoIndexParams{ 148 LoggedInUser: user, 149 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 150 TagMap: tagMap, 151 RepoIndexResponse: *result, 152 CommitsTrunc: commitsTrunc,
+2 -2
appview/repo/log.go
··· 134 rp.pages.RepoLog(w, pages.RepoLogParams{ 135 LoggedInUser: user, 136 TagMap: tagMap, 137 - RepoInfo: f.RepoInfo(user), 138 RepoLogResponse: xrpcResp, 139 EmailToDid: emailToDidMap, 140 VerifiedCommits: vc, ··· 210 211 rp.pages.RepoCommit(w, pages.RepoCommitParams{ 212 LoggedInUser: user, 213 - RepoInfo: f.RepoInfo(user), 214 RepoCommitResponse: result, 215 EmailToDid: emailToDidMap, 216 VerifiedCommit: vc,
··· 134 rp.pages.RepoLog(w, pages.RepoLogParams{ 135 LoggedInUser: user, 136 TagMap: tagMap, 137 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 138 RepoLogResponse: xrpcResp, 139 EmailToDid: emailToDidMap, 140 VerifiedCommits: vc, ··· 210 211 rp.pages.RepoCommit(w, pages.RepoCommitParams{ 212 LoggedInUser: user, 213 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 214 RepoCommitResponse: result, 215 EmailToDid: emailToDidMap, 216 VerifiedCommit: vc,
+3 -3
appview/repo/repo.go
··· 635 user := rp.oauth.GetUser(r) 636 rp.pages.LabelPanel(w, pages.LabelPanelParams{ 637 LoggedInUser: user, 638 - RepoInfo: f.RepoInfo(user), 639 Defs: defs, 640 Subject: subject.String(), 641 State: state, ··· 683 user := rp.oauth.GetUser(r) 684 rp.pages.EditLabelPanel(w, pages.EditLabelPanelParams{ 685 LoggedInUser: user, 686 - RepoInfo: f.RepoInfo(user), 687 Defs: defs, 688 Subject: subject.String(), 689 State: state, ··· 1006 rp.pages.ForkRepo(w, pages.ForkRepoParams{ 1007 LoggedInUser: user, 1008 Knots: knots, 1009 - RepoInfo: f.RepoInfo(user), 1010 }) 1011 1012 case http.MethodPost:
··· 635 user := rp.oauth.GetUser(r) 636 rp.pages.LabelPanel(w, pages.LabelPanelParams{ 637 LoggedInUser: user, 638 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 639 Defs: defs, 640 Subject: subject.String(), 641 State: state, ··· 683 user := rp.oauth.GetUser(r) 684 rp.pages.EditLabelPanel(w, pages.EditLabelPanelParams{ 685 LoggedInUser: user, 686 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 687 Defs: defs, 688 Subject: subject.String(), 689 State: state, ··· 1006 rp.pages.ForkRepo(w, pages.ForkRepoParams{ 1007 LoggedInUser: user, 1008 Knots: knots, 1009 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 1010 }) 1011 1012 case http.MethodPost:
+3 -3
appview/repo/settings.go
··· 255 256 rp.pages.RepoGeneralSettings(w, pages.RepoGeneralSettingsParams{ 257 LoggedInUser: user, 258 - RepoInfo: f.RepoInfo(user), 259 Branches: result.Branches, 260 Labels: labels, 261 DefaultLabels: defaultLabels, ··· 306 307 rp.pages.RepoAccessSettings(w, pages.RepoAccessSettingsParams{ 308 LoggedInUser: user, 309 - RepoInfo: f.RepoInfo(user), 310 Tabs: settingsTabs, 311 Tab: "access", 312 Collaborators: collaborators, ··· 367 368 rp.pages.RepoPipelineSettings(w, pages.RepoPipelineSettingsParams{ 369 LoggedInUser: user, 370 - RepoInfo: f.RepoInfo(user), 371 Tabs: settingsTabs, 372 Tab: "pipelines", 373 Spindles: spindles,
··· 255 256 rp.pages.RepoGeneralSettings(w, pages.RepoGeneralSettingsParams{ 257 LoggedInUser: user, 258 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 259 Branches: result.Branches, 260 Labels: labels, 261 DefaultLabels: defaultLabels, ··· 306 307 rp.pages.RepoAccessSettings(w, pages.RepoAccessSettingsParams{ 308 LoggedInUser: user, 309 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 310 Tabs: settingsTabs, 311 Tab: "access", 312 Collaborators: collaborators, ··· 367 368 rp.pages.RepoPipelineSettings(w, pages.RepoPipelineSettingsParams{ 369 LoggedInUser: user, 370 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 371 Tabs: settingsTabs, 372 Tab: "pipelines", 373 Spindles: spindles,
+1 -1
appview/repo/tags.go
··· 71 user := rp.oauth.GetUser(r) 72 rp.pages.RepoTags(w, pages.RepoTagsParams{ 73 LoggedInUser: user, 74 - RepoInfo: f.RepoInfo(user), 75 RepoTagsResponse: result, 76 ArtifactMap: artifactMap, 77 DanglingArtifacts: danglingArtifacts,
··· 71 user := rp.oauth.GetUser(r) 72 rp.pages.RepoTags(w, pages.RepoTagsParams{ 73 LoggedInUser: user, 74 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 75 RepoTagsResponse: result, 76 ArtifactMap: artifactMap, 77 DanglingArtifacts: danglingArtifacts,
+1 -1
appview/repo/tree.go
··· 102 LoggedInUser: user, 103 BreadCrumbs: breadcrumbs, 104 TreePath: treePath, 105 - RepoInfo: f.RepoInfo(user), 106 RepoTreeResponse: result, 107 }) 108 }
··· 102 LoggedInUser: user, 103 BreadCrumbs: breadcrumbs, 104 TreePath: treePath, 105 + RepoInfo: rp.repoResolver.GetRepoInfo(r, user), 106 RepoTreeResponse: result, 107 }) 108 }
+43 -43
appview/reporesolver/resolver.go
··· 20 21 type ResolvedRepo struct { 22 models.Repo 23 - OwnerId identity.Identity 24 - CurrentDir string 25 - Ref string 26 - 27 - rr *RepoResolver 28 } 29 30 type RepoResolver struct { ··· 49 return path.Join(user, name) 50 } 51 52 func (rr *RepoResolver) Resolve(r *http.Request) (*ResolvedRepo, error) { 53 repo, ok := r.Context().Value("repo").(*models.Repo) 54 if !ok { 55 log.Println("malformed middleware: `repo` not exist in context") 56 return nil, fmt.Errorf("malformed middleware") 57 } 58 - id, ok := r.Context().Value("resolvedId").(identity.Identity) 59 - if !ok { 60 - log.Println("malformed middleware") 61 - return nil, fmt.Errorf("malformed middleware") 62 } 63 64 currentDir := path.Dir(extractPathAfterRef(r.URL.EscapedPath())) 65 ref := chi.URLParam(r, "ref") 66 67 - return &ResolvedRepo{ 68 - Repo: *repo, 69 - OwnerId: id, 70 - CurrentDir: currentDir, 71 - Ref: ref, 72 - 73 - rr: rr, 74 - }, nil 75 - } 76 - 77 - // this function is a bit weird since it now returns RepoInfo from an entirely different 78 - // package. we should refactor this or get rid of RepoInfo entirely. 79 - func (f *ResolvedRepo) RepoInfo(user *oauth.User) repoinfo.RepoInfo { 80 - repoAt := f.RepoAt() 81 isStarred := false 82 roles := repoinfo.RolesInRepo{} 83 if user != nil { 84 - isStarred = db.GetStarStatus(f.rr.execer, user.Did, repoAt) 85 - roles.Roles = f.rr.enforcer.GetPermissionsInRepo(user.Did, f.Knot, f.DidSlashRepo()) 86 } 87 88 - stats := f.RepoStats 89 if stats == nil { 90 - starCount, err := db.GetStarCount(f.rr.execer, repoAt) 91 if err != nil { 92 log.Println("failed to get star count for ", repoAt) 93 } 94 - issueCount, err := db.GetIssueCount(f.rr.execer, repoAt) 95 if err != nil { 96 log.Println("failed to get issue count for ", repoAt) 97 } 98 - pullCount, err := db.GetPullCount(f.rr.execer, repoAt) 99 if err != nil { 100 log.Println("failed to get pull count for ", repoAt) 101 } ··· 106 } 107 } 108 109 - sourceRepo, err := db.GetRepoSourceRepo(f.rr.execer, repoAt) 110 - if err != nil { 111 - log.Println("failed to get repo by at uri", err) 112 } 113 114 repoInfo := repoinfo.RepoInfo{ 115 // this is basically a models.Repo 116 - OwnerDid: f.OwnerId.DID.String(), 117 - OwnerHandle: f.OwnerId.Handle.String(), 118 - Name: f.Name, 119 - Rkey: f.Rkey, 120 - Description: f.Description, 121 - Website: f.Website, 122 - Topics: f.Topics, 123 - Knot: f.Knot, 124 - Spindle: f.Spindle, 125 Stats: *stats, 126 127 // fork repo upstream 128 Source: sourceRepo, 129 130 - CurrentDir: f.CurrentDir, 131 - Ref: f.Ref, 132 133 // info related to the session 134 IsStarred: isStarred,
··· 20 21 type ResolvedRepo struct { 22 models.Repo 23 } 24 25 type RepoResolver struct { ··· 44 return path.Join(user, name) 45 } 46 47 + // TODO: move this out of `RepoResolver` struct 48 func (rr *RepoResolver) Resolve(r *http.Request) (*ResolvedRepo, error) { 49 repo, ok := r.Context().Value("repo").(*models.Repo) 50 if !ok { 51 log.Println("malformed middleware: `repo` not exist in context") 52 return nil, fmt.Errorf("malformed middleware") 53 } 54 + 55 + return &ResolvedRepo{ 56 + Repo: *repo, 57 + }, nil 58 + } 59 + 60 + // 1. [x] replace `RepoInfo` to `reporesolver.GetRepoInfo(r *http.Request, repo, user)` 61 + // 2. [x] remove `rr`, `CurrentDir`, `Ref` fields from `ResolvedRepo` 62 + // 3. [ ] remove `ResolvedRepo` 63 + // 4. [ ] replace reporesolver to reposervice 64 + func (rr *RepoResolver) GetRepoInfo(r *http.Request, user *oauth.User) repoinfo.RepoInfo { 65 + ownerId, ook := r.Context().Value("resolvedId").(identity.Identity) 66 + repo, rok := r.Context().Value("repo").(*models.Repo) 67 + if !ook || !rok { 68 + log.Println("malformed request, failed to get repo from context") 69 } 70 71 + // get dir/ref 72 currentDir := path.Dir(extractPathAfterRef(r.URL.EscapedPath())) 73 ref := chi.URLParam(r, "ref") 74 75 + repoAt := repo.RepoAt() 76 isStarred := false 77 roles := repoinfo.RolesInRepo{} 78 if user != nil { 79 + isStarred = db.GetStarStatus(rr.execer, user.Did, repoAt) 80 + roles.Roles = rr.enforcer.GetPermissionsInRepo(user.Did, repo.Knot, repo.DidSlashRepo()) 81 } 82 83 + stats := repo.RepoStats 84 if stats == nil { 85 + starCount, err := db.GetStarCount(rr.execer, repoAt) 86 if err != nil { 87 log.Println("failed to get star count for ", repoAt) 88 } 89 + issueCount, err := db.GetIssueCount(rr.execer, repoAt) 90 if err != nil { 91 log.Println("failed to get issue count for ", repoAt) 92 } 93 + pullCount, err := db.GetPullCount(rr.execer, repoAt) 94 if err != nil { 95 log.Println("failed to get pull count for ", repoAt) 96 } ··· 101 } 102 } 103 104 + var sourceRepo *models.Repo 105 + var err error 106 + if repo.Source != "" { 107 + sourceRepo, err = db.GetRepoByAtUri(rr.execer, repo.Source) 108 + if err != nil { 109 + log.Println("failed to get repo by at uri", err) 110 + } 111 } 112 113 repoInfo := repoinfo.RepoInfo{ 114 // this is basically a models.Repo 115 + OwnerDid: ownerId.DID.String(), 116 + OwnerHandle: ownerId.Handle.String(), 117 + Name: repo.Name, 118 + Rkey: repo.Rkey, 119 + Description: repo.Description, 120 + Website: repo.Website, 121 + Topics: repo.Topics, 122 + Knot: repo.Knot, 123 + Spindle: repo.Spindle, 124 Stats: *stats, 125 126 // fork repo upstream 127 Source: sourceRepo, 128 129 + // page context 130 + CurrentDir: currentDir, 131 + Ref: ref, 132 133 // info related to the session 134 IsStarred: isStarred,