alpha
Login
or
Join now
dunkirk.sh
/
core
forked from
tangled.org/core
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
This repository has no description
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
list valid knots in repo/new page
author
Akshay
date
1 year ago
(Feb 12, 2025, 10:25 PM UTC)
commit
4b3dd514
4b3dd514fd05294ab82ac06feeee79b63f1d6191
parent
ce997e6d
ce997e6d1aafa518e6be4641159bd2fa35837329
+28
-4
4 changed files
Expand all
Collapse all
Unified
Split
appview
pages
pages.go
templates
repo
new.html
state
state.go
rbac
rbac.go
+1
appview/pages/pages.go
Reviewed
···
132
132
133
133
type NewRepoParams struct {
134
134
LoggedInUser *auth.User
135
135
+
Knots []string
135
136
}
136
137
137
138
func (p *Pages) NewRepo(w io.Writer, params NewRepoParams) error {
+13
-3
appview/pages/templates/repo/new.html
Reviewed
···
6
6
<label for="name">repo name</label>
7
7
<input type="text" id="name" name="name" required />
8
8
9
9
-
<label for="domain">domain</label>
10
10
-
<input type="domain" id="domain" name="domain" required />
9
9
+
<br>
11
10
12
12
-
<button type="submit">create repo</button>
11
11
+
<fieldset>
12
12
+
<legend>select a knot:</legend>
13
13
+
{{ range .Knots }}
14
14
+
<label>
15
15
+
<input type="radio" name="domain" value="{{ . }}"> {{ . }}
16
16
+
</label><br>
17
17
+
<button type="submit">create repo</button>
18
18
+
{{ else }}
19
19
+
<p>no knots available</p>
20
20
+
{{ end }}
21
21
+
</fieldset>
22
22
+
13
23
</form>
14
24
{{end}}
+10
-1
appview/state/state.go
Reviewed
···
490
490
func (s *State) AddRepo(w http.ResponseWriter, r *http.Request) {
491
491
switch r.Method {
492
492
case http.MethodGet:
493
493
+
user := s.auth.GetUser(r)
494
494
+
knots, err := s.enforcer.GetDomainsForUser(user.Did)
495
495
+
496
496
+
if err != nil {
497
497
+
log.Println("invalid user?", err)
498
498
+
return
499
499
+
}
500
500
+
493
501
s.pages.NewRepo(w, pages.NewRepoParams{
494
494
-
LoggedInUser: s.auth.GetUser(r),
502
502
+
LoggedInUser: user,
503
503
+
Knots: knots,
495
504
})
496
505
case http.MethodPost:
497
506
user := s.auth.GetUser(r)
+4
rbac/rbac.go
Reviewed
···
80
80
return err
81
81
}
82
82
83
83
+
func (e *Enforcer) GetDomainsForUser(did string) ([]string, error) {
84
84
+
return e.E.Enforcer.GetDomainsForUser(did)
85
85
+
}
86
86
+
83
87
func (e *Enforcer) AddOwner(domain, owner string) error {
84
88
_, err := e.E.AddGroupingPolicy(owner, "server:owner", domain)
85
89
return err