'use strict'; const Schema = require('mongoose').Schema; const moment = require('moment'); const metaPlugin = require('naf-framework-mongoose/lib/model/meta-plugin'); const { ObjectId } = require('mongoose').Types; // 系统菜单表 const adminMenu = { name: { type: String }, // 菜单名 path: { type: String }, // 路由 is_use: { type: Boolean, default: true }, // 是否启用 level: { type: Number, default: 1 }, // 等级 parent_id: { type: ObjectId }, // 父级id sort: { type: Number, default: 0 }, // 排序:降序排列 remark: { type: String }, }; const schema = new Schema(adminMenu, { 'multi-tenancy': true, toJSON: { virtuals: true } }); schema.index({ id: 1 }); schema.index({ 'meta.createdAt': 1 }); schema.plugin(metaPlugin); module.exports = app => { const { mongoose } = app; return mongoose.model('AdminMenu', schema, 'adminMenu'); };