2014-06-30 22:16:26 -04:00
|
|
|
LevelComponent = require './LevelComponent'
|
|
|
|
Handler = require '../../commons/Handler'
|
2014-01-03 13:32:13 -05:00
|
|
|
|
|
|
|
LevelComponentHandler = class LevelComponentHandler extends Handler
|
|
|
|
modelClass: LevelComponent
|
2014-04-12 13:51:02 -04:00
|
|
|
jsonSchema: require '../../../app/schemas/models/level_component'
|
2014-01-03 13:32:13 -05:00
|
|
|
editableProperties: [
|
|
|
|
'system'
|
|
|
|
'description'
|
|
|
|
'code'
|
|
|
|
'js'
|
2014-06-09 06:26:47 -04:00
|
|
|
'codeLanguage'
|
2014-01-03 13:32:13 -05:00
|
|
|
'dependencies'
|
|
|
|
'propertyDocumentation'
|
|
|
|
'configSchema'
|
2014-02-05 14:03:32 -05:00
|
|
|
'name'
|
2014-01-03 13:32:13 -05:00
|
|
|
]
|
|
|
|
|
|
|
|
getEditableProperties: (req, document) ->
|
|
|
|
props = super(req, document)
|
|
|
|
props.push('official') if req.user?.isAdmin()
|
|
|
|
props
|
|
|
|
|
|
|
|
hasAccess: (req) ->
|
2014-07-07 17:22:11 -04:00
|
|
|
req.method in ['GET', 'PUT'] or req.user?.isAdmin()
|
2014-01-03 13:32:13 -05:00
|
|
|
|
|
|
|
|
2014-06-09 06:26:47 -04:00
|
|
|
module.exports = new LevelComponentHandler()
|