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