// category.js // Copyright (C) 2021 Digital Telepresence, LLC // License: Apache-2.0 'use strict'; const mongoose = require('mongoose'); const Schema = mongoose.Schema; const CategorySchema = new Schema({ domain: { type: Schema.ObjectId, required: true, index: 1, ref: 'Domain' }, name: { type: String }, slug: { type: String, lowercase: true, required: true, index: 1 }, description: { type: String }, images: { header: { type: Schema.ObjectId }, icon: { type: Schema.ObjectId }, }, stats: { liveChannelCount: { type: Number, default: 0, required: true }, currentViewerCount: { type: Number, default: 0, required: true }, }, }); CategorySchema.index({ domain: 1, slug: 1, }, { unique: true, name: 'domain_category_unique', }); module.exports = mongoose.model('Category', CategorySchema);