tangled
alpha
login
or
join now
regnault.dev
/
core
forked from
tangled.org/core
Monorepo for Tangled
0
fork
atom
overview
issues
pulls
pipelines
allow choosing default branch on UI
oppi.li
11 months ago
76183d24
68bf9631
+24
-5
4 changed files
expand all
collapse all
unified
split
appview
pages
templates
repo
new.html
state
signer.go
state.go
knotserver
routes.go
+10
appview/pages/templates/repo/new.html
···
16
class="w-full max-w-md"
17
/>
18
<p class="text-sm text-gray-500">All repositories are publicly visible.</p>
0
0
0
0
0
0
0
0
0
0
19
</div>
20
21
<fieldset class="space-y-3">
···
16
class="w-full max-w-md"
17
/>
18
<p class="text-sm text-gray-500">All repositories are publicly visible.</p>
19
+
20
+
<label for="name" class="block uppercase font-bold text-sm">Default branch</label>
21
+
<input
22
+
type="text"
23
+
id="branch"
24
+
name="branch"
25
+
required
26
+
class="w-full max-w-md"
27
+
/>
28
+
<p class="text-sm text-gray-500">The default branch is <span class="font-bold">main</span></p>
29
</div>
30
31
<fieldset class="space-y-3">
+6
-3
appview/state/signer.go
···
77
return s.client.Do(req)
78
}
79
80
-
func (s *SignedClient) NewRepo(did, repoName string) (*http.Response, error) {
81
const (
82
Method = "PUT"
83
Endpoint = "/repo/new"
84
)
85
86
body, _ := json.Marshal(map[string]interface{}{
87
-
"did": did,
88
-
"name": repoName,
0
89
})
0
0
90
91
req, err := s.newRequest(Method, Endpoint, body)
92
if err != nil {
···
77
return s.client.Do(req)
78
}
79
80
+
func (s *SignedClient) NewRepo(did, repoName, defaultBranch string) (*http.Response, error) {
81
const (
82
Method = "PUT"
83
Endpoint = "/repo/new"
84
)
85
86
body, _ := json.Marshal(map[string]interface{}{
87
+
"did": did,
88
+
"name": repoName,
89
+
"default_branch": defaultBranch,
90
})
91
+
92
+
fmt.Println(body)
93
94
req, err := s.newRequest(Method, Endpoint, body)
95
if err != nil {
+6
-1
appview/state/state.go
···
508
return
509
}
510
0
0
0
0
0
511
ok, err := s.enforcer.E.Enforce(user.Did, domain, domain, "repo:create")
512
if err != nil || !ok {
513
s.pages.Notice(w, "repo", "You do not have permission to create a repo in this knot.")
···
526
return
527
}
528
529
-
resp, err := client.NewRepo(user.Did, repoName)
530
if err != nil {
531
s.pages.Notice(w, "repo", "Failed to create repository on knot server.")
532
return
···
508
return
509
}
510
511
+
defaultBranch := r.FormValue("branch")
512
+
if defaultBranch == "" {
513
+
defaultBranch = "main"
514
+
}
515
+
516
ok, err := s.enforcer.E.Enforce(user.Did, domain, domain, "repo:create")
517
if err != nil || !ok {
518
s.pages.Notice(w, "repo", "You do not have permission to create a repo in this knot.")
···
531
return
532
}
533
534
+
resp, err := client.NewRepo(user.Did, repoName, defaultBranch)
535
if err != nil {
536
s.pages.Notice(w, "repo", "Failed to create repository on knot server.")
537
return
+2
-1
knotserver/routes.go
···
505
return
506
}
507
0
508
if data.DefaultBranch == "" {
509
-
data.DefaultBranch = "main"
510
}
511
512
did := data.Did
···
505
return
506
}
507
508
+
log.Println("branch", data.DefaultBranch)
509
if data.DefaultBranch == "" {
510
+
data.DefaultBranch = h.c.Repo.MainBranch
511
}
512
513
did := data.Did