starta.microservice 0.1.4874 → 0.1.4879

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 (52) hide show
  1. package/lib/adapters/database/DBScripts/DBInitialise.js +3 -12
  2. package/lib/adapters/database/DBScripts/DBInitialise.js.map +1 -1
  3. package/lib/adapters/database/index.js +45 -62
  4. package/lib/adapters/database/index.js.map +1 -1
  5. package/lib/adapters/logger/index.js +27 -17
  6. package/lib/adapters/logger/index.js.map +1 -1
  7. package/lib/adapters/{rabbitmq/index.d.ts → messageBroker/Rabbitmq.d.ts} +4 -6
  8. package/lib/adapters/messageBroker/Rabbitmq.js +159 -0
  9. package/lib/adapters/messageBroker/Rabbitmq.js.map +1 -0
  10. package/lib/adapters/messageBroker/SnsSqs.d.ts +18 -0
  11. package/lib/adapters/messageBroker/SnsSqs.js +273 -0
  12. package/lib/adapters/messageBroker/SnsSqs.js.map +1 -0
  13. package/lib/adapters/messageBroker/index.d.ts +16 -0
  14. package/lib/adapters/messageBroker/index.js +45 -0
  15. package/lib/adapters/messageBroker/index.js.map +1 -0
  16. package/lib/adapters/messageBroker/types.d.ts +11 -0
  17. package/lib/adapters/messageBroker/types.js +3 -0
  18. package/lib/adapters/messageBroker/types.js.map +1 -0
  19. package/lib/adapters/redisService/Publisher.js +2 -13
  20. package/lib/adapters/redisService/Publisher.js.map +1 -1
  21. package/lib/adapters/redisService/RedisAdapter.js +59 -100
  22. package/lib/adapters/redisService/RedisAdapter.js.map +1 -1
  23. package/lib/adapters/redisService/index.d.ts +0 -2
  24. package/lib/adapters/redisService/index.js +159 -281
  25. package/lib/adapters/redisService/index.js.map +1 -1
  26. package/lib/agenda/index.js +10 -20
  27. package/lib/agenda/index.js.map +1 -1
  28. package/lib/config.d.ts +2 -0
  29. package/lib/config.js +2 -0
  30. package/lib/config.js.map +1 -1
  31. package/lib/entities/Account.js +2 -14
  32. package/lib/entities/Account.js.map +1 -1
  33. package/lib/helpers/index.js +7 -1
  34. package/lib/helpers/index.js.map +1 -1
  35. package/lib/repositories/Repository.js +178 -207
  36. package/lib/repositories/Repository.js.map +1 -1
  37. package/lib/services/ServiceExecutor.d.ts +3 -3
  38. package/lib/services/ServiceExecutor.js +34 -48
  39. package/lib/services/ServiceExecutor.js.map +1 -1
  40. package/lib/services/ServiceExecutorHandler.js +264 -283
  41. package/lib/services/ServiceExecutorHandler.js.map +1 -1
  42. package/lib/services/ServiceFactoryBase.d.ts +3 -3
  43. package/lib/services/ServiceFactoryBase.js +2 -2
  44. package/lib/services/ServiceFactoryBase.js.map +1 -1
  45. package/lib/services/ServiceHandlerBase.d.ts +3 -3
  46. package/lib/services/ServiceHandlerBase.js +54 -72
  47. package/lib/services/ServiceHandlerBase.js.map +1 -1
  48. package/lib/services/dataSelectors.js +1 -1
  49. package/lib/services/dataSelectors.js.map +1 -1
  50. package/package.json +1 -1
  51. package/lib/adapters/rabbitmq/index.js +0 -184
  52. package/lib/adapters/rabbitmq/index.js.map +0 -1
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -36,32 +27,30 @@ class Repository {
36
27
  getUniqueKeySets() {
37
28
  return [[]];
38
29
  }
39
- findOne(entityUnique, options) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- const entityUniques = [this.prepareEntityUnique(entityUnique)];
42
- const entities = yield this.findByUniqueKeys(entityUniques, Object.assign(Object.assign({}, (options || {})), { findOne: true }));
43
- if (entities && entities.length === 1) {
44
- return entities[0];
45
- }
46
- if (options && options.onNotFound) {
47
- options.onNotFound();
48
- }
49
- else {
50
- const message = `Not found by unique key:
30
+ async findOne(entityUnique, options) {
31
+ const entityUniques = [this.prepareEntityUnique(entityUnique)];
32
+ const entities = await this.findByUniqueKeys(entityUniques, { ...(options || {}), findOne: true });
33
+ if (entities && entities.length === 1) {
34
+ return entities[0];
35
+ }
36
+ if (options && options.onNotFound) {
37
+ options.onNotFound();
38
+ }
39
+ else {
40
+ const message = `Not found by unique key:
51
41
  |in repository: ${this.getCollectionName()}
52
42
  |` + JSON.stringify(entityUnique);
53
- if (options && options.logLevelOnNotFound === 'error') {
54
- this.logger.generic.error(message);
55
- }
56
- else {
57
- this.logger.generic.info(message);
58
- }
59
- throw new Exception_1.default({
60
- code: 'WRONG_ID',
61
- fields: { id: 'WRONG_ID' },
62
- });
43
+ if (options && options.logLevelOnNotFound === 'error') {
44
+ this.logger.generic.error(message);
63
45
  }
64
- });
46
+ else {
47
+ this.logger.generic.info(message);
48
+ }
49
+ throw new Exception_1.default({
50
+ code: 'WRONG_ID',
51
+ fields: { id: 'WRONG_ID' },
52
+ });
53
+ }
65
54
  }
66
55
  join(lookup, match, options) {
67
56
  return new Promise((resolve, reject) => {
@@ -112,11 +101,11 @@ class Repository {
112
101
  }
113
102
  pipeline(pipeline, options) {
114
103
  return new Promise((resolve, reject) => {
115
- const sort = options === null || options === void 0 ? void 0 : options.sort;
116
- const limit = options === null || options === void 0 ? void 0 : options.limit;
117
- const skip = options === null || options === void 0 ? void 0 : options.skip;
118
- const collection = options === null || options === void 0 ? void 0 : options.collection;
119
- const allowDiskUse = options === null || options === void 0 ? void 0 : options.allowDiskUse;
104
+ const sort = options?.sort;
105
+ const limit = options?.limit;
106
+ const skip = options?.skip;
107
+ const collection = options?.collection;
108
+ const allowDiskUse = options?.allowDiskUse;
120
109
  // if (!includeInactive) {
121
110
  // matchRef.isActive = { $ne: false };
122
111
  // }
@@ -143,122 +132,112 @@ class Repository {
143
132
  }
144
133
  });
145
134
  }
146
- aggregate(pipeline) {
147
- return __awaiter(this, void 0, void 0, function* () {
148
- return yield new Promise((resolve, reject) => {
149
- let cursor = this.db.getCollection(this.getCollectionName()).aggregate(pipeline);
150
- cursor.toArray((error, data) => {
151
- if (error) {
152
- return reject(error);
153
- }
154
- return resolve(data);
155
- });
135
+ async aggregate(pipeline) {
136
+ return await new Promise((resolve, reject) => {
137
+ let cursor = this.db.getCollection(this.getCollectionName()).aggregate(pipeline);
138
+ cursor.toArray((error, data) => {
139
+ if (error) {
140
+ return reject(error);
141
+ }
142
+ return resolve(data);
156
143
  });
157
144
  });
158
145
  }
159
- count(query) {
160
- return __awaiter(this, void 0, void 0, function* () {
161
- const dbcollection = this.db.getCollection(this.getCollectionName());
162
- const countDocuments = (q, c) => dbcollection.countDocuments.bind(dbcollection)(q, c);
163
- return yield (0, util_1.promisify)(countDocuments)(query);
164
- });
146
+ async count(query) {
147
+ const dbcollection = this.db.getCollection(this.getCollectionName());
148
+ const countDocuments = (q, c) => dbcollection.countDocuments.bind(dbcollection)(q, c);
149
+ return await (0, util_1.promisify)(countDocuments)(query);
165
150
  }
166
- findByQuery(query, options) {
167
- return __awaiter(this, void 0, void 0, function* () {
168
- const findOne = options && options.findOne;
169
- const filterFields = options && options.filterFields || {};
170
- const includeInactive = options && options.includeInactive;
171
- const sort = options && options.sort;
172
- const limit = options && options.limit;
173
- const skip = options && options.skip;
174
- const collectionName = options && options.collection || this.getCollectionName();
175
- if (!includeInactive) {
176
- query.isActive = { $ne: false };
177
- }
178
- const dbcollection = this.db.getCollection(collectionName);
179
- if (findOne) {
180
- const findOne = (q, p, c) => dbcollection.findOne.bind(dbcollection)(q, p, c);
181
- const data = yield (0, util_1.promisify)(findOne)(query, { projection: filterFields, collation: options === null || options === void 0 ? void 0 : options.collation });
182
- if (!data) {
183
- if (options === null || options === void 0 ? void 0 : options.onNotFound) {
184
- options.onNotFound();
185
- return [];
186
- }
187
- else {
188
- const message = `Not found by unique key:
151
+ async findByQuery(query, options) {
152
+ const findOne = options && options.findOne;
153
+ const filterFields = options && options.filterFields || {};
154
+ const includeInactive = options && options.includeInactive;
155
+ const sort = options && options.sort;
156
+ const limit = options && options.limit;
157
+ const skip = options && options.skip;
158
+ const collectionName = options && options.collection || this.getCollectionName();
159
+ if (!includeInactive) {
160
+ query.isActive = { $ne: false };
161
+ }
162
+ const dbcollection = this.db.getCollection(collectionName);
163
+ if (findOne) {
164
+ const findOne = (q, p, c) => dbcollection.findOne.bind(dbcollection)(q, p, c);
165
+ const data = await (0, util_1.promisify)(findOne)(query, { projection: filterFields, collation: options?.collation });
166
+ if (!data) {
167
+ if (options?.onNotFound) {
168
+ options.onNotFound();
169
+ return [];
170
+ }
171
+ else {
172
+ const message = `Not found by unique key:
189
173
  |in repository: ${this.getCollectionName()}
190
174
  |` + JSON.stringify(query);
191
- if (options && options.logLevelOnNotFound === 'error') {
192
- this.logger.generic.error(message);
193
- }
194
- else {
195
- this.logger.generic.info(message);
196
- }
197
- throw new Exception_1.default({
198
- code: 'NOT_FOUND',
199
- statusCode: 404,
200
- fields: { [collectionName]: 'NOT_FOUND' },
201
- });
175
+ if (options && options.logLevelOnNotFound === 'error') {
176
+ this.logger.generic.error(message);
202
177
  }
178
+ else {
179
+ this.logger.generic.info(message);
180
+ }
181
+ throw new Exception_1.default({
182
+ code: 'NOT_FOUND',
183
+ statusCode: 404,
184
+ fields: { [collectionName]: 'NOT_FOUND' },
185
+ });
203
186
  }
204
- return [this.toEntity(data)];
205
- }
206
- let cursor = dbcollection.find(query, { projection: filterFields, collation: options === null || options === void 0 ? void 0 : options.collation });
207
- if (sort) {
208
- cursor = cursor.sort(sort);
209
- }
210
- if (limit) {
211
- cursor = cursor.limit(limit);
212
- }
213
- if (skip) {
214
- cursor = cursor.skip(skip);
215
187
  }
216
- const data = yield (0, util_1.promisify)(cursor.toArray.bind(cursor))();
217
- return data.map(entityData => this.toEntity(entityData));
218
- });
188
+ return [this.toEntity(data)];
189
+ }
190
+ let cursor = dbcollection.find(query, { projection: filterFields, collation: options?.collation });
191
+ if (sort) {
192
+ cursor = cursor.sort(sort);
193
+ }
194
+ if (limit) {
195
+ cursor = cursor.limit(limit);
196
+ }
197
+ if (skip) {
198
+ cursor = cursor.skip(skip);
199
+ }
200
+ const data = await (0, util_1.promisify)(cursor.toArray.bind(cursor))();
201
+ return data.map(entityData => this.toEntity(entityData));
219
202
  }
