@chevre/domain
Version:
Chevre Domain Library for Node.js
78 lines (77 loc) • 2.45 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.modelName = exports.indexes = void 0;
exports.createSchema = createSchema;
const mongoose_1 = require("mongoose");
const settings_1 = require("../../../settings");
const writeConcern_1 = require("../writeConcern");
const modelName = 'Setting';
exports.modelName = modelName;
const schemaDefinition = {
defaultSenderEmail: String,
jwt: mongoose_1.SchemaTypes.Mixed,
project: { type: mongoose_1.SchemaTypes.Mixed, required: true },
onEventChanged: mongoose_1.SchemaTypes.Mixed,
onOrderStatusChanged: mongoose_1.SchemaTypes.Mixed,
onReservationStatusChanged: mongoose_1.SchemaTypes.Mixed,
onResourceUpdated: mongoose_1.SchemaTypes.Mixed,
onTransactionStatusChanged: mongoose_1.SchemaTypes.Mixed,
quota: mongoose_1.SchemaTypes.Mixed,
storage: mongoose_1.SchemaTypes.Mixed,
triggerWebhook: mongoose_1.SchemaTypes.Mixed,
useInformResourceTypes: [String],
userPoolIdOld: String,
userPoolIdNew: String,
waiter: mongoose_1.SchemaTypes.Mixed,
useMongoAsStockHolder: Boolean,
useMongoAsStockHolderProjects: [String],
useMongo4confirmationNumberFrom: { type: Date, required: false },
useMongo4orderNumberFrom: { type: Date, required: false },
useMongo4transactionNumberFrom: { type: Date, required: false }
};
const schemaOptions = {
autoIndex: settings_1.MONGO_AUTO_INDEX,
autoCreate: false,
collection: 'settings',
id: true,
read: settings_1.MONGO_READ_PREFERENCE,
writeConcern: writeConcern_1.writeConcern,
strict: true,
strictQuery: false,
timestamps: false,
versionKey: false,
toJSON: {
getters: false,
virtuals: false,
minimize: false,
versionKey: false
},
toObject: {
getters: false,
virtuals: true,
minimize: false,
versionKey: false
}
};
const indexes = [
[
{ 'project.id': 1 },
{ name: 'projectId' }
]
];
exports.indexes = indexes;
/**
* 設定スキーマ
*/
let schema;
function createSchema() {
if (schema === undefined) {
schema = new mongoose_1.Schema(schemaDefinition, schemaOptions);
if (settings_1.MONGO_AUTO_INDEX) {
indexes.forEach((indexParams) => {
schema === null || schema === void 0 ? void 0 : schema.index(...indexParams);
});
}
}
return schema;
}
;