codecombat/app/schemas/models/course.schema.coffee

20 lines
893 B
CoffeeScript
Raw Normal View History

2015-08-29 10:15:35 -04:00
c = require './../schemas'
CourseSchema = c.object {title: 'Course', required: ['name']}
c.extendNamedProperties CourseSchema # name first
_.extend CourseSchema.properties,
campaignID: c.objectId()
concepts: c.array {title: 'Programming Concepts', uniqueItems: true}, c.concept
description: {type: 'string'}
2015-09-25 18:28:43 -04:00
duration: {type: 'number', description: 'Approximate hours of content'}
pricePerSeat: {type: 'number', description: 'Price per seat in USD cents.'} # deprecated
free: { type: 'boolean' }
2015-08-29 10:15:35 -04:00
screenshot: c.url {title: 'URL', description: 'Link to course screenshot.'}
adminOnly: { type: 'boolean', description: 'Deprecated in favor of releasePhase.' }
releasePhase: { type: {enum: ['beta', 'released'] }, description: "How far along the course's development is, determining who sees it." }
2015-08-29 10:15:35 -04:00
c.extendBasicProperties CourseSchema, 'Course'
module.exports = CourseSchema