+2
-3
appview/issues/issues.go
+2
-3
appview/issues/issues.go
···
226
226
l := rp.logger.With("handler", "DeleteIssue")
227
227
noticeId := "issue-actions-error"
228
228
229
-
user := rp.oauth.GetUser(r)
230
-
231
229
f, err := rp.repoResolver.Resolve(r)
232
230
if err != nil {
233
231
l.Error("failed to get repo and knot", "err", err)
···
271
269
rp.notifier.DeleteIssue(r.Context(), issue)
272
270
273
271
// return to all issues page
274
-
rp.pages.HxRedirect(w, "/"+f.RepoInfo(user).FullName()+"/issues")
272
+
ownerSlashRepo := reporesolver.GetBaseRepoPath(r, &f.Repo)
273
+
rp.pages.HxRedirect(w, "/"+ownerSlashRepo+"/issues")
275
274
}
276
275
277
276
func (rp *Issues) CloseIssue(w http.ResponseWriter, r *http.Request) {
+13
-20
appview/pipelines/pipelines.go
+13
-20
appview/pipelines/pipelines.go
···
78
78
return
79
79
}
80
80
81
-
repoInfo := f.RepoInfo(user)
82
-
83
81
ps, err := db.GetPipelineStatuses(
84
82
p.db,
85
-
db.FilterEq("repo_owner", repoInfo.OwnerDid),
86
-
db.FilterEq("repo_name", repoInfo.Name),
87
-
db.FilterEq("knot", repoInfo.Knot),
83
+
db.FilterEq("repo_owner", f.Did),
84
+
db.FilterEq("repo_name", f.Name),
85
+
db.FilterEq("knot", f.Knot),
88
86
)
89
87
if err != nil {
90
88
l.Error("failed to query db", "err", err)
···
93
91
94
92
p.pages.Pipelines(w, pages.PipelinesParams{
95
93
LoggedInUser: user,
96
-
RepoInfo: repoInfo,
94
+
RepoInfo: f.RepoInfo(user),
97
95
Pipelines: ps,
98
96
})
99
97
}
···
108
106
return
109
107
}
110
108
111
-
repoInfo := f.RepoInfo(user)
112
-
113
109
pipelineId := chi.URLParam(r, "pipeline")
114
110
if pipelineId == "" {
115
111
l.Error("empty pipeline ID")
···
124
120
125
121
ps, err := db.GetPipelineStatuses(
126
122
p.db,
127
-
db.FilterEq("repo_owner", repoInfo.OwnerDid),
128
-
db.FilterEq("repo_name", repoInfo.Name),
129
-
db.FilterEq("knot", repoInfo.Knot),
123
+
db.FilterEq("repo_owner", f.Did),
124
+
db.FilterEq("repo_name", f.Name),
125
+
db.FilterEq("knot", f.Knot),
130
126
db.FilterEq("id", pipelineId),
131
127
)
132
128
if err != nil {
···
143
139
144
140
p.pages.Workflow(w, pages.WorkflowParams{
145
141
LoggedInUser: user,
146
-
RepoInfo: repoInfo,
142
+
RepoInfo: f.RepoInfo(user),
147
143
Pipeline: singlePipeline,
148
144
Workflow: workflow,
149
145
})
···
174
170
ctx, cancel := context.WithCancel(r.Context())
175
171
defer cancel()
176
172
177
-
user := p.oauth.GetUser(r)
178
173
f, err := p.repoResolver.Resolve(r)
179
174
if err != nil {
180
175
l.Error("failed to get repo and knot", "err", err)
···
182
177
return
183
178
}
184
179
185
-
repoInfo := f.RepoInfo(user)
186
-
187
180
pipelineId := chi.URLParam(r, "pipeline")
188
181
workflow := chi.URLParam(r, "workflow")
189
182
if pipelineId == "" || workflow == "" {
···
193
186
194
187
ps, err := db.GetPipelineStatuses(
195
188
p.db,
196
-
db.FilterEq("repo_owner", repoInfo.OwnerDid),
197
-
db.FilterEq("repo_name", repoInfo.Name),
198
-
db.FilterEq("knot", repoInfo.Knot),
189
+
db.FilterEq("repo_owner", f.Did),
190
+
db.FilterEq("repo_name", f.Name),
191
+
db.FilterEq("knot", f.Knot),
199
192
db.FilterEq("id", pipelineId),
200
193
)
201
194
if err != nil || len(ps) != 1 {
···
205
198
}
206
199
207
200
singlePipeline := ps[0]
208
-
spindle := repoInfo.Spindle
209
-
knot := repoInfo.Knot
201
+
spindle := f.Spindle
202
+
knot := f.Knot
210
203
rkey := singlePipeline.Rkey
211
204
212
205
if spindle == "" || knot == "" || rkey == "" {
+7
-10
appview/pulls/pulls.go
+7
-10
appview/pulls/pulls.go
···
162
162
resubmitResult = s.resubmitCheck(r, f, pull, stack)
163
163
}
164
164
165
-
repoInfo := f.RepoInfo(user)
166
-
167
165
m := make(map[string]models.Pipeline)
168
166
169
167
var shas []string
···
179
177
180
178
ps, err := db.GetPipelineStatuses(
181
179
s.db,
182
-
db.FilterEq("repo_owner", repoInfo.OwnerDid),
183
-
db.FilterEq("repo_name", repoInfo.Name),
184
-
db.FilterEq("knot", repoInfo.Knot),
180
+
db.FilterEq("repo_owner", f.Did),
181
+
db.FilterEq("repo_name", f.Name),
182
+
db.FilterEq("knot", f.Knot),
185
183
db.FilterIn("sha", shas),
186
184
)
187
185
if err != nil {
···
222
220
223
221
s.pages.RepoSinglePull(w, pages.RepoSinglePullParams{
224
222
LoggedInUser: user,
225
-
RepoInfo: repoInfo,
223
+
RepoInfo: f.RepoInfo(user),
226
224
Pull: pull,
227
225
Stack: stack,
228
226
AbandonedPulls: abandonedPulls,
···
646
644
}
647
645
pulls = pulls[:n]
648
646
649
-
repoInfo := f.RepoInfo(user)
650
647
ps, err := db.GetPipelineStatuses(
651
648
s.db,
652
-
db.FilterEq("repo_owner", repoInfo.OwnerDid),
653
-
db.FilterEq("repo_name", repoInfo.Name),
654
-
db.FilterEq("knot", repoInfo.Knot),
649
+
db.FilterEq("repo_owner", f.Did),
650
+
db.FilterEq("repo_name", f.Name),
651
+
db.FilterEq("knot", f.Knot),
655
652
db.FilterIn("sha", shas),
656
653
)
657
654
if err != nil {
+2
-6
appview/repo/compare.go
+2
-6
appview/repo/compare.go
···
88
88
return
89
89
}
90
90
91
-
repoinfo := f.RepoInfo(user)
92
-
93
91
rp.pages.RepoCompareNew(w, pages.RepoCompareNewParams{
94
92
LoggedInUser: user,
95
-
RepoInfo: repoinfo,
93
+
RepoInfo: f.RepoInfo(user),
96
94
Branches: branches,
97
95
Tags: tags.Tags,
98
96
Base: base,
···
198
196
diff = patchutil.AsNiceDiff(formatPatch.FormatPatchRaw, base)
199
197
}
200
198
201
-
repoinfo := f.RepoInfo(user)
202
-
203
199
rp.pages.RepoCompare(w, pages.RepoCompareParams{
204
200
LoggedInUser: user,
205
-
RepoInfo: repoinfo,
201
+
RepoInfo: f.RepoInfo(user),
206
202
Branches: branches.Branches,
207
203
Tags: tags.Tags,
208
204
Base: base,
+3
-4
appview/repo/index.go
+3
-4
appview/repo/index.go
···
52
52
}
53
53
54
54
user := rp.oauth.GetUser(r)
55
-
repoInfo := f.RepoInfo(user)
56
55
57
56
// Build index response from multiple XRPC calls
58
57
result, err := rp.buildIndexResponse(r.Context(), xrpcc, f, ref)
···
62
61
rp.pages.RepoIndexPage(w, pages.RepoIndexParams{
63
62
LoggedInUser: user,
64
63
NeedsKnotUpgrade: true,
65
-
RepoInfo: repoInfo,
64
+
RepoInfo: f.RepoInfo(user),
66
65
})
67
66
return
68
67
}
···
140
139
for _, c := range commitsTrunc {
141
140
shas = append(shas, c.Hash.String())
142
141
}
143
-
pipelines, err := getPipelineStatuses(rp.db, repoInfo, shas)
142
+
pipelines, err := getPipelineStatuses(rp.db, &f.Repo, shas)
144
143
if err != nil {
145
144
l.Error("failed to fetch pipeline statuses", "err", err)
146
145
// non-fatal
···
148
147
149
148
rp.pages.RepoIndexPage(w, pages.RepoIndexParams{
150
149
LoggedInUser: user,
151
-
RepoInfo: repoInfo,
150
+
RepoInfo: f.RepoInfo(user),
152
151
TagMap: tagMap,
153
152
RepoIndexResponse: *result,
154
153
CommitsTrunc: commitsTrunc,
+3
-6
appview/repo/log.go
+3
-6
appview/repo/log.go
···
121
121
l.Error("failed to GetVerifiedObjectCommits", "err", err)
122
122
}
123
123
124
-
repoInfo := f.RepoInfo(user)
125
-
126
124
var shas []string
127
125
for _, c := range xrpcResp.Commits {
128
126
shas = append(shas, c.Hash.String())
129
127
}
130
-
pipelines, err := getPipelineStatuses(rp.db, repoInfo, shas)
128
+
pipelines, err := getPipelineStatuses(rp.db, &f.Repo, shas)
131
129
if err != nil {
132
130
l.Error("failed to getPipelineStatuses", "err", err)
133
131
// non-fatal
···
136
134
rp.pages.RepoLog(w, pages.RepoLogParams{
137
135
LoggedInUser: user,
138
136
TagMap: tagMap,
139
-
RepoInfo: repoInfo,
137
+
RepoInfo: f.RepoInfo(user),
140
138
RepoLogResponse: xrpcResp,
141
139
EmailToDid: emailToDidMap,
142
140
VerifiedCommits: vc,
···
200
198
}
201
199
202
200
user := rp.oauth.GetUser(r)
203
-
repoInfo := f.RepoInfo(user)
204
-
pipelines, err := getPipelineStatuses(rp.db, repoInfo, []string{result.Diff.Commit.This})
201
+
pipelines, err := getPipelineStatuses(rp.db, &f.Repo, []string{result.Diff.Commit.This})
205
202
if err != nil {
206
203
l.Error("failed to getPipelineStatuses", "err", err)
207
204
// non-fatal
+2
-3
appview/repo/repo.go
+2
-3
appview/repo/repo.go
···
959
959
return
960
960
}
961
961
962
-
repoInfo := f.RepoInfo(user)
963
-
if repoInfo.Source == nil {
962
+
if f.Source == "" {
964
963
rp.pages.Notice(w, "repo", "This repository is not a fork.")
965
964
return
966
965
}
···
971
970
&tangled.RepoForkSync_Input{
972
971
Did: user.Did,
973
972
Name: f.Name,
974
-
Source: repoInfo.Source.RepoAt().String(),
973
+
Source: f.Source,
975
974
Branch: ref,
976
975
},
977
976
)
+4
-5
appview/repo/repo_util.go
+4
-5
appview/repo/repo_util.go
···
9
9
10
10
"tangled.org/core/appview/db"
11
11
"tangled.org/core/appview/models"
12
-
"tangled.org/core/appview/pages/repoinfo"
13
12
"tangled.org/core/types"
14
13
15
14
"github.com/go-git/go-git/v5/plumbing/object"
···
107
106
// golang is so blessed that it requires 35 lines of imperative code for this
108
107
func getPipelineStatuses(
109
108
d *db.DB,
110
-
repoInfo repoinfo.RepoInfo,
109
+
repo *models.Repo,
111
110
shas []string,
112
111
) (map[string]models.Pipeline, error) {
113
112
m := make(map[string]models.Pipeline)
···
118
117
119
118
ps, err := db.GetPipelineStatuses(
120
119
d,
121
-
db.FilterEq("repo_owner", repoInfo.OwnerDid),
122
-
db.FilterEq("repo_name", repoInfo.Name),
123
-
db.FilterEq("knot", repoInfo.Knot),
120
+
db.FilterEq("repo_owner", repo.Did),
121
+
db.FilterEq("repo_name", repo.Name),
122
+
db.FilterEq("knot", repo.Knot),
124
123
db.FilterIn("sha", shas),
125
124
)
126
125
if err != nil {