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}