fyi.atstore.reviews.listForListing
Schema Diff
+11 -5
Compatibility Analysis
Breaking Changes Detected
4 breaking changes, 0 non-breaking changes.
Breaking Changes (4)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.reviews.listForListing#listingReviewView", src: "fyi.atstore.reviews.listForListing#listingReviewView", tgt: "fyi.atstore.reviews.listForListing#listingReviewView.text", kind: "prop", name: Some("text") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.reviews.listForListing#listingReviewView", src: "fyi.atstore.reviews.listForListing#listingReviewView", tgt: "fyi.atstore.reviews.listForListing#listingReviewView.authorAvatarUrl", kind: "prop", name: Some("authorAvatarUrl") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.reviews.listForListing#listingReviewView", src: "fyi.atstore.reviews.listForListing#listingReviewView", tgt: "fyi.atstore.reviews.listForListing#listingReviewView.authorDisplayName", kind: "prop", name: Some("authorDisplayName") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.reviews.listForListing#listingReviewView", src: "fyi.atstore.reviews.listForListing#listingReviewView", tgt: "fyi.atstore.reviews.listForListing#listingReviewView.authorHandle", kind: "prop", name: Some("authorHandle") }
Migration Guidance
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.reviews.listForListing#listingReviewView", src: "fyi.atstore.reviews.listForListing#listingReviewView", tgt: "fyi.atstore.reviews.listForListing#listingReviewView.text", kind: "prop", name: Some("text") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.reviews.listForListing#listingReviewView", src: "fyi.atstore.reviews.listForListing#listingReviewView", tgt: "fyi.atstore.reviews.listForListing#listingReviewView.authorAvatarUrl", kind: "prop", name: Some("authorAvatarUrl") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.reviews.listForListing#listingReviewView", src: "fyi.atstore.reviews.listForListing#listingReviewView", tgt: "fyi.atstore.reviews.listForListing#listingReviewView.authorDisplayName", kind: "prop", name: Some("authorDisplayName") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.reviews.listForListing#listingReviewView", src: "fyi.atstore.reviews.listForListing#listingReviewView", tgt: "fyi.atstore.reviews.listForListing#listingReviewView.authorHandle", kind: "prop", name: Some("authorHandle") }
1
1
{
2
2
"id": "fyi.atstore.reviews.listForListing",
3
3
"defs": {
4
4
"main": {
5
5
"type": "query",
6
6
"errors": [
7
7
{
8
8
"name": "ListingNotFound"
9
9
},
10
10
{
11
11
"name": "InvalidParams"
12
12
},
13
13
{
14
14
"name": "InvalidCursor"
15
15
}
16
16
],
17
17
"output": {
18
18
"schema": {
19
19
"type": "object",
20
20
"required": [
21
21
"reviews"
22
22
],
23
23
"properties": {
24
24
"cursor": {
25
25
"type": "string",
26
26
"maxLength": 512
27
27
},
28
28
"reviews": {
29
29
"type": "array",
30
30
"items": {
31
31
"ref": "#listingReviewView",
32
32
"type": "ref"
33
33
}
34
34
}
35
35
}
36
36
},
37
37
"encoding": "application/json"
38
38
},
39
39
"parameters": {
40
40
"type": "params",
41
41
"required": [
42
42
"uri"
43
43
],
44
44
"properties": {
45
45
"uri": {
46
46
"type": "string",
47
47
"format": "at-uri",
48
48
"maxLength": 2560,
49
49
"description": "AT URI of the fyi.atstore.listing.detail record."
50
50
},
51
51
"limit": {
52
52
"type": "integer",
53
53
"default": 50,
54
54
"maximum": 100,
55
55
"minimum": 1
56
56
},
57
57
"cursor": {
58
58
"type": "string",
59
59
"maxLength": 512
60
60
}
61
61
}
62
62
},
63
63
"description": "List reviews for a directory listing (mirrored Tap data plus profile enrichment)."
64
64
},
65
65
"listingReviewView": {
66
66
"type": "object",
67
+
"nullable": [
68
+
"text",
69
+
"authorDisplayName",
70
+
"authorHandle",
71
+
"authorAvatarUrl"
72
+
],
67
73
"required": [
68
74
"id",
69
75
"authorDid",
70
76
"rating",
71
77
"reviewCreatedAt",
72
78
"replyCount",
73
-
"canReply"
79
+
"canReply",
80
+
"text",
81
+
"authorDisplayName",
82
+
"authorHandle",
83
+
"authorAvatarUrl"
74
84
],
75
85
"properties": {
76
86
"id": {
77
87
"type": "string",
78
88
"maxLength": 64
79
89
},
80
90
"text": {
81
91
"type": "string",
82
-
"nullable": true,
83
92
"maxLength": 8000
84
93
},
85
94
"rating": {
86
95
"type": "integer",
87
96
"maximum": 5,
88
97
"minimum": 1
89
98
},
90
99
"canReply": {
91
100
"type": "boolean"
92
101
},
93
102
"authorDid": {
94
103
"type": "string",
95
104
"format": "did",
96
105
"maxLength": 2048
97
106
},
98
107
"replyCount": {
99
108
"type": "integer"
100
109
},
101
110
"authorHandle": {
102
111
"type": "string",
103
-
"nullable": true,
104
112
"maxLength": 512
105
113
},
106
114
"authorAvatarUrl": {
107
115
"type": "string",
108
-
"nullable": true,
109
116
"maxLength": 8192
110
117
},
111
118
"reviewCreatedAt": {
112
119
"type": "string",
113
120
"format": "datetime",
114
121
"maxLength": 64
115
122
},
116
123
"authorDisplayName": {
117
124
"type": "string",
118
-
"nullable": true,
119
125
"maxLength": 640
120
126
}
121
127
}
122
128
}
123
129
},
124
130
"$type": "com.atproto.lexicon.schema",
125
131
"lexicon": 1
126
132
}