mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-01 15:50:11 -04:00
Refactored the get user achievements
This commit is contained in:
parent
0f1c59f2d5
commit
2003b37343
2 changed files with 10 additions and 11 deletions
server
|
@ -9,14 +9,4 @@ class EarnedAchievementHandler extends Handler
|
|||
hasAccess: (req) ->
|
||||
req.method is 'GET'
|
||||
|
||||
getByRelationship: (req, res, related, id) ->
|
||||
switch related
|
||||
when 'user'
|
||||
query = @modelClass.find({user: new mongoose.Types.ObjectId(id)})
|
||||
query.exec (err, documents) =>
|
||||
return @sendDatabaseError(res, err) if err?
|
||||
documents = (@formatEntity(req, doc) for doc in documents)
|
||||
@sendSuccess(res, documents)
|
||||
else return @sendNotFoundError(res)
|
||||
|
||||
module.exports = new EarnedAchievementHandler()
|
||||
module.exports = new EarnedAchievementHandler()
|
||||
|
|
|
@ -10,6 +10,7 @@ async = require 'async'
|
|||
log = require 'winston'
|
||||
LevelSession = require('../levels/sessions/LevelSession')
|
||||
LevelSessionHandler = require '../levels/sessions/level_session_handler'
|
||||
EarnedAchievement = require '../achievements/earned_achievement_handler'
|
||||
|
||||
serverProperties = ['passwordHash', 'emailLower', 'nameLower', 'passwordReset']
|
||||
privateProperties = [
|
||||
|
@ -192,6 +193,7 @@ UserHandler = class UserHandler extends Handler
|
|||
return @getCandidates(req, res) if args[1] is 'candidates'
|
||||
return @getSimulatorLeaderboard(req, res, args[0]) if args[1] is 'simulatorLeaderboard'
|
||||
return @getMySimulatorLeaderboardRank(req, res, args[0]) if args[1] is 'simulator_leaderboard_rank'
|
||||
return @getEarnedAchievements(req, res, args[0]) if args[1] is 'achievements'
|
||||
return @sendNotFoundError(res)
|
||||
super(arguments...)
|
||||
|
||||
|
@ -235,6 +237,13 @@ UserHandler = class UserHandler extends Handler
|
|||
documents = (LevelSessionHandler.formatEntity(req, doc) for doc in documents)
|
||||
@sendSuccess(res, documents)
|
||||
|
||||
getEarnedAchievements: (req, res, userID) ->
|
||||
query = EarnedAchievement.find(user: userID)
|
||||
query.exec (err, documents) =>
|
||||
return @sendDatabaseError(res, err) if err?
|
||||
documents = (@formatEntity(req, doc) for doc in documents)
|
||||
@sendSuccess(res, documents)
|
||||
|
||||
agreeToEmployerAgreement: (req, res) ->
|
||||
userIsAnonymous = req.user?.get('anonymous')
|
||||
if userIsAnonymous then return errors.unauthorized(res, "You need to be logged in to agree to the employer agreeement.")
|
||||
|
|
Loading…
Add table
Reference in a new issue