mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-14 07:00:01 -04:00
Add script for unsettings a user's student role
This commit is contained in:
parent
fa1143e599
commit
de567c6570
1 changed files with 52 additions and 0 deletions
52
scripts/mongodb/stored/destudent.js
Normal file
52
scripts/mongodb/stored/destudent.js
Normal file
|
@ -0,0 +1,52 @@
|
|||
|
||||
// Unset someone with a student role. Remove from classrooms, unset role.
|
||||
|
||||
// Usage
|
||||
// ---------------
|
||||
// In mongo shell
|
||||
//
|
||||
// > db.loadServerScripts();
|
||||
// > destudent('some@email.com');
|
||||
|
||||
var destudent = function destudent(email) {
|
||||
var user = db.users.findOne({emailLower: email.toLowerCase()});
|
||||
if (!user) {
|
||||
print('User not found');
|
||||
return;
|
||||
}
|
||||
print('Found user', user.name, user.email, user.role, user._id);
|
||||
if (user.role !== 'student') {
|
||||
print('User is not a student.');
|
||||
return;
|
||||
}
|
||||
|
||||
print('Removing from classrooms',
|
||||
db.classrooms.update(
|
||||
{members: user._id},
|
||||
{$pull: {members: user._id}},
|
||||
{multi: true}
|
||||
)
|
||||
);
|
||||
|
||||
print('Removing from course instances',
|
||||
db.course.instances.update(
|
||||
{members: user._id},
|
||||
{$pull: {members: user._id}},
|
||||
{multi: true}
|
||||
)
|
||||
);
|
||||
|
||||
print('Unsetting role',
|
||||
db.users.update(
|
||||
{_id: user._id},
|
||||
{$unset: {role: ''}}
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
db.system.js.save(
|
||||
{
|
||||
_id: 'destudent',
|
||||
value: destudent
|
||||
}
|
||||
);
|
Loading…
Reference in a new issue