Skip to main content
Glama
user.schema.ts1.73 kB
import { NAMES_MAX_LENGTH, NAMES_MIN_LENGTH, } from '@utils/validation/validateUser'; import { Schema } from 'mongoose'; import validator from 'validator'; import type { UserSchema } from '@/types/user.types'; export const userSchema = new Schema<UserSchema>( { email: { type: String, required: true, unique: true, validate: [validator.isEmail, 'Please fill a valid email address'], lowercase: true, trim: true, }, name: { type: String, maxlength: NAMES_MAX_LENGTH, minlength: NAMES_MIN_LENGTH, }, phone: { type: String, maxlength: 20, }, customerId: { type: String, required: false, }, emailsList: { type: { newsLetter: { type: Boolean, default: false, }, }, required: false, }, role: { type: String, enum: ['admin', 'user'], default: 'user', required: false, }, lastLoginMethod: { type: String, enum: ['email', 'google', 'github'], required: false, }, lang: { type: String, required: false, }, dateOfBirth: { type: Date, required: false, }, }, { timestamps: true, toJSON: { virtuals: true, // keep the automatic `id` getter versionKey: false, // drop __v transform(_doc, ret: any) { const { _id, ...rest } = ret; return { ...rest, id: _id.toString(), }; }, }, toObject: { virtuals: true, transform(_doc, ret: any) { const { _id, ...rest } = ret; return { ...rest, id: _id, }; }, }, } );

Latest Blog Posts

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/aymericzip/intlayer'

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