codecombat/app/schemas/models/clan.schema.coffee
Matt Lott f80a73ae9b Decouple clan type from dashboard details
Adding dashboardType field, private clans automatically set this to
‘premium’.
2015-04-20 14:04:22 -07:00

21 lines
671 B
CoffeeScript

c = require './../schemas'
# TODO: Require name to be non-empty
ClanSchema = c.object {title: 'Clan', required: ['name', 'type']}
c.extendNamedProperties ClanSchema # name first
_.extend ClanSchema.properties,
description: {type: 'string'}
members: c.array {title: 'Members'}, c.objectId()
ownerID: c.objectId()
type: {type: 'string', 'enum': ['public', 'private'], description: 'Controls clan general visibility.'}
dashboardType: {type: 'string', 'enum': ['basic', 'premium']}
c.extendBasicProperties ClanSchema, 'Clan'
# Do we need these?
# c.extendSearchableProperties ClanSchema
# c.extendPermissionsProperties ClanSchema
module.exports = ClanSchema