The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/server/startup/migrations/v208.js

41 lines
702 B

import Future from 'fibers/future';
import { Migrations } from '../../../app/migrations';
import { Users, Sessions } from '../../../app/models/server/raw';
async function migrateSessions(fut) {
const cursor = Users.find({ roles: 'anonymous' }, { projection: { _id: 1 } });
if (!cursor) {
return;
}
const users = await cursor.toArray();
if (users.length === 0) {
fut.return();
return;
}
const userIds = users.map(({ _id }) => _id);
Sessions.update({
userId: { $in: userIds },
}, {
$set: {
roles: ['anonymous'],
},
}, {
multi: true,
});
fut.return();
}
Migrations.add({
version: 208,
up() {
const fut = new Future();
migrateSessions(fut);
fut.wait();
},
});