Admins can now post achievements

This commit is contained in:
Ruben Vereecken 2014-05-18 16:04:50 +02:00
parent 967e698cb2
commit ab13340ec7
4 changed files with 13 additions and 3 deletions

View file

@ -10,4 +10,4 @@ AchievementSchema = new mongoose.Schema({
query: Object
}, {strict: false})
module.exports = Achievement = mongoose.model('achievement', AchievementSchema)
module.exports = Achievement = mongoose.model('Achievement', AchievementSchema)

View file

@ -8,6 +8,12 @@ EarnedAchievementSchema = new mongoose.Schema({
notified:
type: Boolean
default: false
user:
type: mongoose.Schema.Types.ObjectId
ref: 'User'
achievement:
type: mongoose.Schema.Types.ObjectId
ref: 'Achievement'
}, {strict:false})
module.exports = EarnedAchievement = mongoose.model('earned_achievement', EarnedAchievementSchema)
module.exports = EarnedAchievement = mongoose.model('EarnedAchievement', EarnedAchievementSchema)

View file

@ -4,8 +4,13 @@ Handler = require '../commons/Handler'
class AchievementHandler extends Handler
modelClass: Achievement
# Used to determine which properties requests may edit
editableProperties: ['name', 'query', 'worth', 'model', 'description', 'userField', 'proportionalTo']
jsonSchema = require '../../app/schemas/models/achievement.coffee'
hasAccess: (req) ->
req.method is 'GET' or req.user?.isAdmin()
getAll: (req, res) ->
query = @modelClass.find({})
query.exec (err, documents) =>

View file

@ -30,7 +30,6 @@ module.exports.setup = (app) ->
try
moduleName = module.replace '.', '_'
name = handlers[moduleName]
console.log parts
handler = require('../' + name)
return handler.getLatestVersion(req, res, parts[1], parts[3]) if parts[2] is 'version'
return handler.versions(req, res, parts[1]) if parts[2] is 'versions'