128 lines
3.7 KiB
Text
128 lines
3.7 KiB
Text
// Simplest case of migrating m.direct, where the new user doesn't have a
|
|
// m.direct event so no merge logic is necessary.
|
|
{
|
|
"rooms": {
|
|
// User A has three DMs
|
|
|
|
// One DM that both old and new users are in
|
|
"!dm-1-with-user-a:example.com": [
|
|
{
|
|
"type": "m.room.member",
|
|
"state_key": "@old:example.com",
|
|
"content": {
|
|
"membership": "join"
|
|
}
|
|
},
|
|
{
|
|
"type": "m.room.member",
|
|
"state_key": "@new:example.com",
|
|
"content": {
|
|
"membership": "join"
|
|
}
|
|
},
|
|
{
|
|
"type": "m.room.member",
|
|
"state_key": "@user-a:example.com",
|
|
"content": {
|
|
"membership": "join"
|
|
}
|
|
}
|
|
],
|
|
// One with only old user, which the new user will join in migration
|
|
"!dm-2-with-user-a:example.com": [
|
|
{
|
|
"type": "m.room.member",
|
|
"state_key": "@old:example.com",
|
|
"content": {
|
|
"membership": "join"
|
|
}
|
|
},
|
|
{
|
|
"type": "m.room.member",
|
|
"state_key": "@user-a:example.com",
|
|
"content": {
|
|
"membership": "join"
|
|
}
|
|
}
|
|
],
|
|
// And one with only the new user
|
|
"!dm-3-with-user-a:example.com": [
|
|
{
|
|
"type": "m.room.member",
|
|
"state_key": "@new:example.com",
|
|
"content": {
|
|
"membership": "join"
|
|
}
|
|
},
|
|
{
|
|
"type": "m.room.member",
|
|
"state_key": "@user-a:example.com",
|
|
"content": {
|
|
"membership": "join"
|
|
}
|
|
}
|
|
],
|
|
|
|
// A old user only DM with user B.
|
|
"!dm-with-user-b:example.com": [
|
|
{
|
|
"type": "m.room.member",
|
|
"state_key": "@old:example.com",
|
|
"content": {
|
|
"membership": "join"
|
|
}
|
|
},
|
|
{
|
|
"type": "m.room.member",
|
|
"state_key": "@user-a:example.com",
|
|
"content": {
|
|
"membership": "join"
|
|
}
|
|
}
|
|
],
|
|
|
|
// A new user only DM with user C.
|
|
"!dm-with-user-c:example.com": [
|
|
{
|
|
"type": "m.room.member",
|
|
"state_key": "@old:example.com",
|
|
"content": {
|
|
"membership": "join"
|
|
}
|
|
},
|
|
{
|
|
"type": "m.room.member",
|
|
"state_key": "@user-a:example.com",
|
|
"content": {
|
|
"membership": "join"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"old_user": {
|
|
"user_id": "@old:example.com",
|
|
|
|
"global_account_data": {
|
|
"m.direct": {
|
|
"@user-a:example.com": [
|
|
"!dm-1-with-user-a:example.com",
|
|
"!dm-2-with-user-a:example.com"
|
|
],
|
|
"@user-b:example.com": [ "!dm-with-user-b:example.com" ]
|
|
}
|
|
}
|
|
},
|
|
"new_user": {
|
|
"user_id": "@new:example.com",
|
|
|
|
"global_account_data": {
|
|
"m.direct": {
|
|
"@user-a:example.com": [
|
|
"!dm-1-with-user-a:example.com",
|
|
"!dm-3-with-user-a:example.com"
|
|
],
|
|
"@user-c:example.com": [ "!dm-with-user-c:example.com" ]
|
|
}
|
|
}
|
|
}
|
|
}
|