social.colibri.community.migrate
Schema Diff
+2 -6
Compatibility Analysis
Backward Compatible
No changes detected.
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"channelMapping": {
5
5
"description": "A single channel's old AT-URI mapped to its new AT-URI.",
6
6
"properties": {
7
7
"new": {
8
8
"format": "at-uri",
9
9
"type": "string"
10
10
},
11
11
"old": {
12
12
"format": "at-uri",
13
13
"type": "string"
14
14
}
15
15
},
16
16
"required": [
17
17
"old",
18
18
"new"
19
19
],
20
20
"type": "object"
21
21
},
22
22
"main": {
23
23
"description": "Migrates a source record into a fresh community, cloning its structure and importing its members. The 'kind' discriminator selects the migration; today only legacy communities are supported, but the endpoint is designed to host future migrations. Provisioning mirrors community.create (managed when no PDS credentials are supplied, bring-your-own otherwise).",
24
24
"input": {
25
-
"description": "Optional replacement community picture image bytes.",
26
-
"encoding": "*/*"
25
+
"description": "Optional replacement community picture blob, as a `picture` part. Migrated communities have no banner.",
26
+
"encoding": "multipart/form-data"
27
27
},
28
28
"output": {
29
29
"encoding": "application/json",
30
30
"schema": {
31
31
"properties": {
32
32
"channelMap": {
33
33
"description": "Maps each cloned channel from its old AT-URI to its new AT-URI.",
34
34
"items": {
35
35
"ref": "lex:social.colibri.community.migrate#channelMapping",
36
36
"type": "ref"
37
37
},
38
38
"type": "array"
39
39
},
40
40
"community": {
41
41
"format": "at-uri",
42
42
"type": "string"
43
43
},
44
44
"did": {
45
45
"format": "did",
46
46
"type": "string"
47
47
}
48
48
},
49
49
"required": [
50
50
"did",
51
51
"community",
52
52
"channelMap"
53
53
],
54
54
"type": "object"
55
55
}
56
56
},
57
57
"parameters": {
58
58
"properties": {
59
59
"description": {
60
60
"type": "string"
61
61
},
62
62
"identifier": {
63
63
"description": "Bring-your-own DID or handle.",
64
64
"type": "string"
65
65
},
66
66
"kind": {
67
67
"description": "The migration to run. 'legacy-community' migrates a pre-rework community record.",
68
68
"knownValues": [
69
69
"legacy-community"
70
70
],
71
-
"type": "string"
72
-
},
73
-
"mimeType": {
74
-
"description": "MIME type of the picture body, if provided.",
75
71
"type": "string"
76
72
},
77
73
"name": {
78
74
"type": "string"
79
75
},
80
76
"password": {
81
77
"description": "Bring-your-own account password.",
82
78
"type": "string"
83
79
},
84
80
"pds": {
85
81
"description": "Bring-your-own PDS endpoint.",
86
82
"type": "string"
87
83
},
88
84
"requiresApprovalToJoin": {
89
85
"type": "boolean"
90
86
},
91
87
"source": {
92
88
"description": "The record being migrated (e.g. the legacy community).",
93
89
"format": "at-uri",
94
90
"type": "string"
95
91
}
96
92
},
97
93
"required": [
98
94
"kind",
99
95
"source"
100
96
],
101
97
"type": "params"
102
98
},
103
99
"type": "procedure"
104
100
}
105
101
},
106
102
"id": "social.colibri.community.migrate",
107
103
"lexicon": 1
108
104
}