diff --git a/Server/.dockerignore b/Server/.dockerignore new file mode 100644 index 000000000..d88f9054e --- /dev/null +++ b/Server/.dockerignore @@ -0,0 +1 @@ +./docker \ No newline at end of file diff --git a/Server/models/Metrics.js b/Server/models/Metrics.js new file mode 100644 index 000000000..cc8d6c931 --- /dev/null +++ b/Server/models/Metrics.js @@ -0,0 +1,47 @@ +const mongoose = require("mongoose"); + +/** + * Mongoose schema for storing metrics from Google Lighthouse. + * @typedef {Object} PageSpeedCheck + * @property {mongoose.Schema.Types.ObjectId} monitorId - Reference to the Monitor model. + * @property {number} accessibility - Accessibility score. + * @property {number} bestPractices - Best practices score. + * @property {number} seo - SEO score. + * @property {number} performance - Performance score. + */ + +const PageSpeedCheck = mongoose.Schema( + { + monitorId: { + type: mongoose.Schema.Types.ObjectId, + ref: "Monitor", + immutable: true, + }, + accessibility: { + type: Number, + required: true, + }, + bestPractices: { + type: Number, + required: true, + }, + seo: { + type: Number, + required: true, + }, + performance: { + type: Number, + required: true, + }, + }, + { + timestamps: true, + } +); + +/** + * Mongoose model for storing metrics from Google Lighthouse. + * @typedef {mongoose.Model} LighthouseMetricsModel + */ + +module.exports = mongoose.model("PageSpeedCheck", PageSpeedCheck);