Files
Checkmate/Server/db/models/StatusPage.js
T

70 lines
1.1 KiB
JavaScript
Raw Normal View History

2024-11-11 12:16:07 +08:00
import mongoose from "mongoose";
const StatusPageSchema = mongoose.Schema(
{
2025-02-10 10:20:21 -08:00
userId: {
type: mongoose.Schema.Types.ObjectId,
ref: "User",
immutable: true,
required: true,
},
teamId: {
type: mongoose.Schema.Types.ObjectId,
ref: "Team",
immutable: true,
required: true,
},
type: {
type: String,
required: true,
default: "uptime",
enum: ["uptime", "distributed"],
},
2024-11-11 12:16:07 +08:00
companyName: {
type: String,
required: true,
default: "",
},
url: {
type: String,
2024-11-11 14:38:59 +08:00
unique: true,
2024-11-11 12:16:07 +08:00
required: true,
default: "",
},
timezone: {
type: String,
2025-02-07 14:42:24 -08:00
required: false,
2024-11-11 12:16:07 +08:00
},
color: {
type: String,
2025-02-07 14:42:24 -08:00
required: false,
2024-11-11 12:16:07 +08:00
default: "#4169E1",
},
monitors: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Monitor",
required: true,
},
],
2025-02-03 15:06:25 -08:00
logo: {
data: Buffer,
contentType: String,
},
isPublished: {
type: Boolean,
default: false,
},
showCharts: {
type: Boolean,
default: true,
},
showUptimePercentage: {
type: Boolean,
default: true,
},
2024-11-11 12:16:07 +08:00
},
{ timestamps: true }
);
export default mongoose.model("StatusPage", StatusPageSchema);