'use strict'; const mongoose = require('mongoose'); const SETTINGS_KEY = 'app'; const bypassNumberSchema = new mongoose.Schema({ phoneNumber: { type: String, required: true, trim: true }, label: { type: String, trim: true, default: '' }, isActive: { type: Boolean, default: true }, createdAt: { type: Date, default: Date.now } }, { _id: true }); const settingSchema = new mongoose.Schema({ key: { type: String, required: true, unique: true, default: SETTINGS_KEY, index: true }, smsTemplates: { type: mongoose.Schema.Types.Mixed, default: {} }, smsEnabled: { type: Boolean, default: true }, emailEnabled: { type: Boolean, default: true }, botEnabled: { type: Boolean, default: true }, smsBypassNumbers: { type: [bypassNumberSchema], default: [] }, notificationSettings: { type: mongoose.Schema.Types.Mixed, default: {} } }, { timestamps: true, minimize: false }); const Setting = mongoose.model('Setting', settingSchema); module.exports = { Setting, SETTINGS_KEY };