forked from tangled.org/core
Monorepo for Tangled — https://tangled.org

appview: add member to knot1 by default

We're open to public!

anirudh.fi 05bfa4df f6f63fe1

verified
Changed files
+42 -2
appview
state
+37 -1
appview/state/state.go
···
if err != nil {
log.Printf("rendering login page: %s", err)
}
+
return
case http.MethodPost:
handle := strings.TrimPrefix(r.FormValue("handle"), "@")
···
}
log.Printf("successfully saved session for %s (%s)", atSession.Handle, atSession.Did)
+
+
did := resolved.DID.String()
+
defaultKnot := "knot1.tangled.sh"
+
+
go func() {
+
log.Printf("adding %s to default knot", did)
+
err = s.enforcer.AddMember(defaultKnot, did)
+
if err != nil {
+
log.Println("failed to add user to knot1.tangled.sh: ", err)
+
return
+
}
+
err = s.enforcer.E.SavePolicy()
+
if err != nil {
+
log.Println("failed to add user to knot1.tangled.sh: ", err)
+
return
+
}
+
+
secret, err := db.GetRegistrationKey(s.db, defaultKnot)
+
if err != nil {
+
log.Println("failed to get registration key for knot1.tangled.sh")
+
return
+
}
+
signedClient, err := NewSignedClient(defaultKnot, secret, s.config.Dev)
+
resp, err := signedClient.AddMember(did)
+
if err != nil {
+
log.Println("failed to add user to knot1.tangled.sh: ", err)
+
return
+
}
+
+
if resp.StatusCode != http.StatusNoContent {
+
log.Println("failed to add user to knot1.tangled.sh: ", resp.StatusCode)
+
return
+
}
+
}()
+
s.pages.HxRedirect(w, "/")
return
}
···
case http.MethodGet:
user := s.auth.GetUser(r)
knots, err := s.enforcer.GetDomainsForUser(user.Did)
-
if err != nil {
s.pages.Notice(w, "repo", "Invalid user account.")
return
···
LoggedInUser: user,
Knots: knots,
})
+
case http.MethodPost:
user := s.auth.GetUser(r)
+5 -1
readme.md
···
# tangled
-
Hello Tanglers! This is the codebase for [Tangled](https://tangled.sh)—a code collaboration platform built on the [AT Protocol](https://atproto.com).
+
Hello Tanglers! This is the codebase for
+
[Tangled](https://tangled.sh)—a code collaboration platform built
+
on the [AT Protocol](https://atproto.com).
+
+
Read the introduction to Tangled [here](https://blog.tangled.sh/intro).