mcp-talent-server
Version:
Model Context Protocol server for talent management tools
36 lines • 1.71 kB
JavaScript
import mongoose, { Schema } from "mongoose";
// Schema for sheet vector data
export const SheetVectorDataSchema = new Schema({
sheetId: { type: String, required: true, index: true },
rowId: { type: String, required: true, index: true },
userId: { type: String, required: true, index: true },
sheetName: { type: String, required: true, index: true },
originalData: { type: Schema.Types.Mixed, required: true },
searchableContent: { type: String, required: true },
// contentEmbedding: [{ type: Number }],
extractedEntities: {
numbers: [{ type: Number }],
dates: [{ type: String }],
emails: [{ type: String }],
urls: [{ type: String }],
categories: [{ type: String }]
},
dataTypes: { type: Schema.Types.Mixed },
columnMetadata: [{
name: { type: String, required: true },
label: { type: String, required: true },
type: { type: String, required: true },
value: { type: Schema.Types.Mixed }
}]
}, { timestamps: true });
// Indexes for efficient searching
SheetVectorDataSchema.index({ sheetId: 1, rowId: 1 }, { unique: true });
SheetVectorDataSchema.index({ userId: 1, sheetId: 1 });
SheetVectorDataSchema.index({ searchableContent: 'text' });
SheetVectorDataSchema.index({ 'extractedEntities.categories': 1 });
// Vector search index - this will be created manually in MongoDB Atlas
// SheetVectorDataSchema.index({ contentEmbedding: "2dsphere" });
const SheetVectorData = mongoose.model("SheetVectorData", SheetVectorDataSchema);
export const SheetVectorDataType = SheetVectorDataSchema.obj;
export default SheetVectorData;
//# sourceMappingURL=sheet-vector.model.js.map