mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-12-11 00:02:19 -05:00
39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
|
|
||
|
// Unset someone with a teacher role. Remove trial requests, set role to student or nothing
|
||
|
// depending on if they're in any classrooms.
|
||
|
|
||
|
// Usage
|
||
|
// ---------------
|
||
|
// In mongo shell
|
||
|
//
|
||
|
// > db.loadServerScripts();
|
||
|
// > deteacher('some@email.com');
|
||
|
|
||
|
var deteacher = function deteacher(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);
|
||
|
var trialRequests = db.trial.requests.find({applicant: user._id}).toArray();
|
||
|
for (var index in trialRequests) {
|
||
|
var trialRequest = trialRequests[index];
|
||
|
print('Delete trial request', JSON.stringify(trialRequest, null, ' '), db.trial.requests.remove({_id: trialRequest._id}, true));
|
||
|
}
|
||
|
var classroomCount = db.classrooms.count({members: user._id});
|
||
|
if (classroomCount > 0) {
|
||
|
print('Set to student', db.users.update({_id: user._id}, {$set: {role: 'student'}}));
|
||
|
}
|
||
|
else {
|
||
|
print('Unset role', db.users.update({_id: user._id}, {$unset: {role: ''}}));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
db.system.js.save(
|
||
|
{
|
||
|
_id: 'deteacher',
|
||
|
value: deteacher
|
||
|
}
|
||
|
)
|