mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-27 09:35:39 -05:00
34 lines
1.2 KiB
CoffeeScript
34 lines
1.2 KiB
CoffeeScript
# Users can do this on their own on the account settings, so this script is for doing big batches of users.
|
|
|
|
database = require '../server/commons/database'
|
|
mongoose = require 'mongoose'
|
|
log = require 'winston'
|
|
async = require 'async'
|
|
|
|
### SET UP ###
|
|
do (setupLodash = this) ->
|
|
GLOBAL._ = require 'lodash'
|
|
_.str = require 'underscore.string'
|
|
_.mixin _.str.exports()
|
|
GLOBAL.tv4 = require('tv4').tv4
|
|
|
|
database.connect()
|
|
|
|
UserHandler = require '../server/handlers/user_handler'
|
|
User = require '../server/models/User'
|
|
|
|
userIDs = [
|
|
# Fill in userID strings here
|
|
]
|
|
|
|
User.find _id: {$in: (mongoose.Types.ObjectId(userID) for userID in userIDs)}, (err, users) ->
|
|
if users.length isnt userIDs.length
|
|
log.info "Only found #{users.length} users out of #{userIDs.length}. Got this right? Quitting conservatively."
|
|
process.exit()
|
|
log.info "Starting user progress reset for #{users.length} users..."
|
|
|
|
#async.parallel ((do(user) -> (cb) -> console.log("should reset progress for user: #{user._id}") or cb null) for user in users), (err) ->
|
|
async.parallel (((cb) -> UserHandler.constructor.resetProgressForUser(user, cb)) for user in users), (err) ->
|
|
log.error err if err?
|
|
log.info 'Finished resetting user accounts.' unless err?
|
|
process.exit()
|