UNPKG

mcp-talent-server

Version:

Model Context Protocol server for talent management tools

31 lines 1.38 kB
import mongoose, { Schema } from "mongoose"; // Column definition schema for dynamic columns const ColumnDefinitionSchema = new Schema({ name: { type: String, required: true, index: true }, label: { type: String, required: true, index: true }, data_description: { type: String, default: "" }, }, { _id: false }); // Main sheet schema const SheetSchema = new Schema({ name: { type: String, required: true, index: true }, description: { type: String }, userId: { type: Schema.Types.ObjectId, ref: "User", required: true }, columns: [ColumnDefinitionSchema], googleDriveId: { type: String, default: null }, metadata: { totalRows: { type: Number, default: 0 }, lastModified: { type: Date, default: Date.now }, version: { type: Number, default: 1 } }, }, { timestamps: true }); // Sheet data schema for storing row data const SheetDataSchema = new Schema({ sheetId: { type: Schema.Types.ObjectId, ref: "Sheet", required: true }, rowId: { type: String, required: true }, // Custom row identifier data: { type: Schema.Types.Mixed, required: true }, // Dynamic data based on sheet columns }, { timestamps: true }); const Sheet = mongoose.model("Sheet", SheetSchema); const SheetData = mongoose.model("SheetData", SheetDataSchema); export default Sheet; export { SheetData }; //# sourceMappingURL=sheet.model.js.map