+10
-40
appview/issues/issues.go
+10
-40
appview/issues/issues.go
···
119
119
120
120
rp.pages.RepoSingleIssue(w, pages.RepoSingleIssueParams{
121
121
LoggedInUser: user,
122
-
RepoInfo: f.RepoInfo(user),
122
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
123
123
Issue: issue,
124
124
CommentList: issue.CommentList(),
125
125
OrderedReactionKinds: models.OrderedReactionKinds,
···
132
132
func (rp *Issues) EditIssue(w http.ResponseWriter, r *http.Request) {
133
133
l := rp.logger.With("handler", "EditIssue")
134
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
135
141
136
issue, ok := r.Context().Value("issue").(*models.Issue)
142
137
if !ok {
···
149
144
case http.MethodGet:
150
145
rp.pages.EditIssueFragment(w, pages.EditIssueParams{
151
146
LoggedInUser: user,
152
-
RepoInfo: f.RepoInfo(user),
147
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
153
148
Issue: issue,
154
149
})
155
150
case http.MethodPost:
···
470
465
func (rp *Issues) IssueComment(w http.ResponseWriter, r *http.Request) {
471
466
l := rp.logger.With("handler", "IssueComment")
472
467
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
468
479
469
issue, ok := r.Context().Value("issue").(*models.Issue)
480
470
if !ok {
···
502
492
503
493
rp.pages.IssueCommentBodyFragment(w, pages.IssueCommentBodyParams{
504
494
LoggedInUser: user,
505
-
RepoInfo: f.RepoInfo(user),
495
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
506
496
Issue: issue,
507
497
Comment: &comment,
508
498
})
···
511
501
func (rp *Issues) EditIssueComment(w http.ResponseWriter, r *http.Request) {
512
502
l := rp.logger.With("handler", "EditIssueComment")
513
503
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
504
520
505
issue, ok := r.Context().Value("issue").(*models.Issue)
521
506
if !ok {
···
551
536
case http.MethodGet:
552
537
rp.pages.EditIssueCommentFragment(w, pages.EditIssueCommentParams{
553
538
LoggedInUser: user,
554
-
RepoInfo: f.RepoInfo(user),
539
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
555
540
Issue: issue,
556
541
Comment: &comment,
557
542
})
···
605
590
// return new comment body with htmx
606
591
rp.pages.IssueCommentBodyFragment(w, pages.IssueCommentBodyParams{
607
592
LoggedInUser: user,
608
-
RepoInfo: f.RepoInfo(user),
593
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
609
594
Issue: issue,
610
595
Comment: &newComment,
611
596
})
···
615
600
func (rp *Issues) ReplyIssueCommentPlaceholder(w http.ResponseWriter, r *http.Request) {
616
601
l := rp.logger.With("handler", "ReplyIssueCommentPlaceholder")
617
602
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
603
624
604
issue, ok := r.Context().Value("issue").(*models.Issue)
625
605
if !ok {
···
647
627
648
628
rp.pages.ReplyIssueCommentPlaceholderFragment(w, pages.ReplyIssueCommentPlaceholderParams{
649
629
LoggedInUser: user,
650
-
RepoInfo: f.RepoInfo(user),
630
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
651
631
Issue: issue,
652
632
Comment: &comment,
653
633
})
···
656
636
func (rp *Issues) ReplyIssueComment(w http.ResponseWriter, r *http.Request) {
657
637
l := rp.logger.With("handler", "ReplyIssueComment")
658
638
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
639
665
640
issue, ok := r.Context().Value("issue").(*models.Issue)
666
641
if !ok {
···
688
663
689
664
rp.pages.ReplyIssueCommentFragment(w, pages.ReplyIssueCommentParams{
690
665
LoggedInUser: user,
691
-
RepoInfo: f.RepoInfo(user),
666
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
692
667
Issue: issue,
693
668
Comment: &comment,
694
669
})
···
697
672
func (rp *Issues) DeleteIssueComment(w http.ResponseWriter, r *http.Request) {
698
673
l := rp.logger.With("handler", "DeleteIssueComment")
699
674
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
675
706
676
issue, ok := r.Context().Value("issue").(*models.Issue)
707
677
if !ok {
···
772
742
// htmx fragment of comment after deletion
773
743
rp.pages.IssueCommentBodyFragment(w, pages.IssueCommentBodyParams{
774
744
LoggedInUser: user,
775
-
RepoInfo: f.RepoInfo(user),
745
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
776
746
Issue: issue,
777
747
Comment: &comment,
778
748
})
···
856
826
857
827
rp.pages.RepoIssues(w, pages.RepoIssuesParams{
858
828
LoggedInUser: rp.oauth.GetUser(r),
859
-
RepoInfo: f.RepoInfo(user),
829
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
860
830
Issues: issues,
861
831
LabelDefs: defs,
862
832
FilteringByOpen: isOpen,
···
879
849
case http.MethodGet:
880
850
rp.pages.RepoNewIssue(w, pages.RepoNewIssueParams{
881
851
LoggedInUser: user,
882
-
RepoInfo: f.RepoInfo(user),
852
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
883
853
})
884
854
case http.MethodPost:
885
855
issue := &models.Issue{
+2
-2
appview/pipelines/pipelines.go
+2
-2
appview/pipelines/pipelines.go
···
91
91
92
92
p.pages.Pipelines(w, pages.PipelinesParams{
93
93
LoggedInUser: user,
94
-
RepoInfo: f.RepoInfo(user),
94
+
RepoInfo: p.repoResolver.GetRepoInfo(r, user),
95
95
Pipelines: ps,
96
96
})
97
97
}
···
139
139
140
140
p.pages.Workflow(w, pages.WorkflowParams{
141
141
LoggedInUser: user,
142
-
RepoInfo: f.RepoInfo(user),
142
+
RepoInfo: p.repoResolver.GetRepoInfo(r, user),
143
143
Pipeline: singlePipeline,
144
144
Workflow: workflow,
145
145
})
+12
-38
appview/pulls/pulls.go
+12
-38
appview/pulls/pulls.go
···
124
124
125
125
s.pages.PullActionsFragment(w, pages.PullActionsParams{
126
126
LoggedInUser: user,
127
-
RepoInfo: f.RepoInfo(user),
127
+
RepoInfo: s.repoResolver.GetRepoInfo(r, user),
128
128
Pull: pull,
129
129
RoundNumber: roundNumber,
130
130
MergeCheck: mergeCheckResponse,
···
220
220
221
221
s.pages.RepoSinglePull(w, pages.RepoSinglePullParams{
222
222
LoggedInUser: user,
223
-
RepoInfo: f.RepoInfo(user),
223
+
RepoInfo: s.repoResolver.GetRepoInfo(r, user),
224
224
Pull: pull,
225
225
Stack: stack,
226
226
AbandonedPulls: abandonedPulls,
···
420
420
421
421
func (s *Pulls) RepoPullPatch(w http.ResponseWriter, r *http.Request) {
422
422
user := s.oauth.GetUser(r)
423
-
f, err := s.repoResolver.Resolve(r)
424
-
if err != nil {
425
-
log.Println("failed to get repo and knot", err)
426
-
return
427
-
}
428
423
429
424
var diffOpts types.DiffOpts
430
425
if d := r.URL.Query().Get("diff"); d == "split" {
···
453
448
454
449
s.pages.RepoPullPatchPage(w, pages.RepoPullPatchParams{
455
450
LoggedInUser: user,
456
-
RepoInfo: f.RepoInfo(user),
451
+
RepoInfo: s.repoResolver.GetRepoInfo(r, user),
457
452
Pull: pull,
458
453
Stack: stack,
459
454
Round: roundIdInt,
···
467
462
func (s *Pulls) RepoPullInterdiff(w http.ResponseWriter, r *http.Request) {
468
463
user := s.oauth.GetUser(r)
469
464
470
-
f, err := s.repoResolver.Resolve(r)
471
-
if err != nil {
472
-
log.Println("failed to get repo and knot", err)
473
-
return
474
-
}
475
-
476
465
var diffOpts types.DiffOpts
477
466
if d := r.URL.Query().Get("diff"); d == "split" {
478
467
diffOpts.Split = true
···
517
506
518
507
s.pages.RepoPullInterdiffPage(w, pages.RepoPullInterdiffParams{
519
508
LoggedInUser: s.oauth.GetUser(r),
520
-
RepoInfo: f.RepoInfo(user),
509
+
RepoInfo: s.repoResolver.GetRepoInfo(r, user),
521
510
Pull: pull,
522
511
Round: roundIdInt,
523
512
Interdiff: interdiff,
···
676
665
677
666
s.pages.RepoPulls(w, pages.RepoPullsParams{
678
667
LoggedInUser: s.oauth.GetUser(r),
679
-
RepoInfo: f.RepoInfo(user),
668
+
RepoInfo: s.repoResolver.GetRepoInfo(r, user),
680
669
Pulls: pulls,
681
670
LabelDefs: defs,
682
671
FilteringBy: state,
···
714
703
case http.MethodGet:
715
704
s.pages.PullNewCommentFragment(w, pages.PullNewCommentParams{
716
705
LoggedInUser: user,
717
-
RepoInfo: f.RepoInfo(user),
706
+
RepoInfo: s.repoResolver.GetRepoInfo(r, user),
718
707
Pull: pull,
719
708
RoundNumber: roundNumber,
720
709
})
···
848
837
849
838
s.pages.RepoNewPull(w, pages.RepoNewPullParams{
850
839
LoggedInUser: user,
851
-
RepoInfo: f.RepoInfo(user),
840
+
RepoInfo: s.repoResolver.GetRepoInfo(r, user),
852
841
Branches: result.Branches,
853
842
Strategy: strategy,
854
843
SourceBranch: sourceBranch,
···
1403
1392
1404
1393
func (s *Pulls) PatchUploadFragment(w http.ResponseWriter, r *http.Request) {
1405
1394
user := s.oauth.GetUser(r)
1406
-
f, err := s.repoResolver.Resolve(r)
1407
-
if err != nil {
1408
-
log.Println("failed to get repo and knot", err)
1409
-
return
1410
-
}
1411
1395
1412
1396
s.pages.PullPatchUploadFragment(w, pages.PullPatchUploadParams{
1413
-
RepoInfo: f.RepoInfo(user),
1397
+
RepoInfo: s.repoResolver.GetRepoInfo(r, user),
1414
1398
})
1415
1399
}
1416
1400
···
1464
1448
}
1465
1449
1466
1450
s.pages.PullCompareBranchesFragment(w, pages.PullCompareBranchesParams{
1467
-
RepoInfo: f.RepoInfo(user),
1451
+
RepoInfo: s.repoResolver.GetRepoInfo(r, user),
1468
1452
Branches: withoutDefault,
1469
1453
})
1470
1454
}
1471
1455
1472
1456
func (s *Pulls) CompareForksFragment(w http.ResponseWriter, r *http.Request) {
1473
1457
user := s.oauth.GetUser(r)
1474
-
f, err := s.repoResolver.Resolve(r)
1475
-
if err != nil {
1476
-
log.Println("failed to get repo and knot", err)
1477
-
return
1478
-
}
1479
1458
1480
1459
forks, err := db.GetForksByDid(s.db, user.Did)
1481
1460
if err != nil {
···
1484
1463
}
1485
1464
1486
1465
s.pages.PullCompareForkFragment(w, pages.PullCompareForkParams{
1487
-
RepoInfo: f.RepoInfo(user),
1466
+
RepoInfo: s.repoResolver.GetRepoInfo(r, user),
1488
1467
Forks: forks,
1489
1468
Selected: r.URL.Query().Get("fork"),
1490
1469
})
···
1577
1556
})
1578
1557
1579
1558
s.pages.PullCompareForkBranchesFragment(w, pages.PullCompareForkBranchesParams{
1580
-
RepoInfo: f.RepoInfo(user),
1559
+
RepoInfo: s.repoResolver.GetRepoInfo(r, user),
1581
1560
SourceBranches: sourceBranches.Branches,
1582
1561
TargetBranches: targetBranches.Branches,
1583
1562
})
···
1585
1564
1586
1565
func (s *Pulls) ResubmitPull(w http.ResponseWriter, r *http.Request) {
1587
1566
user := s.oauth.GetUser(r)
1588
-
f, err := s.repoResolver.Resolve(r)
1589
-
if err != nil {
1590
-
log.Println("failed to get repo and knot", err)
1591
-
return
1592
-
}
1593
1567
1594
1568
pull, ok := r.Context().Value("pull").(*models.Pull)
1595
1569
if !ok {
···
1601
1575
switch r.Method {
1602
1576
case http.MethodGet:
1603
1577
s.pages.PullResubmitFragment(w, pages.PullResubmitParams{
1604
-
RepoInfo: f.RepoInfo(user),
1578
+
RepoInfo: s.repoResolver.GetRepoInfo(r, user),
1605
1579
Pull: pull,
1606
1580
})
1607
1581
return
+1
-1
appview/repo/artifact.go
+1
-1
appview/repo/artifact.go
+1
-1
appview/repo/blob.go
+1
-1
appview/repo/blob.go
+1
-1
appview/repo/branches.go
+1
-1
appview/repo/branches.go
+2
-2
appview/repo/compare.go
+2
-2
appview/repo/compare.go
···
90
90
91
91
rp.pages.RepoCompareNew(w, pages.RepoCompareNewParams{
92
92
LoggedInUser: user,
93
-
RepoInfo: f.RepoInfo(user),
93
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
94
94
Branches: branches,
95
95
Tags: tags.Tags,
96
96
Base: base,
···
198
198
199
199
rp.pages.RepoCompare(w, pages.RepoCompareParams{
200
200
LoggedInUser: user,
201
-
RepoInfo: f.RepoInfo(user),
201
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
202
202
Branches: branches.Branches,
203
203
Tags: tags.Tags,
204
204
Base: base,
+2
-2
appview/repo/index.go
+2
-2
appview/repo/index.go
···
60
60
rp.pages.RepoIndexPage(w, pages.RepoIndexParams{
61
61
LoggedInUser: user,
62
62
NeedsKnotUpgrade: true,
63
-
RepoInfo: f.RepoInfo(user),
63
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
64
64
})
65
65
return
66
66
}
···
146
146
147
147
rp.pages.RepoIndexPage(w, pages.RepoIndexParams{
148
148
LoggedInUser: user,
149
-
RepoInfo: f.RepoInfo(user),
149
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
150
150
TagMap: tagMap,
151
151
RepoIndexResponse: *result,
152
152
CommitsTrunc: commitsTrunc,
+2
-2
appview/repo/log.go
+2
-2
appview/repo/log.go
···
134
134
rp.pages.RepoLog(w, pages.RepoLogParams{
135
135
LoggedInUser: user,
136
136
TagMap: tagMap,
137
-
RepoInfo: f.RepoInfo(user),
137
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
138
138
RepoLogResponse: xrpcResp,
139
139
EmailToDid: emailToDidMap,
140
140
VerifiedCommits: vc,
···
210
210
211
211
rp.pages.RepoCommit(w, pages.RepoCommitParams{
212
212
LoggedInUser: user,
213
-
RepoInfo: f.RepoInfo(user),
213
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
214
214
RepoCommitResponse: result,
215
215
EmailToDid: emailToDidMap,
216
216
VerifiedCommit: vc,
+3
-3
appview/repo/repo.go
+3
-3
appview/repo/repo.go
···
635
635
user := rp.oauth.GetUser(r)
636
636
rp.pages.LabelPanel(w, pages.LabelPanelParams{
637
637
LoggedInUser: user,
638
-
RepoInfo: f.RepoInfo(user),
638
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
639
639
Defs: defs,
640
640
Subject: subject.String(),
641
641
State: state,
···
683
683
user := rp.oauth.GetUser(r)
684
684
rp.pages.EditLabelPanel(w, pages.EditLabelPanelParams{
685
685
LoggedInUser: user,
686
-
RepoInfo: f.RepoInfo(user),
686
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
687
687
Defs: defs,
688
688
Subject: subject.String(),
689
689
State: state,
···
1006
1006
rp.pages.ForkRepo(w, pages.ForkRepoParams{
1007
1007
LoggedInUser: user,
1008
1008
Knots: knots,
1009
-
RepoInfo: f.RepoInfo(user),
1009
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
1010
1010
})
1011
1011
1012
1012
case http.MethodPost:
+3
-3
appview/repo/settings.go
+3
-3
appview/repo/settings.go
···
255
255
256
256
rp.pages.RepoGeneralSettings(w, pages.RepoGeneralSettingsParams{
257
257
LoggedInUser: user,
258
-
RepoInfo: f.RepoInfo(user),
258
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
259
259
Branches: result.Branches,
260
260
Labels: labels,
261
261
DefaultLabels: defaultLabels,
···
306
306
307
307
rp.pages.RepoAccessSettings(w, pages.RepoAccessSettingsParams{
308
308
LoggedInUser: user,
309
-
RepoInfo: f.RepoInfo(user),
309
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
310
310
Tabs: settingsTabs,
311
311
Tab: "access",
312
312
Collaborators: collaborators,
···
367
367
368
368
rp.pages.RepoPipelineSettings(w, pages.RepoPipelineSettingsParams{
369
369
LoggedInUser: user,
370
-
RepoInfo: f.RepoInfo(user),
370
+
RepoInfo: rp.repoResolver.GetRepoInfo(r, user),
371
371
Tabs: settingsTabs,
372
372
Tab: "pipelines",
373
373
Spindles: spindles,
+1
-1
appview/repo/tree.go
+1
-1
appview/repo/tree.go
+43
-43
appview/reporesolver/resolver.go
+43
-43
appview/reporesolver/resolver.go
···
20
20
21
21
type ResolvedRepo struct {
22
22
models.Repo
23
-
OwnerId identity.Identity
24
-
CurrentDir string
25
-
Ref string
26
-
27
-
rr *RepoResolver
28
23
}
29
24
30
25
type RepoResolver struct {
···
49
44
return path.Join(user, name)
50
45
}
51
46
47
+
// TODO: move this out of `RepoResolver` struct
52
48
func (rr *RepoResolver) Resolve(r *http.Request) (*ResolvedRepo, error) {
53
49
repo, ok := r.Context().Value("repo").(*models.Repo)
54
50
if !ok {
55
51
log.Println("malformed middleware: `repo` not exist in context")
56
52
return nil, fmt.Errorf("malformed middleware")
57
53
}
58
-
id, ok := r.Context().Value("resolvedId").(identity.Identity)
59
-
if !ok {
60
-
log.Println("malformed middleware")
61
-
return nil, fmt.Errorf("malformed middleware")
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")
62
69
}
63
70
71
+
// get dir/ref
64
72
currentDir := path.Dir(extractPathAfterRef(r.URL.EscapedPath()))
65
73
ref := chi.URLParam(r, "ref")
66
74
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()
75
+
repoAt := repo.RepoAt()
81
76
isStarred := false
82
77
roles := repoinfo.RolesInRepo{}
83
78
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())
79
+
isStarred = db.GetStarStatus(rr.execer, user.Did, repoAt)
80
+
roles.Roles = rr.enforcer.GetPermissionsInRepo(user.Did, repo.Knot, repo.DidSlashRepo())
86
81
}
87
82
88
-
stats := f.RepoStats
83
+
stats := repo.RepoStats
89
84
if stats == nil {
90
-
starCount, err := db.GetStarCount(f.rr.execer, repoAt)
85
+
starCount, err := db.GetStarCount(rr.execer, repoAt)
91
86
if err != nil {
92
87
log.Println("failed to get star count for ", repoAt)
93
88
}
94
-
issueCount, err := db.GetIssueCount(f.rr.execer, repoAt)
89
+
issueCount, err := db.GetIssueCount(rr.execer, repoAt)
95
90
if err != nil {
96
91
log.Println("failed to get issue count for ", repoAt)
97
92
}
98
-
pullCount, err := db.GetPullCount(f.rr.execer, repoAt)
93
+
pullCount, err := db.GetPullCount(rr.execer, repoAt)
99
94
if err != nil {
100
95
log.Println("failed to get pull count for ", repoAt)
101
96
}
···
106
101
}
107
102
}
108
103
109
-
sourceRepo, err := db.GetRepoSourceRepo(f.rr.execer, repoAt)
110
-
if err != nil {
111
-
log.Println("failed to get repo by at uri", err)
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
+
}
112
111
}
113
112
114
113
repoInfo := repoinfo.RepoInfo{
115
114
// 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,
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,
125
124
Stats: *stats,
126
125
127
126
// fork repo upstream
128
127
Source: sourceRepo,
129
128
130
-
CurrentDir: f.CurrentDir,
131
-
Ref: f.Ref,
129
+
// page context
130
+
CurrentDir: currentDir,
131
+
Ref: ref,
132
132
133
133
// info related to the session
134
134
IsStarred: isStarred,