@smartsoft001/mongo 1.1.91 → 1.2.0

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.
Files changed (43) hide show
  1. package/.eslintrc +13 -0
  2. package/jest.config.ts +27 -0
  3. package/package.json +2 -26
  4. package/project.json +48 -0
  5. package/src/index.ts +3 -0
  6. package/src/lib/mongo.config.ts +10 -0
  7. package/src/lib/mongo.module.ts +28 -0
  8. package/src/lib/mongo.unitofwork.spec.ts +84 -0
  9. package/src/lib/mongo.unitofwork.ts +58 -0
  10. package/src/lib/mongo.utils.spec.ts +54 -0
  11. package/src/lib/mongo.utils.ts +17 -0
  12. package/src/lib/repositories/attachment.repository.spec.ts +249 -0
  13. package/src/lib/repositories/attachment.repository.ts +113 -0
  14. package/src/lib/repositories/interfaces.ts +28 -0
  15. package/src/lib/repositories/item.repository.spec.ts +1269 -0
  16. package/src/lib/repositories/item.repository.ts +582 -0
  17. package/tsconfig.json +13 -0
  18. package/tsconfig.lib.json +11 -0
  19. package/tsconfig.spec.json +20 -0
  20. package/src/index.d.ts +0 -3
  21. package/src/index.js +0 -7
  22. package/src/index.js.map +0 -1
  23. package/src/lib/mongo.config.d.ts +0 -9
  24. package/src/lib/mongo.config.js +0 -7
  25. package/src/lib/mongo.config.js.map +0 -1
  26. package/src/lib/mongo.module.d.ts +0 -5
  27. package/src/lib/mongo.module.js +0 -25
  28. package/src/lib/mongo.module.js.map +0 -1
  29. package/src/lib/mongo.unitofwork.d.ts +0 -12
  30. package/src/lib/mongo.unitofwork.js +0 -56
  31. package/src/lib/mongo.unitofwork.js.map +0 -1
  32. package/src/lib/mongo.utils.d.ts +0 -2
  33. package/src/lib/mongo.utils.js +0 -13
  34. package/src/lib/mongo.utils.js.map +0 -1
  35. package/src/lib/repositories/attachment.repository.d.ts +0 -28
  36. package/src/lib/repositories/attachment.repository.js +0 -88
  37. package/src/lib/repositories/attachment.repository.js.map +0 -1
  38. package/src/lib/repositories/item.repository.d.ts +0 -51
  39. package/src/lib/repositories/item.repository.js +0 -411
  40. package/src/lib/repositories/item.repository.js.map +0 -1
  41. package/test-setup.js +0 -1
  42. package/test-setup.js.map +0 -1
  43. /package/{test-setup.d.ts → test-setup.ts} +0 -0
