Skip to main content
Glama

MCP FOR ITSM

user.model.js1.54 kB
const mongoose = require('mongoose'); const bcrypt = require('bcryptjs'); const userSchema = new mongoose.Schema({ username: { type: String, required: true, unique: true, trim: true, minlength: 3, maxlength: 30 }, email: { type: String, required: true, unique: true, trim: true, lowercase: true, match: [/^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/, 'Please enter a valid email address'] }, password: { type: String, required: true, minlength: 8 }, firstName: { type: String, trim: true }, lastName: { type: String, trim: true }, role: { type: String, enum: ['admin', 'user', 'integrator'], default: 'user' }, isActive: { type: Boolean, default: true }, lastLogin: { type: Date }, }, { timestamps: true }); // Pre-save middleware to hash password userSchema.pre('save', async function(next) { // Only hash the password if it has been modified (or is new) if (!this.isModified('password')) return next(); try { // Generate a salt const salt = await bcrypt.genSalt(10); // Hash the password along with the new salt this.password = await bcrypt.hash(this.password, salt); next(); } catch (error) { next(error); } }); // Method to compare password for login userSchema.methods.comparePassword = async function(candidatePassword) { return bcrypt.compare(candidatePassword, this.password); }; const User = mongoose.model('User', userSchema); module.exports = User;

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/madosh/MCP-ITSM'

If you have feedback or need assistance with the MCP directory API, please join our Discord server