app.bivri.actor.putPreferences
Schema Diff
+31 -1
Compatibility Analysis
Backward Compatible
Backward compatible. 21 non-breaking changes.
Non-Breaking Changes (21)
- AddedVertex AddedVertex { vertex_id: "app.bivri.actor.defs#contentFilterPreferences" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.actor.defs#mutedTagPreferences" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.actor.defs#mutedWordPreferences" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.actor.putPreferences:input.contentFilters" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.actor.putPreferences:input.mutedTags" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.actor.putPreferences:input.mutedWords" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.actor.putPreferences:output.contentFilters" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.actor.putPreferences:output.mutedTags" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.actor.putPreferences:output.mutedWords" }
- AddedEdge AddedEdge { src: "app.bivri.actor.putPreferences:input", tgt: "app.bivri.actor.putPreferences:input.contentFilters", kind: "prop", name: Some("contentFilters") }
- AddedEdge AddedEdge { src: "app.bivri.actor.putPreferences:input", tgt: "app.bivri.actor.putPreferences:input.mutedTags", kind: "prop", name: Some("mutedTags") }
- AddedEdge AddedEdge { src: "app.bivri.actor.putPreferences:input", tgt: "app.bivri.actor.putPreferences:input.mutedWords", kind: "prop", name: Some("mutedWords") }
- AddedEdge AddedEdge { src: "app.bivri.actor.putPreferences:input.contentFilters", tgt: "app.bivri.actor.defs#contentFilterPreferences", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.bivri.actor.putPreferences:input.mutedTags", tgt: "app.bivri.actor.defs#mutedTagPreferences", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.bivri.actor.putPreferences:input.mutedWords", tgt: "app.bivri.actor.defs#mutedWordPreferences", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.bivri.actor.putPreferences:output", tgt: "app.bivri.actor.putPreferences:output.contentFilters", kind: "prop", name: Some("contentFilters") }
- AddedEdge AddedEdge { src: "app.bivri.actor.putPreferences:output", tgt: "app.bivri.actor.putPreferences:output.mutedTags", kind: "prop", name: Some("mutedTags") }
- AddedEdge AddedEdge { src: "app.bivri.actor.putPreferences:output", tgt: "app.bivri.actor.putPreferences:output.mutedWords", kind: "prop", name: Some("mutedWords") }
- AddedEdge AddedEdge { src: "app.bivri.actor.putPreferences:output.contentFilters", tgt: "app.bivri.actor.defs#contentFilterPreferences", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.bivri.actor.putPreferences:output.mutedTags", tgt: "app.bivri.actor.defs#mutedTagPreferences", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.bivri.actor.putPreferences:output.mutedWords", tgt: "app.bivri.actor.defs#mutedWordPreferences", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.bivri.actor.defs#contentFilterPreferences" }AddedVertex { vertex_id: "app.bivri.actor.defs#mutedTagPreferences" }AddedVertex { vertex_id: "app.bivri.actor.defs#mutedWordPreferences" }AddedVertex { vertex_id: "app.bivri.actor.putPreferences:input.contentFilters" }AddedVertex { vertex_id: "app.bivri.actor.putPreferences:input.mutedTags" }AddedVertex { vertex_id: "app.bivri.actor.putPreferences:input.mutedWords" }AddedVertex { vertex_id: "app.bivri.actor.putPreferences:output.contentFilters" }AddedVertex { vertex_id: "app.bivri.actor.putPreferences:output.mutedTags" }AddedVertex { vertex_id: "app.bivri.actor.putPreferences:output.mutedWords" }
Additional Notes
- Non-breaking: AddedEdge { src: "app.bivri.actor.putPreferences:input", tgt: "app.bivri.actor.putPreferences:input.contentFilters", kind: "prop", name: Some("contentFilters") }
- Non-breaking: AddedEdge { src: "app.bivri.actor.putPreferences:input", tgt: "app.bivri.actor.putPreferences:input.mutedTags", kind: "prop", name: Some("mutedTags") }
- Non-breaking: AddedEdge { src: "app.bivri.actor.putPreferences:input", tgt: "app.bivri.actor.putPreferences:input.mutedWords", kind: "prop", name: Some("mutedWords") }
- Non-breaking: AddedEdge { src: "app.bivri.actor.putPreferences:input.contentFilters", tgt: "app.bivri.actor.defs#contentFilterPreferences", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.bivri.actor.putPreferences:input.mutedTags", tgt: "app.bivri.actor.defs#mutedTagPreferences", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.bivri.actor.putPreferences:input.mutedWords", tgt: "app.bivri.actor.defs#mutedWordPreferences", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.bivri.actor.putPreferences:output", tgt: "app.bivri.actor.putPreferences:output.contentFilters", kind: "prop", name: Some("contentFilters") }
- Non-breaking: AddedEdge { src: "app.bivri.actor.putPreferences:output", tgt: "app.bivri.actor.putPreferences:output.mutedTags", kind: "prop", name: Some("mutedTags") }
- Non-breaking: AddedEdge { src: "app.bivri.actor.putPreferences:output", tgt: "app.bivri.actor.putPreferences:output.mutedWords", kind: "prop", name: Some("mutedWords") }
- Non-breaking: AddedEdge { src: "app.bivri.actor.putPreferences:output.contentFilters", tgt: "app.bivri.actor.defs#contentFilterPreferences", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.bivri.actor.putPreferences:output.mutedTags", tgt: "app.bivri.actor.defs#mutedTagPreferences", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.bivri.actor.putPreferences:output.mutedWords", tgt: "app.bivri.actor.defs#mutedWordPreferences", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Replace the authenticated account's own preferences. Every group sent is replaced whole and every group omitted is left as it was, so a client that knows about one group cannot silently reset another it has never heard of. Sending the same preferences twice is the same as sending them once. Preferences are the account's alone: nothing here names another account, and nothing here is served to one.",
6
6
"errors": [
7
7
{
8
8
"description": "The authenticated member has not confirmed age and accepted the Terms and Privacy Policy.",
9
9
"name": "ConsentRequired"
10
10
},
11
11
{
12
12
"description": "Nobody is authenticated, so there are no preferences to replace.",
13
13
"name": "Unauthenticated"
14
14
},
15
15
{
16
-
"description": "The request body is not an object, a notification group is invalid, or interests is not a bounded array of Tag strings. Nothing was stored.",
16
+
"description": "The request body is not an object, a notification or content filter group is invalid, or interests, mutedWords or mutedTags is not a bounded array of non-empty strings. Nothing was stored.",
17
17
"name": "InvalidInput"
18
18
},
19
19
{
20
20
"description": "At least one interest is not a Tag present in the indexed Artwork catalog. Nothing was stored.",
21
21
"name": "UnavailableTag"
22
22
}
23
23
],
24
24
"input": {
25
25
"encoding": "application/json",
26
26
"schema": {
27
27
"properties": {
28
+
"contentFilters": {
29
+
"description": "Replace the caller's content filter group. All four labels are required together. Omit this group to leave it unchanged.",
30
+
"ref": "app.bivri.actor.defs#contentFilterPreferences",
31
+
"type": "ref"
32
+
},
28
33
"interests": {
29
34
"description": "Replace the caller's complete interest Tag set. Omit this group to leave it unchanged; send an empty array to clear it.",
30
35
"ref": "app.bivri.actor.defs#interestPreferences",
31
36
"type": "ref"
32
37
},
38
+
"mutedTags": {
39
+
"description": "Replace the caller's complete muted Tag set. Omit this group to leave it unchanged; send an empty array to clear it.",
40
+
"ref": "app.bivri.actor.defs#mutedTagPreferences",
41
+
"type": "ref"
42
+
},
43
+
"mutedWords": {
44
+
"description": "Replace the caller's complete muted word set. Omit this group to leave it unchanged; send an empty array to clear it.",
45
+
"ref": "app.bivri.actor.defs#mutedWordPreferences",
46
+
"type": "ref"
47
+
},
33
48
"notifications": {
34
49
"ref": "app.bivri.actor.defs#notificationPreferences",
35
50
"type": "ref"
36
51
}
37
52
},
38
53
"type": "object"
39
54
}
40
55
},
41
56
"output": {
42
57
"encoding": "application/json",
43
58
"schema": {
44
59
"properties": {
60
+
"contentFilters": {
61
+
"description": "The caller's stored content filter group, or the defaults when none was stored.",
62
+
"ref": "app.bivri.actor.defs#contentFilterPreferences",
63
+
"type": "ref"
64
+
},
45
65
"interests": {
46
66
"description": "The caller's complete stored interest Tag set.",
47
67
"ref": "app.bivri.actor.defs#interestPreferences",
48
68
"type": "ref"
49
69
},
70
+
"mutedTags": {
71
+
"description": "The caller's complete stored muted Tag set, normalized and in lexical order.",
72
+
"ref": "app.bivri.actor.defs#mutedTagPreferences",
73
+
"type": "ref"
74
+
},
75
+
"mutedWords": {
76
+
"description": "The caller's complete stored muted word set, normalized and in lexical order.",
77
+
"ref": "app.bivri.actor.defs#mutedWordPreferences",
78
+
"type": "ref"
79
+
},
50
80
"notifications": {
51
81
"ref": "app.bivri.actor.defs#notificationPreferences",
52
82
"type": "ref"
53
83
}
54
84
},
55
85
"required": [
56
86
"notifications"
57
87
],
58
88
"type": "object"
59
89
}
60
90
},
61
91
"type": "procedure"
62
92
}
63
93
},
64
94
"id": "app.bivri.actor.putPreferences",
65
95
"lexicon": 1
66
96
}