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 ctx := e.Request().Context()
14
15 repo := e.Get("repo").(*models.RepoActor)
16
17 var prefs map[string]any
18 if err := json.NewDecoder(e.Request().Body).Decode(&prefs); err != nil {
19 return err
20 }
21
22 b, err := json.Marshal(prefs)
23 if err != nil {
24 return err
25 }
26
27 if err := s.db.Exec(ctx, "UPDATE repos SET preferences = ? WHERE did = ?", nil, b, repo.Repo.Did).Error; err != nil {
28 return err
29 }
30
31 return nil
32}