+11
-14
appview/db/pulls.go
+11
-14
appview/db/pulls.go
···
10
11
"github.com/bluekeyes/go-gitdiff/gitdiff"
12
"github.com/bluesky-social/indigo/atproto/syntax"
13
"tangled.sh/tangled.sh/core/patchutil"
14
"tangled.sh/tangled.sh/core/types"
15
)
···
54
RepoAt syntax.ATURI
55
OwnerDid string
56
Rkey string
57
-
PullAt syntax.ATURI
58
59
// content
60
Title string
···
118
func (p *Pull) LatestPatch() string {
119
latestSubmission := p.Submissions[p.LastRoundNumber()]
120
return latestSubmission.Patch
121
}
122
123
func (p *Pull) LastRoundNumber() int {
···
298
return nil
299
}
300
301
-
func SetPullAt(e Execer, repoAt syntax.ATURI, pullId int, pullAt string) error {
302
-
_, err := e.Exec(`update pulls set pull_at = ? where repo_at = ? and pull_id = ?`, pullAt, repoAt, pullId)
303
-
return err
304
-
}
305
-
306
-
func GetPullAt(e Execer, repoAt syntax.ATURI, pullId int) (string, error) {
307
-
var pullAt string
308
-
err := e.QueryRow(`select pull_at from pulls where repo_at = ? and pull_id = ?`, repoAt, pullId).Scan(&pullAt)
309
-
return pullAt, err
310
}
311
312
func NextPullId(e Execer, repoAt syntax.ATURI) (int, error) {
···
326
title,
327
state,
328
target_branch,
329
-
pull_at,
330
body,
331
rkey,
332
source_branch,
···
351
&pull.Title,
352
&pull.State,
353
&pull.TargetBranch,
354
-
&pull.PullAt,
355
&pull.Body,
356
&pull.Rkey,
357
&sourceBranch,
···
487
title,
488
state,
489
target_branch,
490
-
pull_at,
491
repo_at,
492
body,
493
rkey,
···
510
&pull.Title,
511
&pull.State,
512
&pull.TargetBranch,
513
-
&pull.PullAt,
514
&pull.RepoAt,
515
&pull.Body,
516
&pull.Rkey,
···
10
11
"github.com/bluekeyes/go-gitdiff/gitdiff"
12
"github.com/bluesky-social/indigo/atproto/syntax"
13
+
tangled "tangled.sh/tangled.sh/core/api/tangled"
14
"tangled.sh/tangled.sh/core/patchutil"
15
"tangled.sh/tangled.sh/core/types"
16
)
···
55
RepoAt syntax.ATURI
56
OwnerDid string
57
Rkey string
58
59
// content
60
Title string
···
118
func (p *Pull) LatestPatch() string {
119
latestSubmission := p.Submissions[p.LastRoundNumber()]
120
return latestSubmission.Patch
121
+
}
122
+
123
+
func (p *Pull) PullAt() syntax.ATURI {
124
+
return syntax.ATURI(fmt.Sprintf("at://%s/%s/%s", p.OwnerDid, tangled.RepoPullNSID, p.Rkey))
125
}
126
127
func (p *Pull) LastRoundNumber() int {
···
302
return nil
303
}
304
305
+
func GetPullAt(e Execer, repoAt syntax.ATURI, pullId int) (syntax.ATURI, error) {
306
+
pull, err := GetPull(e, repoAt, pullId)
307
+
if err != nil {
308
+
return "", err
309
+
}
310
+
return pull.PullAt(), err
311
}
312
313
func NextPullId(e Execer, repoAt syntax.ATURI) (int, error) {
···
327
title,
328
state,
329
target_branch,
330
body,
331
rkey,
332
source_branch,
···
351
&pull.Title,
352
&pull.State,
353
&pull.TargetBranch,
354
&pull.Body,
355
&pull.Rkey,
356
&sourceBranch,
···
486
title,
487
state,
488
target_branch,
489
repo_at,
490
body,
491
rkey,
···
508
&pull.Title,
509
&pull.State,
510
&pull.TargetBranch,
511
&pull.RepoAt,
512
&pull.Body,
513
&pull.Rkey,
+3
-4
appview/state/pull.go
+3
-4
appview/state/pull.go
···
528
Record: &lexutil.LexiconTypeDecoder{
529
Val: &tangled.RepoPullComment{
530
Repo: &atUri,
531
-
Pull: pullAt,
532
Owner: &ownerDid,
533
Body: &body,
534
CreatedAt: &createdAt,
···
879
return
880
}
881
882
-
atResp, err := comatproto.RepoPutRecord(r.Context(), client, &comatproto.RepoPutRecord_Input{
883
Collection: tangled.RepoPullNSID,
884
Repo: user.Did,
885
Rkey: rkey,
···
895
},
896
})
897
898
-
err = db.SetPullAt(s.db, f.RepoAt, pullId, atResp.Uri)
899
if err != nil {
900
-
log.Println("failed to get pull id", err)
901
s.pages.Notice(w, "pull", "Failed to create pull request. Try again later.")
902
return
903
}
···
528
Record: &lexutil.LexiconTypeDecoder{
529
Val: &tangled.RepoPullComment{
530
Repo: &atUri,
531
+
Pull: string(pullAt),
532
Owner: &ownerDid,
533
Body: &body,
534
CreatedAt: &createdAt,
···
879
return
880
}
881
882
+
_, err = comatproto.RepoPutRecord(r.Context(), client, &comatproto.RepoPutRecord_Input{
883
Collection: tangled.RepoPullNSID,
884
Repo: user.Did,
885
Rkey: rkey,
···
895
},
896
})
897
898
if err != nil {
899
+
log.Println("failed to create pull request", err)
900
s.pages.Notice(w, "pull", "Failed to create pull request. Try again later.")
901
return
902
}