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.

113 lines (106 loc) 2.23 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 }, 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 );