com.getorbyt.community.createReport
Schema Diff
+24 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 6 non-breaking changes.
Non-Breaking Changes (6)
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.createReport:input.details" }
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.createReport:input.reasonType" }
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.createReport:input.ruleIndex" }
- AddedEdge AddedEdge { src: "com.getorbyt.community.createReport:input", tgt: "com.getorbyt.community.createReport:input.details", kind: "prop", name: Some("details") }
- AddedEdge AddedEdge { src: "com.getorbyt.community.createReport:input", tgt: "com.getorbyt.community.createReport:input.reasonType", kind: "prop", name: Some("reasonType") }
- AddedEdge AddedEdge { src: "com.getorbyt.community.createReport:input", tgt: "com.getorbyt.community.createReport:input.ruleIndex", kind: "prop", name: Some("ruleIndex") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.getorbyt.community.createReport:input.details" }AddedVertex { vertex_id: "com.getorbyt.community.createReport:input.reasonType" }AddedVertex { vertex_id: "com.getorbyt.community.createReport:input.ruleIndex" }
Additional Notes
- Non-breaking: AddedEdge { src: "com.getorbyt.community.createReport:input", tgt: "com.getorbyt.community.createReport:input.details", kind: "prop", name: Some("details") }
- Non-breaking: AddedEdge { src: "com.getorbyt.community.createReport:input", tgt: "com.getorbyt.community.createReport:input.reasonType", kind: "prop", name: Some("reasonType") }
- Non-breaking: AddedEdge { src: "com.getorbyt.community.createReport:input", tgt: "com.getorbyt.community.createReport:input.ruleIndex", kind: "prop", name: Some("ruleIndex") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Creates a private Community-moderator report for a linked post. Requires authenticated service authorization.",
6
6
"errors": [
7
7
{
8
8
"name": "AuthenticationRequired"
9
9
},
10
10
{
11
11
"name": "CommunityNotFound"
12
12
},
13
13
{
14
14
"name": "PostNotFound"
15
15
},
16
16
{
17
17
"name": "RateLimitExceeded"
18
18
},
19
19
{
20
20
"name": "InvalidRequest"
21
+
},
22
+
{
23
+
"name": "RuleNotFound"
21
24
}
22
25
],
23
26
"input": {
24
27
"encoding": "application/json",
25
28
"schema": {
26
29
"properties": {
27
30
"community": {
28
31
"format": "at-uri",
29
32
"type": "string"
30
33
},
34
+
"details": {
35
+
"description": "Anything the reporter wants moderators to know.",
36
+
"maxLength": 2000,
37
+
"type": "string"
38
+
},
31
39
"post": {
32
40
"format": "at-uri",
33
41
"type": "string"
34
42
},
35
43
"reason": {
44
+
"description": "Human-readable reason, shown by builds that do not read reasonType.",
36
45
"maxLength": 2000,
37
46
"minLength": 1,
38
47
"type": "string"
48
+
},
49
+
"reasonType": {
50
+
"knownValues": [
51
+
"rule",
52
+
"spam",
53
+
"harassment",
54
+
"unsafe",
55
+
"other"
56
+
],
57
+
"type": "string"
58
+
},
59
+
"ruleIndex": {
60
+
"description": "With reasonType rule: the position of the broken rule in the Community's rules.",
61
+
"minimum": 0,
62
+
"type": "integer"
39
63
}
40
64
},
41
65
"required": [
42
66
"community",
43
67
"post",
44
68
"reason"
45
69
],
46
70
"type": "object"
47
71
}
48
72
},
49
73
"output": {
50
74
"encoding": "application/json",
51
75
"schema": {
52
76
"properties": {
53
77
"created": {
54
78
"type": "boolean"
55
79
},
56
80
"report": {
57
81
"ref": "com.getorbyt.community.defs#reportView",
58
82
"type": "ref"
59
83
}
60
84
},
61
85
"required": [
62
86
"report",
63
87
"created"
64
88
],
65
89
"type": "object"
66
90
}
67
91
},
68
92
"type": "procedure"
69
93
}
70
94
},
71
95
"id": "com.getorbyt.community.createReport",
72
96
"lexicon": 1
73
97
}