com.suibari.nagi.putPreferences
Schema Diff
+17 -1
Compatibility Analysis
Backward Compatible
Backward compatible. 11 non-breaking changes.
Non-Breaking Changes (11)
- AddedVertex AddedVertex { vertex_id: "com.suibari.nagi.getPreferences#moderationPreferences" }
- AddedVertex AddedVertex { vertex_id: "com.suibari.nagi.putPreferences:input.moderationPreferences" }
- AddedVertex AddedVertex { vertex_id: "com.suibari.nagi.putPreferences:input.moderationPreferencesUpdatedAt" }
- AddedVertex AddedVertex { vertex_id: "com.suibari.nagi.putPreferences:output.moderationPreferences" }
- AddedVertex AddedVertex { vertex_id: "com.suibari.nagi.putPreferences:output.moderationPreferencesUpdatedAt" }
- AddedEdge AddedEdge { src: "com.suibari.nagi.putPreferences:input", tgt: "com.suibari.nagi.putPreferences:input.moderationPreferences", kind: "prop", name: Some("moderationPreferences") }
- AddedEdge AddedEdge { src: "com.suibari.nagi.putPreferences:input", tgt: "com.suibari.nagi.putPreferences:input.moderationPreferencesUpdatedAt", kind: "prop", name: Some("moderationPreferencesUpdatedAt") }
- AddedEdge AddedEdge { src: "com.suibari.nagi.putPreferences:input.moderationPreferences", tgt: "com.suibari.nagi.getPreferences#moderationPreferences", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "com.suibari.nagi.putPreferences:output", tgt: "com.suibari.nagi.putPreferences:output.moderationPreferences", kind: "prop", name: Some("moderationPreferences") }
- AddedEdge AddedEdge { src: "com.suibari.nagi.putPreferences:output", tgt: "com.suibari.nagi.putPreferences:output.moderationPreferencesUpdatedAt", kind: "prop", name: Some("moderationPreferencesUpdatedAt") }
- AddedEdge AddedEdge { src: "com.suibari.nagi.putPreferences:output.moderationPreferences", tgt: "com.suibari.nagi.getPreferences#moderationPreferences", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.suibari.nagi.getPreferences#moderationPreferences" }AddedVertex { vertex_id: "com.suibari.nagi.putPreferences:input.moderationPreferences" }AddedVertex { vertex_id: "com.suibari.nagi.putPreferences:input.moderationPreferencesUpdatedAt" }AddedVertex { vertex_id: "com.suibari.nagi.putPreferences:output.moderationPreferences" }AddedVertex { vertex_id: "com.suibari.nagi.putPreferences:output.moderationPreferencesUpdatedAt" }
Additional Notes
- Non-breaking: AddedEdge { src: "com.suibari.nagi.putPreferences:input", tgt: "com.suibari.nagi.putPreferences:input.moderationPreferences", kind: "prop", name: Some("moderationPreferences") }
- Non-breaking: AddedEdge { src: "com.suibari.nagi.putPreferences:input", tgt: "com.suibari.nagi.putPreferences:input.moderationPreferencesUpdatedAt", kind: "prop", name: Some("moderationPreferencesUpdatedAt") }
- Non-breaking: AddedEdge { src: "com.suibari.nagi.putPreferences:input.moderationPreferences", tgt: "com.suibari.nagi.getPreferences#moderationPreferences", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "com.suibari.nagi.putPreferences:output", tgt: "com.suibari.nagi.putPreferences:output.moderationPreferences", kind: "prop", name: Some("moderationPreferences") }
- Non-breaking: AddedEdge { src: "com.suibari.nagi.putPreferences:output", tgt: "com.suibari.nagi.putPreferences:output.moderationPreferencesUpdatedAt", kind: "prop", name: Some("moderationPreferencesUpdatedAt") }
- Non-breaking: AddedEdge { src: "com.suibari.nagi.putPreferences:output.moderationPreferences", tgt: "com.suibari.nagi.getPreferences#moderationPreferences", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "同期対象の本人設定を書き込む。既読位置は単調マージ、配列・言語設定・最後のブックマークフォルダは updatedAt による後勝ち。各項目は省略でき、送った分だけを更新する。",
5
+
"description": "同期対象の本人設定を書き込む。既読位置は単調マージ、配列・言語・コンテンツ表示設定・最後のブックマークフォルダは updatedAt による後勝ち。各項目は省略でき、送った分だけを更新する。",
6
6
"errors": [
7
7
{
8
8
"name": "AuthRequired"
9
9
},
10
10
{
11
11
"name": "InvalidRequest"
12
12
}
13
13
],
14
14
"input": {
15
15
"encoding": "application/json",
16
16
"schema": {
17
17
"properties": {
18
18
"emojiFavorites": {
19
19
"items": {
20
20
"type": "unknown"
21
21
},
22
22
"maxLength": 32,
23
23
"type": "array"
24
24
},
25
25
"emojiFavoritesUpdatedAt": {
26
26
"description": "emojiFavorites を送るときは必須。保存済みより古ければ書き込まない。",
27
27
"format": "datetime",
28
28
"type": "string"
29
29
},
30
30
"feedTabs": {
31
31
"items": {
32
32
"ref": "com.suibari.nagi.getPreferences#feedTab",
33
33
"type": "ref"
34
34
},
35
35
"maxLength": 16,
36
36
"type": "array"
37
37
},
38
38
"feedTabsUpdatedAt": {
39
39
"description": "feedTabs を送るときは必須。保存済みより古ければ書き込まない。",
40
40
"format": "datetime",
41
41
"type": "string"
42
42
},
43
43
"languagePreferences": {
44
44
"ref": "com.suibari.nagi.getPreferences#languagePreferences",
45
45
"type": "ref"
46
46
},
47
47
"languagePreferencesUpdatedAt": {
48
48
"format": "datetime",
49
49
"type": "string"
50
50
},
51
51
"lastBookmarkFolderId": {
52
52
"maxLength": 64,
53
53
"nullable": true,
54
54
"type": "string"
55
55
},
56
56
"lastBookmarkFolderUpdatedAt": {
57
57
"format": "datetime",
58
58
"type": "string"
59
59
},
60
+
"moderationPreferences": {
61
+
"ref": "com.suibari.nagi.getPreferences#moderationPreferences",
62
+
"type": "ref"
63
+
},
64
+
"moderationPreferencesUpdatedAt": {
65
+
"format": "datetime",
66
+
"type": "string"
67
+
},
60
68
"preferredName": {
61
69
"description": "botたんに呼んでほしい名前。空文字を送ると登録を解除し、表示名に戻す。送らなければ変更しない。",
62
70
"maxGraphemes": 40,
63
71
"maxLength": 120,
64
72
"type": "string"
65
73
},
66
74
"readPositions": {
67
75
"items": {
68
76
"ref": "com.suibari.nagi.getPreferences#readPosition",
69
77
"type": "ref"
70
78
},
71
79
"maxLength": 16,
72
80
"type": "array"
73
81
},
74
82
"replyFreq": {
75
83
"description": "botたんからの返信確率(0〜100%)。送らなければ変更しない。",
76
84
"maximum": 100,
77
85
"minimum": 0,
78
86
"type": "integer"
79
87
}
80
88
},
81
89
"type": "object"
82
90
}
83
91
},
84
92
"output": {
85
93
"encoding": "application/json",
86
94
"schema": {
87
95
"properties": {
88
96
"emojiFavorites": {
89
97
"items": {
90
98
"type": "unknown"
91
99
},
92
100
"maxLength": 32,
93
101
"type": "array"
94
102
},
95
103
"emojiFavoritesUpdatedAt": {
96
104
"format": "datetime",
97
105
"type": "string"
98
106
},
99
107
"feedTabs": {
100
108
"items": {
101
109
"ref": "com.suibari.nagi.getPreferences#feedTab",
102
110
"type": "ref"
103
111
},
104
112
"maxLength": 16,
105
113
"type": "array"
106
114
},
107
115
"feedTabsUpdatedAt": {
108
116
"format": "datetime",
109
117
"type": "string"
110
118
},
111
119
"languagePreferences": {
112
120
"ref": "com.suibari.nagi.getPreferences#languagePreferences",
113
121
"type": "ref"
114
122
},
115
123
"languagePreferencesUpdatedAt": {
116
124
"format": "datetime",
117
125
"type": "string"
118
126
},
119
127
"lastBookmarkFolderId": {
120
128
"maxLength": 64,
121
129
"type": "string"
122
130
},
123
131
"lastBookmarkFolderUpdatedAt": {
124
132
"format": "datetime",
125
133
"type": "string"
126
134
},
135
+
"moderationPreferences": {
136
+
"ref": "com.suibari.nagi.getPreferences#moderationPreferences",
137
+
"type": "ref"
138
+
},
139
+
"moderationPreferencesUpdatedAt": {
140
+
"format": "datetime",
141
+
"type": "string"
142
+
},
127
143
"preferredName": {
128
144
"description": "botたんに呼んでほしい名前。省略時は未設定=表示名で呼ばれる。",
129
145
"maxGraphemes": 40,
130
146
"maxLength": 120,
131
147
"type": "string"
132
148
},
133
149
"readPositions": {
134
150
"description": "マージ後の確定値。送った位置が負けた場合は保存済みの方が返る。",
135
151
"items": {
136
152
"ref": "com.suibari.nagi.getPreferences#readPosition",
137
153
"type": "ref"
138
154
},
139
155
"type": "array"
140
156
},
141
157
"replyFreq": {
142
158
"description": "botたんからの返信確率(0〜100%)。",
143
159
"maximum": 100,
144
160
"minimum": 0,
145
161
"type": "integer"
146
162
}
147
163
},
148
164
"required": [
149
165
"readPositions",
150
166
"emojiFavorites"
151
167
],
152
168
"type": "object"
153
169
}
154
170
},
155
171
"type": "procedure"
156
172
}
157
173
},
158
174
"id": "com.suibari.nagi.putPreferences",
159
175
"lexicon": 1
160
176
}