2016-04-07 09:40:53 -07:00
|
|
|
LevelSystem = require './../models/LevelSystem'
|
|
|
|
Handler = require '../commons/Handler'
|
2014-01-03 10:32:13 -08:00
|
|
|
|
|
|
|
LevelSystemHandler = class LevelSystemHandler extends Handler
|
|
|
|
modelClass: LevelSystem
|
|
|
|
editableProperties: [
|
|
|
|
'description'
|
|
|
|
'code'
|
|
|
|
'js'
|
2014-06-09 12:26:47 +02:00
|
|
|
'codeLanguage'
|
2014-01-03 10:32:13 -08:00
|
|
|
'dependencies'
|
|
|
|
'propertyDocumentation'
|
|
|
|
'configSchema'
|
|
|
|
]
|
|
|
|
postEditableProperties: ['name']
|
2016-04-07 09:40:53 -07:00
|
|
|
jsonSchema: require '../../app/schemas/models/level_system'
|
2014-01-03 10:32:13 -08:00
|
|
|
|
|
|
|
getEditableProperties: (req, document) ->
|
|
|
|
props = super(req, document)
|
|
|
|
props.push('official') if req.user?.isAdmin()
|
|
|
|
props
|
|
|
|
|
|
|
|
hasAccess: (req) ->
|
2015-02-25 18:41:39 -08:00
|
|
|
req.method is 'GET' or req.user?.isAdmin() or req.user?.isArtisan()
|
2014-01-03 10:32:13 -08:00
|
|
|
|
2015-06-14 12:49:45 -07:00
|
|
|
hasAccessToDocument: (req, document, method) ->
|
|
|
|
if req.user?.isArtisan() then true else super req, document, method
|
|
|
|
|
2014-01-03 10:32:13 -08:00
|
|
|
|
|
|
|
module.exports = new LevelSystemHandler()
|