Skip to main content
Glama

Facebook Ads Management Control Panel

by codprocess
user.js1.89 kB
/** * User model * Stores Facebook user information and tokens */ const mongoose = require('mongoose'); const Schema = mongoose.Schema; const userSchema = new Schema({ // Facebook user information facebookId: { type: String, required: true, unique: true, index: true }, name: { type: String, required: true }, email: { type: String, trim: true, lowercase: true, index: true }, picture: { type: String }, // Facebook tokens (encrypted) accessToken: { type: String, required: true }, refreshToken: { type: String }, tokenExpiry: { type: Date }, // Account status isActive: { type: Boolean, default: true }, lastLogin: { type: Date, default: Date.now }, // Timestamps createdAt: { type: Date, default: Date.now }, updatedAt: { type: Date, default: Date.now } }, { timestamps: true, toJSON: { transform: (doc, ret) => { delete ret.accessToken; delete ret.refreshToken; delete ret.__v; return ret; } } }); // Index for faster queries userSchema.index({ facebookId: 1 }); userSchema.index({ email: 1 }); userSchema.index({ createdAt: -1 }); /** * Update last login timestamp */ userSchema.methods.updateLastLogin = async function() { this.lastLogin = Date.now(); return this.save(); }; /** * Check if user has valid Facebook token */ userSchema.methods.hasValidToken = function() { return this.tokenExpiry && new Date(this.tokenExpiry) > new Date(); }; /** * Find user by Facebook ID */ userSchema.statics.findByFacebookId = function(facebookId) { return this.findOne({ facebookId }); }; /** * Find active users */ userSchema.statics.findActive = function() { return this.find({ isActive: true }); }; 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/codprocess/facebook-ads-mcp'

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