1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import { Schema, model } from "mongoose";
import { WidgetType, ThemeOption } from "../types/widget";
const WidgetSchema = new Schema({
ownerId: { type: String, required: true },
id: { type: String, required: true, unique: true },
name: { type: String, required: true, default: "unnamed" },
type: { type: String, required: true, enum: Object.values(WidgetType) },
data: { type: Object, required: true },
theme: {
option: { type: String, required: true, enum: Object.values(ThemeOption), default: ThemeOption.SYSTEM },
customColors: {
primary: { type: String },
secondary: { type: String },
background: { type: String },
text: { type: String }
}
},
createdAt: { type: Date, default: Date.now },
updatedAt: { type: Date, default: Date.now },
});
const Widget = model("Widget", WidgetSchema);
export default Widget;
|