+9
-4
appview/pages/knot.html
+9
-4
appview/pages/knot.html
···
7
7
<p>
8
8
<code>
9
9
opened by: {{.Registration.ByDid}}
10
-
{{ if $.IsOwner }}
10
+
{{ if eq $.User.Did $.Registration.ByDid }}
11
11
(you)
12
12
{{ end }}
13
13
</code><br>
···
22
22
23
23
{{ if .Registration.Registered }}
24
24
<h3> members </h3>
25
-
{{ range $.Members }}
26
25
<ol>
26
+
{{ range $.Members }}
27
27
<li>{{.}}</li>
28
-
</ol>
29
28
{{ else }}
30
29
<p>no members</p>
31
30
{{ end }}
32
31
{{ end }}
32
+
</ol>
33
33
34
34
{{ if $.IsOwner }}
35
-
<a href="/knots/{{.Registration.Domain}}/member">add member</a>
35
+
<h3>add member</h3>
36
+
<form hx-put="/knots/{{.Registration.Domain}}/member">
37
+
<label for="member">did or handle:</label>
38
+
<input type="text" id="member" name="member" required>
39
+
<button type="text">add member</button>
40
+
</form>
36
41
{{ end }}
37
42
{{end}}
+3
-4
appview/pages/knots.html
+3
-4
appview/pages/knots.html
···
9
9
<form hx-post="/knots/key">
10
10
<label for="domain">domain:</label>
11
11
<input type="text" id="domain" name="domain" required>
12
-
13
-
<button type="domain">generate key</button>
12
+
<button type="text">generate key</button>
14
13
</form>
15
14
16
15
<h3>my knots</h3>
···
18
17
{{range .Registrations}}
19
18
{{ if .Registered }}
20
19
<li>
21
-
<p>domain: <a href="/knots/{{.Domain}}">{{.Domain}}</a></p><br>
20
+
<code>domain: <a href="/knots/{{.Domain}}">{{.Domain}}</a></code><br>
22
21
<code>opened by: {{.ByDid}}</code><br>
23
22
<code>on: {{.Created}}</code><br>
24
23
<code>registered on: {{.Registered}}</code>
···
33
32
{{range .Registrations}}
34
33
{{ if not .Registered }}
35
34
<li>
36
-
<code>domain: {{.Domain}}</code><br>
35
+
<code>domain: <a href="/knots/{{.Domain}}">{{.Domain}}</a></code><br>
37
36
<code>opened by: {{.ByDid}}</code><br>
38
37
<code>on: {{.Created}}</code><br>
39
38
<code>pending registration</code>
+1
-2
appview/state/state.go
+1
-2
appview/state/state.go
···
368
368
return
369
369
}
370
370
371
-
// TODO: validate member did?
372
371
memberIdent, err := auth.ResolveIdent(r.Context(), memberDid)
373
372
if err != nil {
374
373
w.Write([]byte("failed to resolve member did to a handle"))
···
377
376
378
377
log.Printf("adding %s to %s\n", memberIdent.Handle.String(), domain)
379
378
380
-
err = s.enforcer.AddMember(domain, memberDid)
379
+
err = s.enforcer.AddMember(domain, memberIdent.DID.String())
381
380
if err != nil {
382
381
w.Write([]byte(fmt.Sprint("failed to add member: ", err)))
383
382
return