UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

81 lines (80 loc) 2.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.modelName = exports.indexes = void 0; exports.createSchema = createSchema; const mongoose_1 = require("mongoose"); const writeConcern_1 = require("../writeConcern"); // import * as factory from '../../../factory'; const settings_1 = require("../../../settings"); const modelName = 'Telemetry'; exports.modelName = modelName; const schemaDefinition = { project: mongoose_1.SchemaTypes.Mixed, result: mongoose_1.SchemaTypes.Mixed, error: mongoose_1.SchemaTypes.Mixed, object: mongoose_1.SchemaTypes.Mixed, startDate: Date, endDate: Date, purpose: mongoose_1.SchemaTypes.Mixed }; const schemaOptions = { autoIndex: settings_1.MONGO_AUTO_INDEX, autoCreate: false, collection: 'telemetries', id: true, read: settings_1.MONGO_READ_PREFERENCE, writeConcern: writeConcern_1.writeConcern, strict: true, strictQuery: false, timestamps: false, // 2024-08-07~ versionKey: false, // 2024-08-07~ toJSON: { getters: false, virtuals: false, minimize: false, versionKey: false }, toObject: { getters: false, virtuals: true, minimize: false, versionKey: false } }; /** * 測定スキーマ */ let schema; function createSchema() { if (schema === undefined) { schema = new mongoose_1.Schema(schemaDefinition, schemaOptions); } return schema; } const indexes = [ [ { 'project.id': 1 }, { name: 'searchByProjectId-v20220721' } ], [ { 'object.measuredAt': 1 }, { partialFilterExpression: { 'object.measuredAt': { $exists: true } } } ], [ { 'purpose.typeOf': 1, 'object.scope': 1, 'object.measuredAt': 1 }, { partialFilterExpression: { 'purpose.typeOf': { $exists: true }, 'object.scope': { $exists: true }, 'object.measuredAt': { $exists: true } } } ] ]; exports.indexes = indexes;