mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-23 11:27:21 -04:00
Make fix-arena-sessions script run across all classrooms
This commit is contained in:
parent
3390663486
commit
10402fa945
1 changed files with 27 additions and 27 deletions
|
@ -2,33 +2,33 @@
|
|||
// Usage:
|
||||
// mongo <address>:<port>/<database> <script file> -u <username> -p <password>
|
||||
|
||||
// Set classroomID and levelSlug first before running!
|
||||
print('Loading levels...');
|
||||
var levels = [db.levels.findOne({slug: 'wakka-maul'}), db.levels.findOne({slug: 'cross-bones'})];
|
||||
print('Loaded');
|
||||
|
||||
var classroomID = ObjectId('568ac66d648b9e5100de0cca');
|
||||
var levelSlug = 'wakka-maul';
|
||||
db.classrooms.find({'aceConfig.language': 'javascript'}).forEach(function(classroom) {
|
||||
for (var l in levels) {
|
||||
var level = levels[l];
|
||||
print('----------------------------');
|
||||
print('Classroom:', classroom.name);
|
||||
print('Members:', classroom.members.length);
|
||||
print('Level:', level.name);
|
||||
|
||||
var classroom = db.classrooms.findOne({_id: classroomID});
|
||||
var level = db.levels.findOne({slug: levelSlug});
|
||||
|
||||
if(!classroom) { throw new Error('Classroom not found (should be an id)'); }
|
||||
if(!level) { throw new Error('Level not found (should be a slug)'); }
|
||||
|
||||
print('Classroom:', classroom.name);
|
||||
print('Members:', classroom.members.length);
|
||||
print('Level:', level.name);
|
||||
|
||||
for (var i in classroom.members) {
|
||||
var member = classroom.members[i];
|
||||
var sessions = db.level.sessions.find({'level.original': level.original+'', 'creator': member+''}).toArray();
|
||||
print(' user:', member);
|
||||
for (var j in sessions) {
|
||||
var session = sessions[j];
|
||||
print(' session:', session._id, 'has language', session.codeLanguage);
|
||||
if (session.codeLanguage === classroom.aceConfig.language) {
|
||||
print(' all is well');
|
||||
continue;
|
||||
for (var i in classroom.members) {
|
||||
var member = classroom.members[i];
|
||||
var sessions = db.level.sessions.find({'level.original': level.original+'', 'creator': member+''}).toArray();
|
||||
print(' user:', member);
|
||||
for (var j in sessions) {
|
||||
var session = sessions[j];
|
||||
print(' session:', session._id, 'has language', session.codeLanguage);
|
||||
if (session.codeLanguage === classroom.aceConfig.language) {
|
||||
print(' all is well');
|
||||
continue;
|
||||
}
|
||||
print(' updating language...');
|
||||
print(' ', db.level.sessions.update({_id: session._id}, {$set: {codeLanguage: classroom.aceConfig.language}}));
|
||||
}
|
||||
}
|
||||
}
|
||||
print(' updating language...');
|
||||
print(' ', db.level.sessions.update({_id: session._id}, {$set: {codeLanguage: classroom.aceConfig.language}}));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue