com.suibari.nagi.getRadioTrack
Schema Diff
+16 -2
Compatibility Analysis
Breaking Changes Detected
3 breaking changes, 4 non-breaking changes.
Breaking Changes (3)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.suibari.nagi.getRadioTrack#track", src: "com.suibari.nagi.getRadioTrack#track", tgt: "com.suibari.nagi.getRadioTrack#track.songUrl", kind: "prop", name: Some("songUrl") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.suibari.nagi.getRadioTrack#track", src: "com.suibari.nagi.getRadioTrack#track", tgt: "com.suibari.nagi.getRadioTrack#track.thumbnailUrl", kind: "prop", name: Some("thumbnailUrl") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "com.suibari.nagi.getRadioTrack#track", src: "com.suibari.nagi.getRadioTrack#track", tgt: "com.suibari.nagi.getRadioTrack#track.videoId", kind: "prop", name: Some("videoId") }
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "com.suibari.nagi.getRadioTrack#track.songUrl" }
- AddedVertex AddedVertex { vertex_id: "com.suibari.nagi.getRadioTrack#track.thumbnailUrl" }
- AddedVertex AddedVertex { vertex_id: "com.suibari.nagi.getRadioTrack:output.unreadSlotKey" }
- AddedEdge AddedEdge { src: "com.suibari.nagi.getRadioTrack:output", tgt: "com.suibari.nagi.getRadioTrack:output.unreadSlotKey", kind: "prop", name: Some("unreadSlotKey") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.suibari.nagi.getRadioTrack#track.songUrl" }AddedVertex { vertex_id: "com.suibari.nagi.getRadioTrack#track.thumbnailUrl" }AddedVertex { vertex_id: "com.suibari.nagi.getRadioTrack:output.unreadSlotKey" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "com.suibari.nagi.getRadioTrack#track", src: "com.suibari.nagi.getRadioTrack#track", tgt: "com.suibari.nagi.getRadioTrack#track.songUrl", kind: "prop", name: Some("songUrl") }
- Breaking: RequiredEdgeAdded { vertex_id: "com.suibari.nagi.getRadioTrack#track", src: "com.suibari.nagi.getRadioTrack#track", tgt: "com.suibari.nagi.getRadioTrack#track.thumbnailUrl", kind: "prop", name: Some("thumbnailUrl") }
- Breaking: RequiredEdgeRemoved { vertex_id: "com.suibari.nagi.getRadioTrack#track", src: "com.suibari.nagi.getRadioTrack#track", tgt: "com.suibari.nagi.getRadioTrack#track.videoId", kind: "prop", name: Some("videoId") }
- Non-breaking: AddedEdge { src: "com.suibari.nagi.getRadioTrack:output", tgt: "com.suibari.nagi.getRadioTrack:output.unreadSlotKey", kind: "prop", name: Some("unreadSlotKey") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "認証した本人の現在のbotたんラジオ曲と未読状態。",
6
6
"output": {
7
7
"encoding": "application/json",
8
8
"schema": {
9
9
"properties": {
10
10
"hasUnread": {
11
11
"type": "boolean"
12
12
},
13
13
"track": {
14
14
"ref": "#track",
15
15
"type": "ref"
16
+
},
17
+
"unreadSlotKey": {
18
+
"type": "string"
16
19
}
17
20
},
18
21
"required": [
19
22
"hasUnread"
20
23
],
21
24
"type": "object"
22
25
}
23
26
},
24
27
"type": "query"
25
28
},
26
29
"track": {
27
30
"properties": {
28
31
"artist": {
29
32
"type": "string"
30
33
},
31
34
"comment": {
32
35
"type": "string"
33
36
},
34
37
"commentEn": {
35
38
"type": "string"
36
39
},
37
40
"commentJa": {
38
41
"type": "string"
39
42
},
40
43
"publishedAt": {
41
44
"format": "datetime",
42
45
"type": "string"
43
46
},
44
47
"slotKey": {
45
48
"type": "string"
46
49
},
50
+
"songUrl": {
51
+
"description": "選曲した曲のページ。Last.fmまたは既存のYouTubeリンク。",
52
+
"format": "uri",
53
+
"type": "string"
54
+
},
47
55
"sourceUrl": {
48
56
"format": "uri",
49
57
"type": "string"
50
58
},
59
+
"thumbnailUrl": {
60
+
"description": "曲のジャケット画像。既存のYouTube履歴では動画サムネイル。",
61
+
"format": "uri",
62
+
"type": "string"
63
+
},
51
64
"title": {
52
65
"type": "string"
53
66
},
54
67
"videoId": {
55
68
"type": "string"
56
69
}
57
70
},
58
71
"required": [
59
72
"slotKey",
60
73
"title",
61
74
"artist",
62
75
"comment",
63
-
"videoId",
64
-
"publishedAt"
76
+
"publishedAt",
77
+
"songUrl",
78
+
"thumbnailUrl"
65
79
],
66
80
"type": "object"
67
81
}
68
82
},
69
83
"id": "com.suibari.nagi.getRadioTrack",
70
84
"lexicon": 1
71
85
}