UNPKG

cluedin-widget

Version:

This project contains all the pages needed for browsing entities and searching them. The aim is to replace the CluedIn.Webapp project with this one when all the pages ( including the Admin page ) will be ported to REACT.

114 lines (107 loc) 1.97 kB
var mongoose = require.main.require('mongoose'); var uuid = require('node-uuid'); var conf = require('../config'); var LayoutConfigurationSchema = mongoose.Schema({ name: { type: String, required: true } }); var SuggestedSearchFilterSchema = mongoose.Schema({ key: { type: String } }); var TabSchemaConfig = mongoose.Schema({ name: { type: String, required: true }, displayName: { type: String, required: true }, includeSuggestedSearches: { type: Boolean, default: false }, layout: LayoutConfigurationSchema, suggestedSearchFilter: [SuggestedSearchFilterSchema], placeSuggestedSearches: { type: String } }); var TabsSchema = mongoose.Schema({ place: { type: String, required: true }, children: [TabSchemaConfig] }); var WidgetConfigurationSchema = mongoose.Schema({ name: { type: String, required: true }, onlyAdmin: { type: Boolean, default: false }, place: { type: String }, parameters: { type: String, default: '{}' }, size: { type: String } }); var EntityWidgetConfiguration = mongoose.Schema({ entityType: { type: String, required: true }, owner: { type: String }, displayName: { type: String }, displayNameWithArticle: { type: String }, icon: { type: String }, isDefault: { type: Boolean, default: false, }, created: { type: Date, default: Date.now, }, route: { type: String }, includeSuggestedSearches: { type: Boolean, default: false }, suggestedSearchFilter: [SuggestedSearchFilterSchema], placeSuggestedSearches: { type: String }, layout: LayoutConfigurationSchema, widgets: [WidgetConfigurationSchema], guid: { type: String, required: true, unique: true, default: uuid.v1 }, tabs: [TabsSchema], }); module.exports = mongoose.model(conf.EntityWidgetConfiguration, EntityWidgetConfiguration);