Files
learn-build-apps-copilot-agent/octofit-tracker/backend/dist/models/Leaderboard.js
T

19 lines
822 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LeaderboardModel = void 0;
const mongoose_1 = require("mongoose");
const leaderboardEntrySchema = new mongoose_1.Schema({
user: { type: mongoose_1.Types.ObjectId, ref: "User", required: true },
team: { type: mongoose_1.Types.ObjectId, ref: "Team", required: true },
points: { type: Number, required: true, min: 0 },
rank: { type: Number, required: true, min: 1 },
}, { _id: false });
const leaderboardSchema = new mongoose_1.Schema({
period: { type: String, required: true, trim: true },
generatedAt: { type: Date, required: true },
entries: { type: [leaderboardEntrySchema], required: true },
}, {
timestamps: true,
});
exports.LeaderboardModel = (0, mongoose_1.model)("Leaderboard", leaderboardSchema);