nongo-driver 3.3.6 → 3.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/model.d.ts +2 -2
- package/dist/model.js +39 -78
- package/dist/model.js.map +1 -1
- package/dist/nongo.d.ts +1 -0
- package/dist/nongo.js +24 -4
- package/dist/nongo.js.map +1 -1
- package/package.json +1 -1
- package/src/model.ts +47 -92
- package/src/nongo.ts +50 -19
- package/test/model-versioning.test.ts +3 -3
- package/test/models/dummy-model-changed-obj.ts +12 -0
- package/test/models/dummy-model-obj.ts +40 -0
- package/test/models/dummy-model-with-max-index-obj.ts +195 -0
- package/test/models/dummy-model-with-revision-obj.ts +13 -0
- package/test/models/text-index-model-modified-obj.ts +12 -0
- package/test/models/text-index-model-obj.ts +11 -0
- package/test/models/text-index-model-too-long-obj.ts +11 -0
package/dist/model.d.ts
CHANGED
|
@@ -11,11 +11,13 @@ export interface RevisionHistory {
|
|
|
11
11
|
export default abstract class Model<T extends {
|
|
12
12
|
_id?: ObjectId;
|
|
13
13
|
revision?: string;
|
|
14
|
+
previousRevision?: string;
|
|
14
15
|
history?: RevisionHistory[];
|
|
15
16
|
diffs?: any;
|
|
16
17
|
name?: string;
|
|
17
18
|
key?: string;
|
|
18
19
|
environment?: string;
|
|
20
|
+
module?: string;
|
|
19
21
|
deleted?: true;
|
|
20
22
|
} = any> {
|
|
21
23
|
nongo: Nongo;
|
|
@@ -39,7 +41,6 @@ export default abstract class Model<T extends {
|
|
|
39
41
|
private removeEnvironmentMapping;
|
|
40
42
|
private createEnvironmentMapping;
|
|
41
43
|
private updateEnvironmentMapping;
|
|
42
|
-
private updateIntentEntityBlockMapping;
|
|
43
44
|
revertVersion(id: string, revisionId: string): Promise<this>;
|
|
44
45
|
getRevisionObjForEnvironment(isLive: boolean, id: string): Promise<this>;
|
|
45
46
|
saveEnvironmentRevision(id: string, environmentId: string): Promise<this>;
|
|
@@ -47,7 +48,6 @@ export default abstract class Model<T extends {
|
|
|
47
48
|
strip(parentPath: any, toStrip: any): void;
|
|
48
49
|
deleteKey(path: any, obj: any): void;
|
|
49
50
|
byId(id: any): Promise<this>;
|
|
50
|
-
getRevisionHistory(history: RevisionHistory[]): Promise<this[]>;
|
|
51
51
|
getRevisions(query: Filter<Document>, options?: FindOptions<Document>): Promise<this[]>;
|
|
52
52
|
getRevision(query: Filter<Document>): Promise<this>;
|
|
53
53
|
find(query?: Filter<Document>, options?: FindOptions<Document>): Promise<this[]>;
|
package/dist/model.js
CHANGED
|
@@ -12,8 +12,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
const clone_deep_1 = __importDefault(require("clone-deep"));
|
|
14
14
|
const mongodb_1 = require("mongodb");
|
|
15
|
-
const just_diff_1 = require("just-diff");
|
|
16
|
-
const gt_1 = __importDefault(require("semver/functions/gt"));
|
|
17
15
|
const inc_1 = __importDefault(require("semver/functions/inc"));
|
|
18
16
|
const cursor_iterator_1 = __importDefault(require("./cursor-iterator"));
|
|
19
17
|
const nongo_1 = __importDefault(require("./nongo"));
|
|
@@ -73,27 +71,16 @@ class Model {
|
|
|
73
71
|
idString() {
|
|
74
72
|
return this.obj._id.toHexString();
|
|
75
73
|
}
|
|
76
|
-
async getLatestRevisionNumber(
|
|
77
|
-
|
|
78
|
-
const liveObj = await this.db
|
|
79
|
-
.collection(this.collection)
|
|
80
|
-
.findOne(query, { sort: { revision: -1 } });
|
|
74
|
+
async getLatestRevisionNumber(query) {
|
|
75
|
+
var _a;
|
|
81
76
|
const revObj = await this.db
|
|
82
77
|
.collection(this.collectionRevision)
|
|
83
78
|
.findOne(query, { sort: { revision: -1 } });
|
|
84
|
-
let
|
|
85
|
-
if (
|
|
86
|
-
(0,
|
|
87
|
-
? (version = (0, inc_1.default)(liveObj.revision, 'patch'))
|
|
88
|
-
: (version = (0, inc_1.default)(revObj.revision, 'patch'));
|
|
89
|
-
}
|
|
90
|
-
else if (liveObj) {
|
|
91
|
-
version = (0, inc_1.default)(liveObj.revision, 'patch');
|
|
92
|
-
}
|
|
93
|
-
else if (revObj) {
|
|
94
|
-
version = (0, inc_1.default)(revObj.revision, 'patch');
|
|
79
|
+
let revision = '0.0.1';
|
|
80
|
+
if (revObj) {
|
|
81
|
+
revision = (0, inc_1.default)(revObj.revision, 'patch');
|
|
95
82
|
}
|
|
96
|
-
return
|
|
83
|
+
return { revision, newestRevisionId: (_a = revObj === null || revObj === void 0 ? void 0 : revObj._id) === null || _a === void 0 ? void 0 : _a.toHexString() };
|
|
97
84
|
}
|
|
98
85
|
/*
|
|
99
86
|
* Upsert the model into the database
|
|
@@ -119,39 +106,51 @@ class Model {
|
|
|
119
106
|
: { isLive: true };
|
|
120
107
|
const clientEnv = await this.db.collection('Environment').findOne(query);
|
|
121
108
|
const environmentId = clientEnv._id.toHexString();
|
|
122
|
-
const { name, key } = this.obj;
|
|
123
|
-
|
|
109
|
+
const { name, module, key } = this.obj;
|
|
110
|
+
const revisionQuery = name ? { name, module } : { key };
|
|
111
|
+
// Get id of newest revision, so we can use that to find the appropriate mapping
|
|
112
|
+
// this is in case the object we're trying to save either doesn't have _id (for example if it's being imported)
|
|
113
|
+
// or if the _id simply isn't correct for the environment
|
|
114
|
+
const { revision, newestRevisionId } = await this.getLatestRevisionNumber(revisionQuery);
|
|
115
|
+
this.obj.previousRevision = this.obj.revision;
|
|
116
|
+
this.obj.revision = revision;
|
|
124
117
|
if (clientEnv.isLive) {
|
|
125
|
-
const revisionObjId = new mongodb_1.ObjectId();
|
|
126
118
|
const liveRevisionObject = await this.db
|
|
127
119
|
.collection(this.collection)
|
|
128
|
-
.findOne(
|
|
129
|
-
|
|
120
|
+
.findOne(revisionQuery);
|
|
121
|
+
// If object exists in live, override generated id
|
|
122
|
+
this.obj._id = liveRevisionObject
|
|
123
|
+
? liveRevisionObject._id
|
|
124
|
+
: this.obj._id;
|
|
130
125
|
await this.db
|
|
131
126
|
.collection(this.collection)
|
|
132
127
|
.replaceOne({ _id: this.obj._id }, this.obj, { upsert: true });
|
|
133
128
|
if (liveRevisionObject) {
|
|
134
|
-
|
|
129
|
+
// Check if the previously live version has a revision equivalent
|
|
130
|
+
const liveRevisionCopy = await this.db
|
|
131
|
+
.collection(this.collectionRevision)
|
|
132
|
+
.find(Object.assign(Object.assign({}, query), { revision: liveRevisionObject.revision }));
|
|
133
|
+
if (!liveRevisionCopy) {
|
|
134
|
+
liveRevisionObject._id = new mongodb_1.ObjectId();
|
|
135
|
+
await this.db
|
|
136
|
+
.collection(this.collectionRevision)
|
|
137
|
+
.insertOne(liveRevisionObject);
|
|
138
|
+
}
|
|
139
|
+
// Add new live model to revision, so they're both in sync
|
|
135
140
|
await this.db
|
|
136
141
|
.collection(this.collectionRevision)
|
|
137
|
-
.insertOne(
|
|
142
|
+
.insertOne(Object.assign(Object.assign({}, this.obj), { _id: new mongodb_1.ObjectId() }));
|
|
138
143
|
}
|
|
139
144
|
}
|
|
140
145
|
else {
|
|
141
|
-
const revisionObj = await this.db
|
|
142
|
-
.collection(this.collectionRevision)
|
|
143
|
-
.findOne({ _id: this.obj._id });
|
|
144
|
-
this.obj.history = nongo_1.default.revisionHistory(revisionObj, this.idString());
|
|
145
146
|
this.obj._id = new mongodb_1.ObjectId();
|
|
146
147
|
const r = await this.db
|
|
147
148
|
.collection(this.collectionRevision)
|
|
148
149
|
.insertOne(this.obj);
|
|
149
150
|
if (this.obj.revision !== '0.0.1') {
|
|
150
151
|
// update relevant mappings
|
|
151
|
-
const revisionId = revisionObj._id.toHexString();
|
|
152
152
|
const insertedId = r.insertedId.toHexString();
|
|
153
|
-
await this.updateEnvironmentMapping(
|
|
154
|
-
await this.updateIntentEntityBlockMapping(revisionId, insertedId, environmentId);
|
|
153
|
+
await this.updateEnvironmentMapping(insertedId, newestRevisionId, environmentId);
|
|
155
154
|
}
|
|
156
155
|
}
|
|
157
156
|
if (this.obj.revision === '0.0.1') {
|
|
@@ -178,66 +177,32 @@ class Model {
|
|
|
178
177
|
}
|
|
179
178
|
async createEnvironmentMapping(environmentId) {
|
|
180
179
|
await this.db.collection(this.collectionEnvironmentMapping).insertOne({
|
|
181
|
-
|
|
180
|
+
latestRevisionId: this.idString(),
|
|
182
181
|
environments: { [environmentId]: this.idString() },
|
|
183
182
|
});
|
|
184
183
|
}
|
|
185
|
-
async updateEnvironmentMapping(
|
|
184
|
+
async updateEnvironmentMapping(insertedId, latestRevisionId, environmentId) {
|
|
186
185
|
const path = `environments.${environmentId}`;
|
|
186
|
+
// Find the mapping where the current
|
|
187
187
|
await this.db
|
|
188
188
|
.collection(this.collectionEnvironmentMapping)
|
|
189
|
-
.updateOne({
|
|
190
|
-
}
|
|
191
|
-
async updateIntentEntityBlockMapping(oldId, newId, environment) {
|
|
192
|
-
if (this.collection === 'Block') {
|
|
193
|
-
// update intent and entity mappings
|
|
194
|
-
const filter = { block_id: oldId, environment };
|
|
195
|
-
const update = { $set: { block_id: newId } };
|
|
196
|
-
await this.db.collection('IntentBlockMapping').updateMany(filter, update);
|
|
197
|
-
await this.db.collection('EntityBlockMapping').updateMany(filter, update);
|
|
198
|
-
}
|
|
199
|
-
else if (this.collection === 'Intent') {
|
|
200
|
-
// update intent mapping
|
|
201
|
-
const filter = { intent_id: oldId, environment };
|
|
202
|
-
const update = { $set: { intent_id: newId } };
|
|
203
|
-
await this.db.collection('IntentBlockMapping').updateMany(filter, update);
|
|
204
|
-
}
|
|
205
|
-
else if (this.collection === 'Entity') {
|
|
206
|
-
// update entity mapping
|
|
207
|
-
const filter = { entity_id: oldId, environment };
|
|
208
|
-
const update = { $set: { entity_id: newId } };
|
|
209
|
-
await this.db.collection('EntityBlockMapping').updateMany(filter, update);
|
|
210
|
-
}
|
|
211
|
-
else if (this.collection === 'FormModel') {
|
|
212
|
-
return;
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
215
|
-
throw Error(`${this.collection} is unsupported revision type.`);
|
|
216
|
-
}
|
|
189
|
+
.updateOne({ latestRevisionId }, { $set: { [path]: insertedId, latestRevisionId: insertedId } });
|
|
217
190
|
}
|
|
218
191
|
async revertVersion(id, revisionId) {
|
|
219
|
-
const revisionObjId = new mongodb_1.ObjectId();
|
|
220
192
|
// get the actuall object
|
|
221
193
|
const obj = await this.db
|
|
222
194
|
.collection(this.collection)
|
|
223
195
|
.findOne({ _id: new mongodb_1.ObjectId(id) });
|
|
224
|
-
// get revision
|
|
196
|
+
// get revision to revert to
|
|
225
197
|
const objToRevert = await this.db
|
|
226
198
|
.collection(this.collectionRevision)
|
|
227
199
|
.findOne({ _id: new mongodb_1.ObjectId(revisionId) });
|
|
228
|
-
//
|
|
229
|
-
objToRevert.revision = nongo_1.default.revisionNumber(obj.revision);
|
|
230
|
-
objToRevert.history = nongo_1.default.revisionHistory(obj, revisionObjId);
|
|
231
|
-
delete objToRevert.diffs;
|
|
232
|
-
const diffs = (0, just_diff_1.diff)(obj, objToRevert);
|
|
233
|
-
objToRevert.diffs = excludePathsFromDiff(diffs);
|
|
200
|
+
// set id of revision to id of original, so it saves properly
|
|
234
201
|
objToRevert._id = obj._id;
|
|
202
|
+
// revert
|
|
235
203
|
await this.db
|
|
236
204
|
.collection(this.collection)
|
|
237
205
|
.replaceOne({ _id: obj._id }, objToRevert);
|
|
238
|
-
// make actuall object as revision object and save it to the revision collection
|
|
239
|
-
obj._id = revisionObjId;
|
|
240
|
-
await this.db.collection(this.collectionRevision).insertOne(obj);
|
|
241
206
|
// Return the doc as a model
|
|
242
207
|
// @ts-ignore
|
|
243
208
|
return new this.constructor(this.nongo, objToRevert);
|
|
@@ -341,10 +306,6 @@ class Model {
|
|
|
341
306
|
async byId(id) {
|
|
342
307
|
return this.findOne({ _id: id });
|
|
343
308
|
}
|
|
344
|
-
async getRevisionHistory(history) {
|
|
345
|
-
const revisionIds = history.map((i) => new mongodb_1.ObjectId(i.id));
|
|
346
|
-
return this.toArray(await this.findIterator({ _id: { $in: revisionIds } }, { sort: { revision: 'descending' } }, this.collectionRevision));
|
|
347
|
-
}
|
|
348
309
|
async getRevisions(query, options) {
|
|
349
310
|
return this.toArray(await this.findIterator(query, options, this.collectionRevision));
|
|
350
311
|
}
|
package/dist/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/dist/nongo.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export default class Nongo {
|
|
|
25
25
|
constructor(params: NongoParams, modelClasses: Newable[], schemaParsers?: SchemaParser[], mongoClient?: MongoClient, poolSize?: number);
|
|
26
26
|
connect(): Promise<this>;
|
|
27
27
|
ensureIndexes(): Promise<void>;
|
|
28
|
+
private dropCollection;
|
|
28
29
|
dropDatabase(): Promise<void>;
|
|
29
30
|
/**
|
|
30
31
|
* Remove all documents in the database
|
package/dist/nongo.js
CHANGED
|
@@ -67,7 +67,10 @@ class Nongo {
|
|
|
67
67
|
async connect() {
|
|
68
68
|
var _a;
|
|
69
69
|
// Connect to the database
|
|
70
|
-
this.mongoClient =
|
|
70
|
+
this.mongoClient =
|
|
71
|
+
(_a = this.mongoClient) !== null && _a !== void 0 ? _a : (await new mongodb_1.MongoClient(this.uri(), {
|
|
72
|
+
minPoolSize: this.poolSize,
|
|
73
|
+
}).connect());
|
|
71
74
|
this.db = this.mongoClient.db(this.params.db);
|
|
72
75
|
this.dbName = this.params.db;
|
|
73
76
|
// Map the classes to instances
|
|
@@ -114,7 +117,9 @@ class Nongo {
|
|
|
114
117
|
return this;
|
|
115
118
|
}
|
|
116
119
|
async ensureIndexes() {
|
|
120
|
+
// collections in Mongo
|
|
117
121
|
const collectionNames = await this.getCollectionNames();
|
|
122
|
+
const indexedCollections = [];
|
|
118
123
|
// Iterate over each of the model instances we have so we can ensure their indexes
|
|
119
124
|
for (let i = 0; i < this.instances.length; i++) {
|
|
120
125
|
const instance = this.instances[i];
|
|
@@ -137,8 +142,23 @@ class Nongo {
|
|
|
137
142
|
if (atlasEnabled && searchIndexes.length) {
|
|
138
143
|
await new atlas_api_1.default(atlasParams).ensureSearchIndexes(this.dbName, instance.name, searchIndexes);
|
|
139
144
|
}
|
|
145
|
+
// If the instance we've just indexed has a revision,
|
|
146
|
+
// add to list, so we don't drop it
|
|
147
|
+
indexedCollections.push(collName);
|
|
148
|
+
const revision = instance.getCollectionRevision();
|
|
149
|
+
if (revision) {
|
|
150
|
+
indexedCollections.push(revision);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
const dropCollections = collectionNames.filter((c) => !indexedCollections.includes(c));
|
|
154
|
+
for (const coll of dropCollections) {
|
|
155
|
+
logger.info(`Dropping ${this.dbName}.${coll}`);
|
|
156
|
+
await this.dropCollection(coll);
|
|
140
157
|
}
|
|
141
158
|
}
|
|
159
|
+
async dropCollection(collName) {
|
|
160
|
+
await this.db.dropCollection(collName);
|
|
161
|
+
}
|
|
142
162
|
async dropDatabase() {
|
|
143
163
|
await this.db.dropDatabase();
|
|
144
164
|
}
|
|
@@ -205,7 +225,7 @@ class Nongo {
|
|
|
205
225
|
return url;
|
|
206
226
|
}
|
|
207
227
|
async getCollectionNames() {
|
|
208
|
-
const collections = await
|
|
228
|
+
const collections = await this.db.listCollections().toArray();
|
|
209
229
|
return collections.map((col) => col.name);
|
|
210
230
|
}
|
|
211
231
|
async ensureCollectionIndexes(schema, collName, explicitIndexes, collectionNames) {
|
|
@@ -334,6 +354,6 @@ class Nongo {
|
|
|
334
354
|
}
|
|
335
355
|
}
|
|
336
356
|
exports.default = Nongo;
|
|
337
|
-
Nongo.REVISION =
|
|
338
|
-
Nongo.ENVIRONMENT_MAPPING =
|
|
357
|
+
Nongo.REVISION = 'Revision';
|
|
358
|
+
Nongo.ENVIRONMENT_MAPPING = 'EnvironmentMapping';
|
|
339
359
|
//# sourceMappingURL=nongo.js.map
|
package/dist/nongo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nongo.js","sourceRoot":"","sources":["../src/nongo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nongo.js","sourceRoot":"","sources":["../src/nongo.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/model.ts
CHANGED
|
@@ -46,11 +46,13 @@ export default abstract class Model<
|
|
|
46
46
|
T extends {
|
|
47
47
|
_id?: ObjectId;
|
|
48
48
|
revision?: string;
|
|
49
|
+
previousRevision?: string;
|
|
49
50
|
history?: RevisionHistory[];
|
|
50
51
|
diffs?: any;
|
|
51
52
|
name?: string;
|
|
52
53
|
key?: string;
|
|
53
54
|
environment?: string;
|
|
55
|
+
module?: string;
|
|
54
56
|
deleted?: true;
|
|
55
57
|
} = any,
|
|
56
58
|
> {
|
|
@@ -114,25 +116,17 @@ export default abstract class Model<
|
|
|
114
116
|
return this.obj._id.toHexString();
|
|
115
117
|
}
|
|
116
118
|
|
|
117
|
-
private async getLatestRevisionNumber(
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
.collection(this.collection)
|
|
121
|
-
.findOne(query, {sort: {revision: -1}});
|
|
119
|
+
private async getLatestRevisionNumber(
|
|
120
|
+
query,
|
|
121
|
+
): Promise<{revision: string; newestRevisionId: string}> {
|
|
122
122
|
const revObj = await this.db
|
|
123
123
|
.collection(this.collectionRevision)
|
|
124
124
|
.findOne(query, {sort: {revision: -1}});
|
|
125
|
-
let
|
|
126
|
-
if (
|
|
127
|
-
|
|
128
|
-
? (version = incVersion(liveObj.revision, 'patch'))
|
|
129
|
-
: (version = incVersion(revObj.revision, 'patch'));
|
|
130
|
-
} else if (liveObj) {
|
|
131
|
-
version = incVersion(liveObj.revision, 'patch');
|
|
132
|
-
} else if (revObj) {
|
|
133
|
-
version = incVersion(revObj.revision, 'patch');
|
|
125
|
+
let revision = '0.0.1';
|
|
126
|
+
if (revObj) {
|
|
127
|
+
revision = incVersion(revObj.revision, 'patch');
|
|
134
128
|
}
|
|
135
|
-
return
|
|
129
|
+
return {revision, newestRevisionId: revObj?._id?.toHexString()};
|
|
136
130
|
}
|
|
137
131
|
|
|
138
132
|
/*
|
|
@@ -162,49 +156,54 @@ export default abstract class Model<
|
|
|
162
156
|
const clientEnv = await this.db.collection('Environment').findOne(query);
|
|
163
157
|
const environmentId = clientEnv._id.toHexString();
|
|
164
158
|
|
|
165
|
-
const {name, key} = this.obj;
|
|
166
|
-
|
|
167
|
-
|
|
159
|
+
const {name, module, key} = this.obj;
|
|
160
|
+
const revisionQuery = name ? {name, module} : {key};
|
|
161
|
+
// Get id of newest revision, so we can use that to find the appropriate mapping
|
|
162
|
+
// this is in case the object we're trying to save either doesn't have _id (for example if it's being imported)
|
|
163
|
+
// or if the _id simply isn't correct for the environment
|
|
164
|
+
const {revision, newestRevisionId} = await this.getLatestRevisionNumber(
|
|
165
|
+
revisionQuery,
|
|
166
|
+
);
|
|
167
|
+
this.obj.previousRevision = this.obj.revision;
|
|
168
|
+
this.obj.revision = revision;
|
|
168
169
|
if (clientEnv.isLive) {
|
|
169
|
-
const revisionObjId = new ObjectId();
|
|
170
170
|
const liveRevisionObject = await this.db
|
|
171
171
|
.collection(this.collection)
|
|
172
|
-
.findOne(
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
172
|
+
.findOne(revisionQuery);
|
|
173
|
+
// If object exists in live, override generated id
|
|
174
|
+
this.obj._id = liveRevisionObject
|
|
175
|
+
? liveRevisionObject._id
|
|
176
|
+
: this.obj._id;
|
|
177
177
|
await this.db
|
|
178
178
|
.collection(this.collection)
|
|
179
179
|
.replaceOne({_id: this.obj._id}, this.obj, {upsert: true});
|
|
180
180
|
if (liveRevisionObject) {
|
|
181
|
-
|
|
181
|
+
// Check if the previously live version has a revision equivalent
|
|
182
|
+
const liveRevisionCopy = await this.db
|
|
183
|
+
.collection(this.collectionRevision)
|
|
184
|
+
.find({...query, revision: liveRevisionObject.revision});
|
|
185
|
+
if (!liveRevisionCopy) {
|
|
186
|
+
liveRevisionObject._id = new ObjectId();
|
|
187
|
+
await this.db
|
|
188
|
+
.collection(this.collectionRevision)
|
|
189
|
+
.insertOne(liveRevisionObject);
|
|
190
|
+
}
|
|
191
|
+
// Add new live model to revision, so they're both in sync
|
|
182
192
|
await this.db
|
|
183
193
|
.collection(this.collectionRevision)
|
|
184
|
-
.insertOne(
|
|
194
|
+
.insertOne({...this.obj, _id: new ObjectId()});
|
|
185
195
|
}
|
|
186
196
|
} else {
|
|
187
|
-
const revisionObj = await this.db
|
|
188
|
-
.collection(this.collectionRevision)
|
|
189
|
-
.findOne({_id: this.obj._id});
|
|
190
|
-
|
|
191
|
-
this.obj.history = Nongo.revisionHistory(revisionObj, this.idString());
|
|
192
197
|
this.obj._id = new ObjectId();
|
|
193
198
|
const r = await this.db
|
|
194
199
|
.collection(this.collectionRevision)
|
|
195
200
|
.insertOne(this.obj);
|
|
196
201
|
if (this.obj.revision !== '0.0.1') {
|
|
197
202
|
// update relevant mappings
|
|
198
|
-
const revisionId = revisionObj._id.toHexString();
|
|
199
203
|
const insertedId = r.insertedId.toHexString();
|
|
200
204
|
await this.updateEnvironmentMapping(
|
|
201
|
-
revisionId,
|
|
202
|
-
insertedId,
|
|
203
|
-
environmentId,
|
|
204
|
-
);
|
|
205
|
-
await this.updateIntentEntityBlockMapping(
|
|
206
|
-
revisionId,
|
|
207
205
|
insertedId,
|
|
206
|
+
newestRevisionId,
|
|
208
207
|
environmentId,
|
|
209
208
|
);
|
|
210
209
|
}
|
|
@@ -235,78 +234,45 @@ export default abstract class Model<
|
|
|
235
234
|
|
|
236
235
|
private async createEnvironmentMapping(environmentId: string): Promise<void> {
|
|
237
236
|
await this.db.collection(this.collectionEnvironmentMapping).insertOne({
|
|
238
|
-
|
|
237
|
+
latestRevisionId: this.idString(),
|
|
239
238
|
environments: {[environmentId]: this.idString()},
|
|
240
239
|
});
|
|
241
240
|
}
|
|
242
241
|
|
|
243
242
|
private async updateEnvironmentMapping(
|
|
244
|
-
revisionId: string,
|
|
245
243
|
insertedId: string,
|
|
244
|
+
latestRevisionId: string,
|
|
246
245
|
environmentId: string,
|
|
247
246
|
): Promise<void> {
|
|
248
247
|
const path = `environments.${environmentId}`;
|
|
248
|
+
// Find the mapping where the current
|
|
249
249
|
await this.db
|
|
250
250
|
.collection(this.collectionEnvironmentMapping)
|
|
251
|
-
.updateOne(
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
oldId: string,
|
|
256
|
-
newId: string,
|
|
257
|
-
environment: string,
|
|
258
|
-
): Promise<void> {
|
|
259
|
-
if (this.collection === 'Block') {
|
|
260
|
-
// update intent and entity mappings
|
|
261
|
-
const filter = {block_id: oldId, environment};
|
|
262
|
-
const update = {$set: {block_id: newId}};
|
|
263
|
-
await this.db.collection('IntentBlockMapping').updateMany(filter, update);
|
|
264
|
-
await this.db.collection('EntityBlockMapping').updateMany(filter, update);
|
|
265
|
-
} else if (this.collection === 'Intent') {
|
|
266
|
-
// update intent mapping
|
|
267
|
-
const filter = {intent_id: oldId, environment};
|
|
268
|
-
const update = {$set: {intent_id: newId}};
|
|
269
|
-
await this.db.collection('IntentBlockMapping').updateMany(filter, update);
|
|
270
|
-
} else if (this.collection === 'Entity') {
|
|
271
|
-
// update entity mapping
|
|
272
|
-
const filter = {entity_id: oldId, environment};
|
|
273
|
-
const update = {$set: {entity_id: newId}};
|
|
274
|
-
await this.db.collection('EntityBlockMapping').updateMany(filter, update);
|
|
275
|
-
} else if (this.collection === 'FormModel') {
|
|
276
|
-
return;
|
|
277
|
-
} else {
|
|
278
|
-
throw Error(`${this.collection} is unsupported revision type.`);
|
|
279
|
-
}
|
|
251
|
+
.updateOne(
|
|
252
|
+
{latestRevisionId},
|
|
253
|
+
{$set: {[path]: insertedId, latestRevisionId: insertedId}},
|
|
254
|
+
);
|
|
280
255
|
}
|
|
281
256
|
|
|
282
257
|
public async revertVersion(id: string, revisionId: string): Promise<this> {
|
|
283
|
-
const revisionObjId = new ObjectId();
|
|
284
258
|
// get the actuall object
|
|
285
259
|
const obj = await this.db
|
|
286
260
|
.collection(this.collection)
|
|
287
261
|
.findOne({_id: new ObjectId(id)});
|
|
288
262
|
|
|
289
|
-
// get revision
|
|
263
|
+
// get revision to revert to
|
|
290
264
|
const objToRevert = await this.db
|
|
291
265
|
.collection(this.collectionRevision)
|
|
292
266
|
.findOne({_id: new ObjectId(revisionId)});
|
|
293
267
|
|
|
294
|
-
//
|
|
295
|
-
objToRevert.revision = Nongo.revisionNumber(obj.revision);
|
|
296
|
-
objToRevert.history = Nongo.revisionHistory(obj, revisionObjId);
|
|
297
|
-
delete objToRevert.diffs;
|
|
298
|
-
const diffs = diff(obj, objToRevert);
|
|
299
|
-
objToRevert.diffs = excludePathsFromDiff(diffs);
|
|
268
|
+
// set id of revision to id of original, so it saves properly
|
|
300
269
|
objToRevert._id = obj._id;
|
|
301
270
|
|
|
271
|
+
// revert
|
|
302
272
|
await this.db
|
|
303
273
|
.collection(this.collection)
|
|
304
274
|
.replaceOne({_id: obj._id}, objToRevert);
|
|
305
275
|
|
|
306
|
-
// make actuall object as revision object and save it to the revision collection
|
|
307
|
-
obj._id = revisionObjId;
|
|
308
|
-
await this.db.collection(this.collectionRevision).insertOne(obj);
|
|
309
|
-
|
|
310
276
|
// Return the doc as a model
|
|
311
277
|
// @ts-ignore
|
|
312
278
|
return new this.constructor(this.nongo, objToRevert);
|
|
@@ -431,17 +397,6 @@ export default abstract class Model<
|
|
|
431
397
|
return this.findOne({_id: id});
|
|
432
398
|
}
|
|
433
399
|
|
|
434
|
-
public async getRevisionHistory(history: RevisionHistory[]) {
|
|
435
|
-
const revisionIds = history.map((i) => new ObjectId(i.id));
|
|
436
|
-
return this.toArray(
|
|
437
|
-
await this.findIterator(
|
|
438
|
-
{_id: {$in: revisionIds}},
|
|
439
|
-
{sort: {revision: 'descending'}},
|
|
440
|
-
this.collectionRevision,
|
|
441
|
-
),
|
|
442
|
-
);
|
|
443
|
-
}
|
|
444
|
-
|
|
445
400
|
public async getRevisions(
|
|
446
401
|
query: Filter<Document>,
|
|
447
402
|
options?: FindOptions<Document>,
|
package/src/nongo.ts
CHANGED
|
@@ -4,7 +4,7 @@ import Logger from 'wbb-logger';
|
|
|
4
4
|
import incVersion from 'semver/functions/inc';
|
|
5
5
|
import AtlasApi from './atlas-api';
|
|
6
6
|
import {Newable} from './interface';
|
|
7
|
-
import Model, {
|
|
7
|
+
import Model, {RevisionHistory} from './model';
|
|
8
8
|
import MongoIndex from './mongo-index';
|
|
9
9
|
import MongoIndexSet from './mongo-index-set';
|
|
10
10
|
import NongoParams from './nongo-params';
|
|
@@ -42,13 +42,11 @@ export default class Nongo {
|
|
|
42
42
|
} else {
|
|
43
43
|
// we don't want to mutate the original array
|
|
44
44
|
const array = [...model.history];
|
|
45
|
-
array.push(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
)
|
|
45
|
+
array.push({
|
|
46
|
+
id: revisionId.toString(),
|
|
47
|
+
revision: model.revision,
|
|
48
|
+
created: new Date(),
|
|
49
|
+
});
|
|
52
50
|
return array;
|
|
53
51
|
}
|
|
54
52
|
}
|
|
@@ -58,8 +56,8 @@ export default class Nongo {
|
|
|
58
56
|
public noStripKeys: any = {};
|
|
59
57
|
public db: Db;
|
|
60
58
|
public dbName: string;
|
|
61
|
-
public static REVISION =
|
|
62
|
-
public static ENVIRONMENT_MAPPING =
|
|
59
|
+
public static REVISION = 'Revision';
|
|
60
|
+
public static ENVIRONMENT_MAPPING = 'EnvironmentMapping';
|
|
63
61
|
|
|
64
62
|
// Parallel to {@code this.modelClasses} and {@code this.schemaParsers}
|
|
65
63
|
private instances: Model[];
|
|
@@ -82,12 +80,15 @@ export default class Nongo {
|
|
|
82
80
|
public schemaParsers?: SchemaParser[],
|
|
83
81
|
public mongoClient?: MongoClient,
|
|
84
82
|
private readonly poolSize?: number,
|
|
85
|
-
) {
|
|
86
|
-
}
|
|
83
|
+
) {}
|
|
87
84
|
|
|
88
85
|
public async connect() {
|
|
89
86
|
// Connect to the database
|
|
90
|
-
this.mongoClient =
|
|
87
|
+
this.mongoClient =
|
|
88
|
+
this.mongoClient ??
|
|
89
|
+
(await new MongoClient(this.uri(), {
|
|
90
|
+
minPoolSize: this.poolSize,
|
|
91
|
+
}).connect());
|
|
91
92
|
this.db = this.mongoClient.db(this.params.db);
|
|
92
93
|
this.dbName = this.params.db;
|
|
93
94
|
|
|
@@ -146,9 +147,9 @@ export default class Nongo {
|
|
|
146
147
|
}
|
|
147
148
|
|
|
148
149
|
public async ensureIndexes(): Promise<void> {
|
|
149
|
-
|
|
150
|
+
// collections in Mongo
|
|
150
151
|
const collectionNames = await this.getCollectionNames();
|
|
151
|
-
|
|
152
|
+
const indexedCollections: string[] = [];
|
|
152
153
|
// Iterate over each of the model instances we have so we can ensure their indexes
|
|
153
154
|
for (let i = 0; i < this.instances.length; i++) {
|
|
154
155
|
const instance = this.instances[i];
|
|
@@ -159,7 +160,12 @@ export default class Nongo {
|
|
|
159
160
|
const explicitIndexes = instance.getMongoIndexes();
|
|
160
161
|
const collName = instance.collection;
|
|
161
162
|
try {
|
|
162
|
-
await this.ensureCollectionIndexes(
|
|
163
|
+
await this.ensureCollectionIndexes(
|
|
164
|
+
schema,
|
|
165
|
+
collName,
|
|
166
|
+
explicitIndexes,
|
|
167
|
+
collectionNames,
|
|
168
|
+
);
|
|
163
169
|
} catch (err) {
|
|
164
170
|
logger.error(`Failed to ensure indexes for ${collName}`);
|
|
165
171
|
logger.error(err);
|
|
@@ -170,12 +176,34 @@ export default class Nongo {
|
|
|
170
176
|
const atlasParams = this.params.atlas;
|
|
171
177
|
const atlasEnabled = atlasParams && !atlasParams.disabled;
|
|
172
178
|
if (atlasEnabled && searchIndexes.length) {
|
|
173
|
-
await new AtlasApi(atlasParams).ensureSearchIndexes(
|
|
179
|
+
await new AtlasApi(atlasParams).ensureSearchIndexes(
|
|
180
|
+
this.dbName,
|
|
181
|
+
instance.name,
|
|
182
|
+
searchIndexes,
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
// If the instance we've just indexed has a revision,
|
|
186
|
+
// add to list, so we don't drop it
|
|
187
|
+
indexedCollections.push(collName);
|
|
188
|
+
const revision = instance.getCollectionRevision();
|
|
189
|
+
if (revision) {
|
|
190
|
+
indexedCollections.push(revision);
|
|
174
191
|
}
|
|
192
|
+
}
|
|
175
193
|
|
|
194
|
+
const dropCollections = collectionNames.filter(
|
|
195
|
+
(c) => !indexedCollections.includes(c),
|
|
196
|
+
);
|
|
197
|
+
for (const coll of dropCollections) {
|
|
198
|
+
logger.info(`Dropping ${this.dbName}.${coll}`);
|
|
199
|
+
await this.dropCollection(coll);
|
|
176
200
|
}
|
|
177
201
|
}
|
|
178
202
|
|
|
203
|
+
private async dropCollection(collName) {
|
|
204
|
+
await this.db.dropCollection(collName);
|
|
205
|
+
}
|
|
206
|
+
|
|
179
207
|
public async dropDatabase() {
|
|
180
208
|
await this.db.dropDatabase();
|
|
181
209
|
}
|
|
@@ -258,7 +286,7 @@ export default class Nongo {
|
|
|
258
286
|
}
|
|
259
287
|
|
|
260
288
|
private async getCollectionNames(): Promise<string[]> {
|
|
261
|
-
const collections = await
|
|
289
|
+
const collections = await this.db.listCollections().toArray();
|
|
262
290
|
return collections.map((col) => col.name);
|
|
263
291
|
}
|
|
264
292
|
|
|
@@ -271,7 +299,10 @@ export default class Nongo {
|
|
|
271
299
|
const context = this.dbName + '.' + collName;
|
|
272
300
|
|
|
273
301
|
// Get the existing set of indexes, we will remove the ones we want to keep
|
|
274
|
-
const existingIndexes = await this.existingIndexes(
|
|
302
|
+
const existingIndexes = await this.existingIndexes(
|
|
303
|
+
collName,
|
|
304
|
+
collectionNames,
|
|
305
|
+
);
|
|
275
306
|
|
|
276
307
|
// Ensure all the required indexes have been applied
|
|
277
308
|
const indexSet = await this.getSchemaIndexes(schema);
|
|
@@ -55,7 +55,7 @@ describe('Testing nongo revisioning', () => {
|
|
|
55
55
|
model.obj.age = 30;
|
|
56
56
|
await model.save();
|
|
57
57
|
expect(model.obj.revision).toEqual('0.0.2');
|
|
58
|
-
const revisions = await nongo.col(DummyModelWithRevision).
|
|
58
|
+
const revisions = await nongo.col(DummyModelWithRevision).getRevisions({name: model.obj.name});
|
|
59
59
|
expect(revisions.length).toEqual(1);
|
|
60
60
|
})
|
|
61
61
|
|
|
@@ -63,7 +63,7 @@ describe('Testing nongo revisioning', () => {
|
|
|
63
63
|
const model = await nongo.col(DummyModelWithRevision).findOne({name: 'John'});
|
|
64
64
|
model.obj.name = 'Nick';
|
|
65
65
|
await model.save();
|
|
66
|
-
const revisions = await nongo.col(DummyModelWithRevision).
|
|
66
|
+
const revisions = await nongo.col(DummyModelWithRevision).getRevisions({name: model.obj.name})
|
|
67
67
|
expect(revisions.length).toEqual(2);
|
|
68
68
|
const models = await nongo.col(DummyModelWithRevision).find();
|
|
69
69
|
expect(models.length).toEqual(2);
|
|
@@ -73,7 +73,7 @@ describe('Testing nongo revisioning', () => {
|
|
|
73
73
|
const revision = await nongo.col(DummyModelWithRevision).getRevision({name: "John", revision: "0.0.1"});
|
|
74
74
|
expect(revision.obj.revision).toEqual("0.0.1");
|
|
75
75
|
const model = await nongo.col(DummyModelWithRevision).findOne({name: 'Nick'});
|
|
76
|
-
const latestDoc = await nongo.col(DummyModelWithRevision).revertVersion(model.obj._id
|
|
76
|
+
const latestDoc = await nongo.col(DummyModelWithRevision).revertVersion(model.obj._id);
|
|
77
77
|
expect(latestDoc.obj.name).toEqual(revision.obj.name)
|
|
78
78
|
})
|
|
79
79
|
})
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// This file was generated using nongo-driver's TsInterfaceGenerator.
|
|
2
|
+
export default interface DummyModelChangedObj {
|
|
3
|
+
'name': string;
|
|
4
|
+
'pets': Array<{
|
|
5
|
+
'species'?: string;
|
|
6
|
+
'likes'?: {
|
|
7
|
+
'food'?: string[];
|
|
8
|
+
'drink'?: string[];
|
|
9
|
+
};
|
|
10
|
+
}>;
|
|
11
|
+
'_id'?: any;
|
|
12
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// This file was generated using nongo-driver's TsInterfaceGenerator.
|
|
2
|
+
export default interface DummyModelObj {
|
|
3
|
+
'dontStripChildren'?: any;
|
|
4
|
+
'dontStripChildren2'?: any;
|
|
5
|
+
'exampleMap'?: {[key: string]: {
|
|
6
|
+
'mapValueField': string;
|
|
7
|
+
}};
|
|
8
|
+
'created'?: Date;
|
|
9
|
+
'arrayOfObject'?: object[];
|
|
10
|
+
'name': string;
|
|
11
|
+
'age': number;
|
|
12
|
+
'pets': Array<{
|
|
13
|
+
'species'?: string;
|
|
14
|
+
'likes'?: {
|
|
15
|
+
'food'?: string[];
|
|
16
|
+
'drink'?: string[];
|
|
17
|
+
};
|
|
18
|
+
}>;
|
|
19
|
+
'job': {
|
|
20
|
+
'role': string;
|
|
21
|
+
'at'?: string;
|
|
22
|
+
};
|
|
23
|
+
'location'?: {
|
|
24
|
+
'address1'?: string;
|
|
25
|
+
};
|
|
26
|
+
'autoInit': {
|
|
27
|
+
'initArray': Array<{
|
|
28
|
+
'nestedObj': any;
|
|
29
|
+
}>;
|
|
30
|
+
'initNestedObj'?: {
|
|
31
|
+
'hello'?: string;
|
|
32
|
+
};
|
|
33
|
+
'initNestedNative'?: any;
|
|
34
|
+
};
|
|
35
|
+
'notEmptyFields'?: {
|
|
36
|
+
'aString': string;
|
|
37
|
+
'anArray': string[];
|
|
38
|
+
};
|
|
39
|
+
'_id'?: any;
|
|
40
|
+
}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
// This file was generated using nongo-driver's TsInterfaceGenerator.
|
|
2
|
+
export default interface DummyModelWithMaxIndexObj {
|
|
3
|
+
'clients'?: {
|
|
4
|
+
'client1'?: {
|
|
5
|
+
'favouritePet'?: string;
|
|
6
|
+
};
|
|
7
|
+
'client2'?: {
|
|
8
|
+
'favouritePet'?: string;
|
|
9
|
+
};
|
|
10
|
+
'client3'?: {
|
|
11
|
+
'favouritePet'?: string;
|
|
12
|
+
};
|
|
13
|
+
'client4'?: {
|
|
14
|
+
'favouritePet'?: string;
|
|
15
|
+
};
|
|
16
|
+
'client5'?: {
|
|
17
|
+
'favouritePet'?: string;
|
|
18
|
+
};
|
|
19
|
+
'client6'?: {
|
|
20
|
+
'favouritePet'?: string;
|
|
21
|
+
};
|
|
22
|
+
'client7'?: {
|
|
23
|
+
'favouritePet'?: string;
|
|
24
|
+
};
|
|
25
|
+
'client8'?: {
|
|
26
|
+
'favouritePet'?: string;
|
|
27
|
+
};
|
|
28
|
+
'client9'?: {
|
|
29
|
+
'favouritePet'?: string;
|
|
30
|
+
};
|
|
31
|
+
'client10'?: {
|
|
32
|
+
'favouritePet'?: string;
|
|
33
|
+
};
|
|
34
|
+
'client11'?: {
|
|
35
|
+
'favouritePet'?: string;
|
|
36
|
+
};
|
|
37
|
+
'client12'?: {
|
|
38
|
+
'favouritePet'?: string;
|
|
39
|
+
};
|
|
40
|
+
'client13'?: {
|
|
41
|
+
'favouritePet'?: string;
|
|
42
|
+
};
|
|
43
|
+
'client14'?: {
|
|
44
|
+
'favouritePet'?: string;
|
|
45
|
+
};
|
|
46
|
+
'client15'?: {
|
|
47
|
+
'favouritePet'?: string;
|
|
48
|
+
};
|
|
49
|
+
'client16'?: {
|
|
50
|
+
'favouritePet'?: string;
|
|
51
|
+
};
|
|
52
|
+
'client17'?: {
|
|
53
|
+
'favouritePet'?: string;
|
|
54
|
+
};
|
|
55
|
+
'client18'?: {
|
|
56
|
+
'favouritePet'?: string;
|
|
57
|
+
};
|
|
58
|
+
'client19'?: {
|
|
59
|
+
'favouritePet'?: string;
|
|
60
|
+
};
|
|
61
|
+
'client20'?: {
|
|
62
|
+
'favouritePet'?: string;
|
|
63
|
+
};
|
|
64
|
+
'client21'?: {
|
|
65
|
+
'favouritePet'?: string;
|
|
66
|
+
};
|
|
67
|
+
'client22'?: {
|
|
68
|
+
'favouritePet'?: string;
|
|
69
|
+
};
|
|
70
|
+
'client23'?: {
|
|
71
|
+
'favouritePet'?: string;
|
|
72
|
+
};
|
|
73
|
+
'client24'?: {
|
|
74
|
+
'favouritePet'?: string;
|
|
75
|
+
};
|
|
76
|
+
'client25'?: {
|
|
77
|
+
'favouritePet'?: string;
|
|
78
|
+
};
|
|
79
|
+
'client26'?: {
|
|
80
|
+
'favouritePet'?: string;
|
|
81
|
+
};
|
|
82
|
+
'client27'?: {
|
|
83
|
+
'favouritePet'?: string;
|
|
84
|
+
};
|
|
85
|
+
'client28'?: {
|
|
86
|
+
'favouritePet'?: string;
|
|
87
|
+
};
|
|
88
|
+
'client29'?: {
|
|
89
|
+
'favouritePet'?: string;
|
|
90
|
+
};
|
|
91
|
+
'client30'?: {
|
|
92
|
+
'favouritePet'?: string;
|
|
93
|
+
};
|
|
94
|
+
'client31'?: {
|
|
95
|
+
'favouritePet'?: string;
|
|
96
|
+
};
|
|
97
|
+
'client32'?: {
|
|
98
|
+
'favouritePet'?: string;
|
|
99
|
+
};
|
|
100
|
+
'client33'?: {
|
|
101
|
+
'favouritePet'?: string;
|
|
102
|
+
};
|
|
103
|
+
'client34'?: {
|
|
104
|
+
'favouritePet'?: string;
|
|
105
|
+
};
|
|
106
|
+
'client35'?: {
|
|
107
|
+
'favouritePet'?: string;
|
|
108
|
+
};
|
|
109
|
+
'client36'?: {
|
|
110
|
+
'favouritePet'?: string;
|
|
111
|
+
};
|
|
112
|
+
'client37'?: {
|
|
113
|
+
'favouritePet'?: string;
|
|
114
|
+
};
|
|
115
|
+
'client38'?: {
|
|
116
|
+
'favouritePet'?: string;
|
|
117
|
+
};
|
|
118
|
+
'client39'?: {
|
|
119
|
+
'favouritePet'?: string;
|
|
120
|
+
};
|
|
121
|
+
'client40'?: {
|
|
122
|
+
'favouritePet'?: string;
|
|
123
|
+
};
|
|
124
|
+
'client41'?: {
|
|
125
|
+
'favouritePet'?: string;
|
|
126
|
+
};
|
|
127
|
+
'client42'?: {
|
|
128
|
+
'favouritePet'?: string;
|
|
129
|
+
};
|
|
130
|
+
'client43'?: {
|
|
131
|
+
'favouritePet'?: string;
|
|
132
|
+
};
|
|
133
|
+
'client44'?: {
|
|
134
|
+
'favouritePet'?: string;
|
|
135
|
+
};
|
|
136
|
+
'client45'?: {
|
|
137
|
+
'favouritePet'?: string;
|
|
138
|
+
};
|
|
139
|
+
'client46'?: {
|
|
140
|
+
'favouritePet'?: string;
|
|
141
|
+
};
|
|
142
|
+
'client47'?: {
|
|
143
|
+
'favouritePet'?: string;
|
|
144
|
+
};
|
|
145
|
+
'client48'?: {
|
|
146
|
+
'favouritePet'?: string;
|
|
147
|
+
};
|
|
148
|
+
'client49'?: {
|
|
149
|
+
'favouritePet'?: string;
|
|
150
|
+
};
|
|
151
|
+
'client50'?: {
|
|
152
|
+
'favouritePet'?: string;
|
|
153
|
+
};
|
|
154
|
+
'client51'?: {
|
|
155
|
+
'favouritePet'?: string;
|
|
156
|
+
};
|
|
157
|
+
'client52'?: {
|
|
158
|
+
'favouritePet'?: string;
|
|
159
|
+
};
|
|
160
|
+
'client53'?: {
|
|
161
|
+
'favouritePet'?: string;
|
|
162
|
+
};
|
|
163
|
+
'client54'?: {
|
|
164
|
+
'favouritePet'?: string;
|
|
165
|
+
};
|
|
166
|
+
'client55'?: {
|
|
167
|
+
'favouritePet'?: string;
|
|
168
|
+
};
|
|
169
|
+
'client56'?: {
|
|
170
|
+
'favouritePet'?: string;
|
|
171
|
+
};
|
|
172
|
+
'client57'?: {
|
|
173
|
+
'favouritePet'?: string;
|
|
174
|
+
};
|
|
175
|
+
'client58'?: {
|
|
176
|
+
'favouritePet'?: string;
|
|
177
|
+
};
|
|
178
|
+
'client59'?: {
|
|
179
|
+
'favouritePet'?: string;
|
|
180
|
+
};
|
|
181
|
+
'client60'?: {
|
|
182
|
+
'favouritePet'?: string;
|
|
183
|
+
};
|
|
184
|
+
'client61'?: {
|
|
185
|
+
'favouritePet'?: string;
|
|
186
|
+
};
|
|
187
|
+
'client62'?: {
|
|
188
|
+
'favouritePet'?: string;
|
|
189
|
+
};
|
|
190
|
+
'client63'?: {
|
|
191
|
+
'favouritePet'?: string;
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
'_id'?: any;
|
|
195
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// This file was generated using nongo-driver's TsInterfaceGenerator.
|
|
2
|
+
export default interface DummyModelWithRevisionObj {
|
|
3
|
+
'revision'?: string;
|
|
4
|
+
'history'?: Array<{
|
|
5
|
+
'id'?: string;
|
|
6
|
+
'revision'?: string;
|
|
7
|
+
'created'?: Date;
|
|
8
|
+
}>;
|
|
9
|
+
'created': Date;
|
|
10
|
+
'name': string;
|
|
11
|
+
'age'?: number;
|
|
12
|
+
'_id'?: any;
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// This file was generated using nongo-driver's TsInterfaceGenerator.
|
|
2
|
+
export default interface TextIndexModelModifiedObj {
|
|
3
|
+
'name'?: string;
|
|
4
|
+
'module'?: string;
|
|
5
|
+
'description'?: {
|
|
6
|
+
'en'?: string;
|
|
7
|
+
'cy'?: string;
|
|
8
|
+
'es'?: string;
|
|
9
|
+
};
|
|
10
|
+
'summary'?: string;
|
|
11
|
+
'_id'?: any;
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// This file was generated using nongo-driver's TsInterfaceGenerator.
|
|
2
|
+
export default interface TextIndexModelTooLongObj {
|
|
3
|
+
'name'?: string;
|
|
4
|
+
'module'?: string;
|
|
5
|
+
'description'?: {
|
|
6
|
+
'en'?: string;
|
|
7
|
+
'cy'?: string;
|
|
8
|
+
};
|
|
9
|
+
'summary'?: string;
|
|
10
|
+
'_id'?: any;
|
|
11
|
+
}
|