WIP! A BB-style forum, on the ATmosphere!
We're still working... we'll be back soon when we have something to show off!
node
typescript
hono
htmx
atproto
1meta {
2 name: Update Theme
3 type: http
4 seq: 2
5}
6
7put {
8 url: {{appview_url}}/api/admin/themes/{{theme_rkey}}
9}
10
11body:json {
12 {
13 "name": "Neobrutal Light (Updated)",
14 "colorScheme": "light",
15 "tokens": {
16 "color-bg": "#f5f0e8",
17 "color-text": "#1a1a1a",
18 "color-primary": "#ff5c00"
19 }
20 }
21}
22
23assert {
24 res.status: eq 200
25 res.body.uri: isDefined
26 res.body.cid: isDefined
27}
28
29docs {
30 Update an existing theme record. Full replacement of the PDS record.
31 Optional fields (cssOverrides, fontUrls) fall back to their existing values
32 when omitted from the request body.
33
34 **Requires:** space.atbb.permission.manageThemes
35
36 Path params:
37 - rkey: Theme record key (TID)
38
39 Body: same as Create Theme (all fields).
40
41 Returns (200):
42 {
43 "uri": "at://did:plc:.../space.atbb.forum.theme/abc123",
44 "cid": "bafyrei..."
45 }
46
47 Error codes:
48 - 400: Invalid input (same as Create Theme)
49 - 401: Not authenticated
50 - 403: Missing manageThemes permission
51 - 404: Theme not found
52 - 500: ForumAgent not configured (server configuration issue)
53 - 503: ForumAgent not authenticated or PDS network error
54}