@@ -1,411 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MongoItemRepository = void 0;
4
- const tslib_1 = require("tslib");
5
- const common_1 = require("@nestjs/common");
6
- const mongodb_1 = require("mongodb");
7
- const rxjs_1 = require("rxjs");
8
- const operators_1 = require("rxjs/operators");
9
- const domain_core_1 = require("@smartsoft001/domain-core");
10
- const utils_1 = require("@smartsoft001/utils");
11
- const models_1 = require("@smartsoft001/models");
12
- const mongo_config_1 = require("../mongo.config");
13
- const mongo_utils_1 = require("../mongo.utils");
14
- let MongoItemRepository = exports.MongoItemRepository = class MongoItemRepository extends domain_core_1.IItemRepository {
15
- constructor(config) {
16
- super();
17
- this.config = config;
18
- }
19
- create(item, user, repoOptions) {
20
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
21
- yield this.collectionContext((collection) => tslib_1.__awaiter(this, void 0, void 0, function* () {
22
- var _a;
23
- try {
24
- yield collection.insertOne(this.getModelToCreate(item, user), {
25
- session: (_a = repoOptions === null || repoOptions === void 0 ? void 0 : repoOptions.transaction) === null || _a === void 0 ? void 0 : _a.session,
26
- });
27
- this.logChange('create', item, repoOptions, user, null).then();
28
- }
29
- catch (errInsert) {
30
- this.logChange('create', item, repoOptions, user, errInsert).then();
31
- throw errInsert;
32
- }
33
- }));
34
- });
35
- }
36
- clear(user, repoOptions) {
37
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
38
- yield this.collectionContext((collection) => tslib_1.__awaiter(this, void 0, void 0, function* () {
39
- var _a;
40
- try {
41
- yield collection.deleteMany({}, { session: (_a = repoOptions === null || repoOptions === void 0 ? void 0 : repoOptions.transaction) === null || _a === void 0 ? void 0 : _a.session });
42
- this.logChange('clear', null, repoOptions, user, null).then();
43
- }
44
- catch (errClear) {
45
- this.logChange('clear', null, repoOptions, user, errClear).then();
46
- throw errClear;
47
- }
48
- }));
49
- });
50
- }
51
- createMany(list, user, repoOptions) {
52
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
53
- yield this.collectionContext((collection) => tslib_1.__awaiter(this, void 0, void 0, function* () {
54
- var _a;
55
- try {
56
- yield collection.insertMany(list.map((item) => this.getModelToCreate(item, user)), { session: (_a = repoOptions === null || repoOptions === void 0 ? void 0 : repoOptions.transaction) === null || _a === void 0 ? void 0 : _a.session });
57
- this.logChange('createMany', null, repoOptions, user, null).then();
58
- }
59
- catch (errInsert) {
60
- this.logChange('createMany', null, repoOptions, user, errInsert).then();
61
- throw errInsert;
62
- }
63
- }));
64
- });
65
- }
66
- update(item, user, repoOptions) {
67
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
68
- yield this.collectionContext((collection) => tslib_1.__awaiter(this, void 0, void 0, function* () {
69
- var _a;
70
- try {
71
- const info = yield this.getInfo(item.id, collection);
72
- yield collection.replaceOne({ _id: item.id }, this.getModelToUpdate(item, user, info), { session: (_a = repoOptions === null || repoOptions === void 0 ? void 0 : repoOptions.transaction) === null || _a === void 0 ? void 0 : _a.session });
73
- this.logChange('update', item, repoOptions, user, null).then();
74
- }
75
- catch (errInsert) {
76
- this.logChange('update', item, repoOptions, user, errInsert).then();
77
- throw errInsert;
78
- }
79
- }));
80
- });
81
- }
82
- updatePartial(item, user, repoOptions) {
83
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
84
- yield this.collectionContext((collection) => tslib_1.__awaiter(this, void 0, void 0, function* () {
85
- var _a;
86
- try {
87
- const info = yield this.getInfo(item.id, collection);
88
- yield collection.updateOne({ _id: item.id }, {
89
- $set: this.getModelToUpdate(item, user, info),
90
- }, { session: (_a = repoOptions === null || repoOptions === void 0 ? void 0 : repoOptions.transaction) === null || _a === void 0 ? void 0 : _a.session });
91
- this.logChange('updatePartial', item, repoOptions, user, null).then();
92
- }
93
- catch (errUpdate) {
94
- this.logChange('updatePartial', item, repoOptions, user, errUpdate).then();
95
- throw errUpdate;
96
- }
97
- }));
98
- });
99
- }
100
- updatePartialManyByCriteria(criteria, set, user, repoOptions) {
101
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
102
- yield this.collectionContext((collection) => tslib_1.__awaiter(this, void 0, void 0, function* () {
103
- var _a;
104
- try {
105
- this.convertIdInCriteria(criteria);
106
- yield collection.updateMany(criteria, {
107
- $set: Object.assign(Object.assign({}, set), { '__info.update': {
108
- username: user === null || user === void 0 ? void 0 : user.username,
109
- date: new Date(),
110
- } }),
111
- }, { session: (_a = repoOptions === null || repoOptions === void 0 ? void 0 : repoOptions.transaction) === null || _a === void 0 ? void 0 : _a.session });
112
- this.logChange('updatePartialManyByCriteria', Object.assign(Object.assign({}, criteria), { set }), repoOptions, user, null).then();
113
- }
114
- catch (errUpdate) {
115
- this.logChange('updatePartialManyByCriteria', Object.assign(Object.assign({}, criteria), { set }), repoOptions, user, errUpdate).then();
116
- throw errUpdate;
117
- }
118
- }));
119
- });
120
- }
121
- updatePartialManyBySpecification(spec, set, user, repoOptions) {
122
- return this.updatePartialManyByCriteria(spec.criteria, set, user, repoOptions);
123
- }
124
- delete(id, user, repoOptions) {
125
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
126
- yield this.collectionContext((collection) => tslib_1.__awaiter(this, void 0, void 0, function* () {
127
- var _a;
128
- try {
129
- yield collection.deleteOne({ _id: id }, { session: (_a = repoOptions === null || repoOptions === void 0 ? void 0 : repoOptions.transaction) === null || _a === void 0 ? void 0 : _a.session });
130
- this.logChange('delete', {
131
- id,
132
- }, repoOptions, user, null).then();
133
- }
134
- catch (errDelete) {
135
- this.logChange('delete', {
136
- id,
137
- }, repoOptions, user, errDelete).then();
138
- throw errDelete;
139
- }
140
- }));
141
- });
142
- }
143
- getById(id, repoOptions) {
144
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
145
- return yield this.collectionContext((collection) => tslib_1.__awaiter(this, void 0, void 0, function* () {
146
- var _a;
147
- const item = yield collection.findOne({ _id: id }, {
148
- session: (_a = repoOptions === null || repoOptions === void 0 ? void 0 : repoOptions.transaction) === null || _a === void 0 ? void 0 : _a.session,
149
- });
150
- return this.getModelToResult(item);
151
- }));
152
- });
153
- }
154
- getByCriteria(criteria, options = {}) {
155
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
156
- return yield this.collectionContext((collection) => tslib_1.__awaiter(this, void 0, void 0, function* () {
157
- this.convertIdInCriteria(criteria);
158
- this.generateSearch(criteria);
159
- const totalCount = yield this.getCount(criteria, collection);
160
- const aggregate = [];
161
- if (criteria) {
162
- aggregate.push({ $match: criteria });
163
- }
164
- if (options === null || options === void 0 ? void 0 : options.sort) {
165
- aggregate.push({ $sort: options.sort });
166
- }
167
- if (options === null || options === void 0 ? void 0 : options.skip) {
168
- aggregate.push({ $skip: options.skip });
169
- }
170
- if (options === null || options === void 0 ? void 0 : options.limit) {
171
- aggregate.push({ $limit: options.limit });
172
- }
173
- if (options === null || options === void 0 ? void 0 : options.project) {
174
- aggregate.push({ $project: options.project });
175
- }
176
- if (options === null || options === void 0 ? void 0 : options.min) {
177
- aggregate.push({ $min: options.min });
178
- }
179
- if (options === null || options === void 0 ? void 0 : options.max) {
180
- aggregate.push({ $max: options.max });
181
- }
182
- if (options === null || options === void 0 ? void 0 : options.group) {
183
- aggregate.push({ $group: options.group });
184
- }
185
- const list = yield collection
186
- .aggregate(aggregate, {
187
- allowDiskUse: options === null || options === void 0 ? void 0 : options.allowDiskUse,
188
- session: options === null || options === void 0 ? void 0 : options.session,
189
- })
190
- .toArray();
191
- return {
192
- data: list.map((item) => this.getModelToResult(item)),
193
- totalCount,
194
- };
195
- }));
196
- });
197
- }
198
- getBySpecification(spec, options = {}) {
199
- return this.getByCriteria(spec.criteria, options);
200
- }
201
- countByCriteria(criteria) {
202
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
203
- return yield this.collectionContext((collection) => tslib_1.__awaiter(this, void 0, void 0, function* () {
204
- this.convertIdInCriteria(criteria);
205
- this.generateSearch(criteria);
206
- return yield this.getCount(criteria, collection);
207
- }));
208
- });
209
- }
210
- countBySpecification(spec) {
211
- return this.countByCriteria(spec.criteria);
212
- }
213
- changesByCriteria(criteria) {
214
- let stream;
215
- let client;
216
- return new rxjs_1.Observable((observer) => {
217
- (() => tslib_1.__awaiter(this, void 0, void 0, function* () {
218
- try {
219
- client = yield mongodb_1.MongoClient.connect(this.getUrl());
220
- const db = client.db(this.config.database);
221
- const collection = db.collection(this.config.collection);
222
- const pipeline = criteria.id
223
- ? [
224
- {
225
- $match: {
226
- 'documentKey._id': criteria.id,
227
- },
228
- },
229
- ]
230
- : [];
231
- stream = collection.watch(pipeline).on('change', (result) => {
232
- observer.next({
233
- id: result['documentKey']['_id'],
234
- type: this.mapChangeType(result.operationType),
235
- data: result.operationType === 'update'
236
- ? result['updateDescription']
237
- : this.getModelToResult(result['fullDocument']),
238
- });
239
- });
240
- }
241
- catch (err) {
242
- observer.error(err);
243
- }
244
- }))();
245
- }).pipe((0, operators_1.finalize)(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
246
- console.log('Stop watch');
247
- yield stream.close();
248
- yield client.close();
249
- })), (0, operators_1.share)());
250
- }
251
- getContext(handler) {
252
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
253
- const client = yield mongodb_1.MongoClient.connect(this.getUrl());
254
- const db = client.db(this.config.database);
255
- try {
256
- const result = yield handler(db);
257
- yield client.close();
258
- return result;
259
- }
260
- catch (e) {
261
- yield client.close();
262
- throw e;
263
- }
264
- });
265
- }
266
- getCount(criteria, collection) {
267
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
268
- this.convertIdInCriteria(criteria);
269
- return yield collection.countDocuments(criteria);
270
- });
271
- }
272
- getInfo(id, collection) {
273
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
274
- const array = yield collection
275
- .aggregate([{ $match: { _id: id } }, { $project: { __info: 1 } }])
276
- .toArray();
277
- return array[0] ? array[0]['__info'] : {};
278
- });
279
- }
280
- getModelToCreate(item, user) {
281
- const result = utils_1.ObjectService.removeTypes(item);
282
- result['_id'] = result.id;
283
- delete result.id;
284
- result['__info'] = {
285
- create: {
286
- username: user ? user.username : null,
287
- date: new Date(),
288
- },
289
- };
290
- return result;
291
- }
292
- mapChangeType(dbType) {
293
- const map = {
294
- insert: 'create',
295
- update: 'update',
296
- delete: 'delete',
297
- };
298
- return map[dbType];
299
- }
300
- getModelToUpdate(item, user, info) {
301
- const result = utils_1.ObjectService.removeTypes(item);
302
- result['_id'] = result.id;
303
- delete result.id;
304
- result['__info'] = Object.assign(Object.assign({}, info), { update: {
305
- username: user ? user.username : null,
306
- date: new Date(),
307
- } });
308
- return result;
309
- }
310
- getModelToResult(item) {
311
- if (!item)
312
- return null;
313
- const result = utils_1.ObjectService.removeTypes(item);
314
- result['id'] = result._id;
315
- delete result._id;
316
- delete result['__info'];
317
- return result;
318
- }
319
- getUrl() {
320
- return (0, mongo_utils_1.getMongoUrl)(this.config);
321
- }
322
- logChange(type, item, options, user, error) {
323
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
324
- const client = yield mongodb_1.MongoClient.connect(this.getUrl());
325
- const db = client.db(this.config.database);
326
- try {
327
- yield db.collection('changes').insertOne({
328
- type,
329
- collection: this.config.collection,
330
- item,
331
- options,
332
- user,
333
- error,
334
- date: new Date(),
335
- });
336
- }
337
- catch (e) {
338
- console.warn(e);
339
- }
340
- finally {
341
- yield client.close();
342
- }
343
- });
344
- }
345
- generateSearch(criteria) {
346
- if (!criteria['$search'])
347
- return;
348
- if (this.config.type) {
349
- const modelFields = (0, models_1.getModelFieldsWithOptions)(new this.config.type()).filter((i) => i.options.search);
350
- if (modelFields.length) {
351
- const searchArray = [];
352
- modelFields.forEach((val) => {
353
- const res = {};
354
- res[val.key] = {
355
- $regex: this.convertRegex(criteria['$search']),
356
- $options: 'i',
357
- };
358
- searchArray.push(res);
359
- });
360
- if (!criteria['$or'])
361
- criteria['$or'] = searchArray;
362
- else if (criteria['$or'] && !criteria['$and']) {
363
- criteria['$and'] = [{ $or: criteria['$or'] }, { $or: searchArray }];
364
- delete criteria['$or'];
365
- }
366
- else if (criteria['$and']) {
367
- criteria['$and'] = [...criteria['$and'], { $or: searchArray }];
368
- }
369
- delete criteria['$search'];
370
- return;
371
- }
372
- }
373
- const customCriteria = {
374
- $text: { $search: ' "' + this.convertRegex(criteria['$search']) + '" ' },
375
- };
376
- delete criteria['$search'];
377
- criteria = Object.assign(Object.assign({}, criteria), customCriteria);
378
- }
379
- convertIdInCriteria(criteria) {
380
- if (criteria['id']) {
381
- criteria['_id'] = criteria['id'];
382
- delete criteria['id'];
383
- }
384
- }
385
- convertRegex(val) {
386
- return val.toString().replace(/\*/g, '[*]');
387
- }
388
- collectionContext(callback, repoOptions) {
389
- var _a;
390
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
391
- const client = ((_a = repoOptions === null || repoOptions === void 0 ? void 0 : repoOptions.transaction) === null || _a === void 0 ? void 0 : _a.connection)
392
- ? repoOptions.transaction.connection
393
- : yield mongodb_1.MongoClient.connect(this.getUrl());
394
- const db = client.db(this.config.database);
395
- let result;
396
- try {
397
- result = yield callback(db.collection(this.config.collection));
398
- }
399
- finally {
400
- if (!(repoOptions === null || repoOptions === void 0 ? void 0 : repoOptions.transaction))
401
- yield client.close();
402
- }
403
- return result;
404
- });
405
- }
406
- };
407
- exports.MongoItemRepository = MongoItemRepository = tslib_1.__decorate([
408
- (0, common_1.Injectable)(),
409
- tslib_1.__metadata("design:paramtypes", [mongo_config_1.MongoConfig])
410
- ], MongoItemRepository);
411
- //# sourceMappingURL=item.repository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"item.repository.js","sourceRoot":"","sources":["../../../../../../../libs/shared/mongo/src/lib/repositories/item.repository.ts"],"names":[],"mappings":"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"}
package/test-setup.js DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=test-setup.js.map
package/test-setup.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../../../../libs/shared/mongo/test-setup.ts"],"names":[],"mappings":""}
File without changes