An atproto PDS written in Go
at v0.5.1 629 B view raw
1package server 2 3import ( 4 "encoding/json" 5 6 "github.com/haileyok/cocoon/models" 7 "github.com/labstack/echo/v4" 8) 9 10// This is kinda lame. Not great to implement app.bsky in the pds, but alas 11 12func (s *Server) handleActorPutPreferences(e echo.Context) error { 13 repo := e.Get("repo").(*models.RepoActor) 14 15 var prefs map[string]any 16 if err := json.NewDecoder(e.Request().Body).Decode(&prefs); err != nil { 17 return err 18 } 19 20 b, err := json.Marshal(prefs) 21 if err != nil { 22 return err 23 } 24 25 if err := s.db.Exec("UPDATE repos SET preferences = ? WHERE did = ?", nil, b, repo.Repo.Did).Error; err != nil { 26 return err 27 } 28 29 return nil 30}