2014-04-12 13:51:02 -04:00
|
|
|
c = require './../schemas'
|
2014-04-12 04:35:56 -04:00
|
|
|
|
|
|
|
LevelFeedbackLevelSchema = c.object {required: ['original', 'majorVersion']}, {
|
|
|
|
original: c.objectId({})
|
|
|
|
majorVersion: {type: 'integer', minimum: 0, default: 0}}
|
|
|
|
|
|
|
|
LevelFeedbackSchema = c.object {
|
2014-06-30 22:16:26 -04:00
|
|
|
title: 'Feedback'
|
|
|
|
description: 'Feedback on a level.'
|
2014-04-12 04:35:56 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
_.extend LevelFeedbackSchema.properties,
|
|
|
|
# denormalization
|
2014-06-30 22:16:26 -04:00
|
|
|
creatorName: {type: 'string'}
|
|
|
|
levelName: {type: 'string'}
|
|
|
|
levelID: {type: 'string'}
|
|
|
|
|
|
|
|
creator: c.objectId(links: [{rel: 'extra', href: '/db/user/{($)}'}])
|
|
|
|
created: c.date({title: 'Created', readOnly: true})
|
2014-04-12 04:35:56 -04:00
|
|
|
|
|
|
|
level: LevelFeedbackLevelSchema
|
2014-06-30 22:16:26 -04:00
|
|
|
rating: {type: 'number', minimum: 1, maximum: 5}
|
|
|
|
review: {type: 'string'}
|
2014-04-12 04:35:56 -04:00
|
|
|
|
|
|
|
c.extendBasicProperties LevelFeedbackSchema, 'level.feedback'
|
|
|
|
|
|
|
|
module.exports = LevelFeedbackSchema
|