1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const mongoose = require("mongoose");
|
4 | const diagramSchema = new mongoose.Schema({
|
5 | Name: String,
|
6 | IsActive: { type: Boolean, default: true },
|
7 | Description: String,
|
8 | Groups: [String],
|
9 | Box: {
|
10 | Cols: { type: Number, required: true, default: 1 },
|
11 | Rows: { type: Number, required: true, default: 1 },
|
12 | Order: { type: Number, required: true, default: 1 },
|
13 | TextColor: { type: String, required: true, default: "#333" },
|
14 | BackgroundColor: { type: String, required: true, default: "#fff" },
|
15 | },
|
16 | "Source": {
|
17 | type: mongoose.Schema.Types.ObjectId,
|
18 | ref: "Source"
|
19 | },
|
20 | Type: {
|
21 | type: String, required: true, default: "Pie", enum: {
|
22 | values: ["pie", "linear", "scatter", "bar", "line", "area", "area-spline", "numero", "booleano", "tempo"],
|
23 | message: "enum validator failed for path `{PATH}` with value `{VALUE}`"
|
24 | }
|
25 | },
|
26 | "Widget": {
|
27 | "booleano": {
|
28 | "SuccessMessage": String,
|
29 | "FailureMessage": String,
|
30 | }
|
31 | },
|
32 | Chart: {
|
33 | data: {
|
34 | type: {
|
35 | type: String, required: true, default: "Pie", enum: {
|
36 | values: ["pie", "linear", "scatter", "bar", "line"],
|
37 | message: "enum validator failed for path `{PATH}` with value `{VALUE}`"
|
38 | }
|
39 | },
|
40 |
|
41 | types: {
|
42 | type: Object, default: {}
|
43 | },
|
44 |
|
45 | names: {},
|
46 |
|
47 | axis: {},
|
48 |
|
49 | groups: {
|
50 | type: Array, default: []
|
51 | },
|
52 | columns: { type: Array },
|
53 | colors: { type: Object, default: {} }
|
54 | },
|
55 |
|
56 | grid: {},
|
57 | Flow: Boolean,
|
58 | ColumnMappings: [{
|
59 | NamePath: { type: String },
|
60 | ValuePath: { type: String, required: true }
|
61 | }],
|
62 | legend: {
|
63 | show: { type: Boolean, default: true }
|
64 | },
|
65 | subchart: {
|
66 | show: { type: Boolean, default: false }
|
67 | },
|
68 | zoom: {
|
69 | enabled: { type: Boolean, default: false }
|
70 | },
|
71 | tooltip: {
|
72 | grouped: { type: Boolean, default: false }
|
73 | },
|
74 | }
|
75 | }, { timestamps: true });
|
76 |
|
77 |
|
78 |
|
79 | diagramSchema.pre("save", function save(next) {
|
80 | const diagram = this;
|
81 |
|
82 | next();
|
83 | });
|
84 | const Diagram = mongoose.model("Diagram", diagramSchema);
|
85 | exports.Diagram = Diagram;
|
86 |
|
\ | No newline at end of file |