'use strict'; const Schema = require('mongoose').Schema; const metaPlugin = require('naf-framework-mongoose/lib/model/meta-plugin'); // 房间广告位 const AdvertInfo = { title: { type: String, required: false }, // 广告标题 imgdir: { type: String, required: false }, // 图片地址 imgurl: { type: String, required: false }, // 图片链接地址 }; const RoomSchema = { name: { type: String, required: false, maxLength: 200 }, // 房间名称 title: { type: String, required: false, maxLength: 200 }, // 标题 type: { type: String, required: false, maxLength: 64 }, // 类型0、直播1、会议 filedir: { type: String, required: false, maxLength: 200 }, // 封面图片 url: { type: String, required: false, maxLength: 200 }, // 视频地址 stream_id: { type: String, required: false }, // 视频回放文件id ishis: { type: String, required: false, maxLength: 64, default: '0' }, // 状态0、正常1、历史 requestId: { type: String, required: false }, // 请求id file_id: { type: String, required: false }, // 文件id content: { type: String, required: false }, // 直播简介 anchorid: { type: String, required: false, maxLength: 200 }, // 主播id username: { type: String, required: false, maxLength: 200 }, // 主播名称 starttime: { type: String, required: false }, // 开始时间 endtime: { type: String, required: false }, // 结束时间 status: { type: String, required: false, maxLength: 64, default: '0' }, // 状态0、开启1、关闭 isadvert: { type: Boolean, required: false, default: false }, // 是否有广告位0、开启1、关闭 adverts: { type: [ AdvertInfo ], required: false, select: true }, // 广告位 }; const schema = new Schema(RoomSchema, { toJSON: { virtuals: true } }); schema.index({ id: 1 }); schema.plugin(metaPlugin); module.exports = app => { const { mongoose } = app; return mongoose.model('Room', schema, 'room'); };