220
- findPaginatedByQuery(query, options) {
221
- return __awaiter(this, void 0, void 0, function* () {
222
- const filterFields = options && options.filterFields || {};
223
- const includeInactive = options && options.includeInactive;
224
- const sort = options && options.sort;
225
- const limit = options && options.limit;
226
- const skip = options && options.skip;
227
- const collectionName = options && options.collection || this.getCollectionName();
228
- if (!includeInactive) {
229
- query.isActive = { $ne: false };
230
- }
231
- const dbcollection = this.db.getCollection(collectionName);
232
- let cursor = dbcollection.find(query, { projection: filterFields, collation: options === null || options === void 0 ? void 0 : options.collation });
233
- const totalCount = yield cursor.count();
234
- if (sort) {
235
- cursor = cursor.sort(sort);
236
- }
237
- if (limit) {
238
- cursor = cursor.limit(limit);
239
- }
240
- if (skip) {
241
- cursor = cursor.skip(skip);
242
- }
243
- const dbData = yield (0, util_1.promisify)(cursor.toArray.bind(cursor))();
244
- return {
245
- data: dbData.map(entityData => this.toEntity(entityData)),
246
- totalCount
247
- };
248
- });
203
+ async findPaginatedByQuery(query, options) {
204
+ const filterFields = options && options.filterFields || {};
205
+ const includeInactive = options && options.includeInactive;
206
+ const sort = options && options.sort;
207
+ const limit = options && options.limit;
208
+ const skip = options && options.skip;
209
+ const collectionName = options && options.collection || this.getCollectionName();
210
+ if (!includeInactive) {
211
+ query.isActive = { $ne: false };
212
+ }
213
+ const dbcollection = this.db.getCollection(collectionName);
214
+ let cursor = dbcollection.find(query, { projection: filterFields, collation: options?.collation });
215
+ const totalCount = await cursor.count();
216
+ if (sort) {
217
+ cursor = cursor.sort(sort);
218
+ }
219
+ if (limit) {
220
+ cursor = cursor.limit(limit);
221
+ }
222
+ if (skip) {
223
+ cursor = cursor.skip(skip);
224
+ }
225
+ const dbData = await (0, util_1.promisify)(cursor.toArray.bind(cursor))();
226
+ return {
227
+ data: dbData.map(entityData => this.toEntity(entityData)),
228
+ totalCount
229
+ };
249
230
  }
250
- findByUniqueKeys(entityUniques, options) {
251
- return __awaiter(this, void 0, void 0, function* () {
252
- if (!entityUniques.length) {
253
- return [];
254
- }
255
- const formatedUniques = entityUniques.map(eu => this.prepareEntityUnique(eu));
256
- formatedUniques.forEach(e => this.validateUniqueKeys(e));
257
- const query = {
258
- $or: formatedUniques,
259
- };
260
- return yield this.findByQuery(query, options);
261
- });
231
+ async findByUniqueKeys(entityUniques, options) {
232
+ if (!entityUniques.length) {
233
+ return [];
234
+ }
235
+ const formatedUniques = entityUniques.map(eu => this.prepareEntityUnique(eu));
236
+ formatedUniques.forEach(e => this.validateUniqueKeys(e));
237
+ const query = {
238
+ $or: formatedUniques,
239
+ };
240
+ return await this.findByQuery(query, options);
262
241
  }
263
242
  findMapByQuery(query, options) {
264
243
  return this.findByQuery(query, options).then(this.toMap);
@@ -291,54 +270,48 @@ class Repository {
291
270
  findEntireCollection(query, options = { includeInactive: true }) {
292
271
  return this.findByQuery(query, options);
293
272
  }
294
- getViewers(object) {
295
- return __awaiter(this, void 0, void 0, function* () {
296
- return [];
297
- });
273
+ async getViewers(object) {
274
+ return [];
298
275
  }
299
- getGenericDataViewers(object) {
300
- return __awaiter(this, void 0, void 0, function* () {
301
- return [];
302
- });
276
+ async getGenericDataViewers(object) {
277
+ return [];
303
278
  }
304
- _insert(object) {
305
- return __awaiter(this, void 0, void 0, function* () {
306
- return yield new Promise((resolve, reject) => {
307
- object.createdAt = object.createdAt || new Date();
308
- object.updatedAt = object.createdAt || new Date();
309
- object.createdBy = object.createdBy || '%system';
310
- object.updatedBy = object.updatedBy || '%system';
311
- if (object.isActive !== false)
312
- object.isActive = true;
313
- const objectData = this.getObjectData(object);
314
- objectData._id = object._id;
315
- if (objectData.id && !objectData._id) {
316
- try {
317
- objectData._id = new mongodb_1.ObjectId(objectData.id);
318
- }
319
- catch (_a) {
320
- }
279
+ async _insert(object) {
280
+ return await new Promise((resolve, reject) => {
281
+ object.createdAt = object.createdAt || new Date();
282
+ object.updatedAt = object.createdAt || new Date();
283
+ object.createdBy = object.createdBy || '%system';
284
+ object.updatedBy = object.updatedBy || '%system';
285
+ if (object.isActive !== false)
286
+ object.isActive = true;
287
+ const objectData = this.getObjectData(object);
288
+ objectData._id = object._id;
289
+ if (objectData.id && !objectData._id) {
290
+ try {
291
+ objectData._id = new mongodb_1.ObjectId(objectData.id);
321
292
  }
322
- const collection = this.db.getCollection(this.getCollectionName());
323
- collection.insertOne(objectData, (error, savedObjectData) => {
324
- if (error) {
325
- if (error.code !== 11000)
326
- reject(error);
327
- return reject(new Exception_1.default({
328
- code: 'NOT_UNIQUE',
329
- fields: Object
330
- .keys(error.keyPattern || {})
331
- .reduce((result, prop) => (result[prop] = { code: 'NOT_UNIQUE' }, result), {}),
332
- }));
333
- }
334
- if (!object.id) {
335
- object.id = savedObjectData.insertedId.toString();
336
- }
337
- if (!object._id) {
338
- object._id = savedObjectData.insertedId;
339
- }
340
- resolve(object);
341
- });
293
+ catch {
294
+ }
295
+ }
296
+ const collection = this.db.getCollection(this.getCollectionName());
297
+ collection.insertOne(objectData, (error, savedObjectData) => {
298
+ if (error) {
299
+ if (error.code !== 11000)
300
+ reject(error);
301
+ return reject(new Exception_1.default({
302
+ code: 'NOT_UNIQUE',
303
+ fields: Object
304
+ .keys(error.keyPattern || {})
305
+ .reduce((result, prop) => (result[prop] = { code: 'NOT_UNIQUE' }, result), {}),
306
+ }));
307
+ }
308
+ if (!object.id) {
309
+ object.id = savedObjectData.insertedId.toString();
310
+ }
311
+ if (!object._id) {
312
+ object._id = savedObjectData.insertedId;
313
+ }
314
+ resolve(object);
342
315
  });
343
316
  });
344
317
  }
@@ -346,26 +319,24 @@ class Repository {
346
319
  const objectData = object.toHash();
347
320
  return objectData;
348
321
  }
349
- _update(entity, uniqueValue) {
350
- return __awaiter(this, void 0, void 0, function* () {
351
- return yield new Promise((resolve, reject) => {
352
- const objectData = this.getObjectData(entity);
353
- const filter = uniqueValue || this.getUniqueValue(entity);
354
- // TODO remove casting
355
- (this.db.getCollection(this.getCollectionName())).replaceOne(filter, objectData).then(() => {
356
- entity.setAttrs(objectData);
357
- const toChange = entity;
358
- toChange.id = this.getId(entity);
359
- return resolve(entity);
360
- }, (error) => {
361
- error.keyPattern;
362
- reject(new Exception_1.default({
363
- code: 'NOT_UNIQUE',
364
- fields: Object
365
- .keys(error.keyPattern)
366
- .reduce((result, prop) => (result[prop] = { code: 'NOT_UNIQUE' }, result), {}),
367
- }));
368
- });
322
+ async _update(entity, uniqueValue) {
323
+ return await new Promise((resolve, reject) => {
324
+ const objectData = this.getObjectData(entity);
325
+ const filter = uniqueValue || this.getUniqueValue(entity);
326
+ // TODO remove casting
327
+ (this.db.getCollection(this.getCollectionName())).replaceOne(filter, objectData).then(() => {
328
+ entity.setAttrs(objectData);
329
+ const toChange = entity;
330
+ toChange.id = this.getId(entity);
331
+ return resolve(entity);
332
+ }, (error) => {
333
+ error.keyPattern;
334
+ reject(new Exception_1.default({
335
+ code: 'NOT_UNIQUE',
336
+ fields: Object
337
+ .keys(error.keyPattern)
338
+ .reduce((result, prop) => (result[prop] = { code: 'NOT_UNIQUE' }, result), {}),
339
+ }));
369
340
  });
370
341
  });
371
342
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../src/repositories/Repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../src/repositories/Repository.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@ import Express from 'express';
2
2
  import BusinessLogger from '../adapters/logger';
3
3
  import Redis from '../adapters/redisService';
4
4
  import { IAuthorizedRequest, ServiceFactoriesMap, ServicesList, ServiceEventNames, IServiceExecutor, PermissionsMap } from '../types';
5
- import Rabbitmq from '../adapters/rabbitmq';
5
+ import MessageBroker from '../adapters/messageBroker';
6
6
  declare class ServiceExecutor implements IServiceExecutor {
7
7
  #private;
8
8
  serviceFactoriesMap: ServiceFactoriesMap;
9
9
  serviceEventNames: ServiceEventNames;
10
- constructor(redis: Redis, logger: BusinessLogger, rabbit: Rabbitmq, servicesList: ServicesList);
11
- createExchanges(): Promise<void>;
10
+ constructor(redis: Redis, logger: BusinessLogger, messageBroker: MessageBroker, servicesList: ServicesList);
11
+ createTopics(): Promise<void>;
12
12
  createHandlers(app: Express.Express, rootUri: string): void;
13
13
  executeService(serviceFolder: string, serviceName: string, requestData: any, request?: IAuthorizedRequest, permissions?: PermissionsMap): any;
14
14
  private createRequestHandler;