won-dto
Version:
Won DTO For WonCore
31 lines • 1.39 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SettingHook = exports.settingSchema = void 0;
const mongoose_1 = require("mongoose");
const setting_enum_1 = require("./setting.enum");
const baseModel_1 = require("../base/baseModel");
exports.settingSchema = new mongoose_1.Schema({
type: {
type: String,
enum: Object.values(setting_enum_1.SettingTypes),
required: true,
default: setting_enum_1.SettingTypes.string,
},
name: { type: String, required: true },
key: { type: String, required: true, unique: true },
value: { type: mongoose_1.Schema.Types.Mixed, required: true },
isActive: { type: Boolean, required: true, default: true },
isPrivate: { type: Boolean, required: true, default: false },
readOnly: { type: Boolean, default: false },
groupId: { type: mongoose_1.Schema.Types.ObjectId, required: true },
editMode: {
type: String,
enum: Object.values(setting_enum_1.EditModes),
required: true,
default: setting_enum_1.EditModes.SYSTEM,
},
}, { timestamps: true, collation: { locale: "vi" } });
exports.settingSchema.index({ key: 1 });
exports.settingSchema.index({ name: "text", key: "text" }, { weights: { name: 2, key: 4 } });
exports.SettingHook = new baseModel_1.ModelHook(exports.settingSchema);
//# sourceMappingURL=setting.schema.js.map