@nextage/nx-frame-be 1.0.1

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 (119) hide show
  1. package/README.md +1 -0
  2. package/README.md.old +45 -0
  3. package/build/app.d.ts +0 -0
  4. package/build/app.js +1 -0
  5. package/build/aws/aws-cluster-manager.d.ts +28 -0
  6. package/build/aws/aws-cluster-manager.js +105 -0
  7. package/build/aws/aws-email-manager.d.ts +24 -0
  8. package/build/aws/aws-email-manager.js +57 -0
  9. package/build/aws/aws-queue-manager.d.ts +37 -0
  10. package/build/aws/aws-queue-manager.js +100 -0
  11. package/build/aws/aws.interfaces.d.ts +39 -0
  12. package/build/aws/aws.interfaces.js +2 -0
  13. package/build/aws/index.d.ts +4 -0
  14. package/build/aws/index.js +20 -0
  15. package/build/common/base/__test__/base.model.test.d.ts +1 -0
  16. package/build/common/base/__test__/base.model.test.js +283 -0
  17. package/build/common/base/base.controller.d.ts +124 -0
  18. package/build/common/base/base.controller.js +134 -0
  19. package/build/common/base/base.interfaces.d.ts +81 -0
  20. package/build/common/base/base.interfaces.js +2 -0
  21. package/build/common/base/base.model.d.ts +384 -0
  22. package/build/common/base/base.model.js +730 -0
  23. package/build/common/base/folded.model.d.ts +41 -0
  24. package/build/common/base/folded.model.js +215 -0
  25. package/build/common/base/mongo-utils.d.ts +122 -0
  26. package/build/common/base/mongo-utils.js +242 -0
  27. package/build/common/base/mongo.types.d.ts +20 -0
  28. package/build/common/base/mongo.types.js +2 -0
  29. package/build/common/base/sql-utils.d.ts +20 -0
  30. package/build/common/base/sql-utils.js +69 -0
  31. package/build/common/constants.d.ts +27 -0
  32. package/build/common/constants.js +70 -0
  33. package/build/common/crypto/crypto.classes.d.ts +100 -0
  34. package/build/common/crypto/crypto.classes.js +146 -0
  35. package/build/common/crypto/crypto.constants.d.ts +68 -0
  36. package/build/common/crypto/crypto.constants.js +57 -0
  37. package/build/common/crypto/crypto.error.d.ts +4 -0
  38. package/build/common/crypto/crypto.error.js +10 -0
  39. package/build/common/crypto/crypto.interfaces.d.ts +46 -0
  40. package/build/common/crypto/crypto.interfaces.js +2 -0
  41. package/build/common/crypto/crypto.utils.d.ts +139 -0
  42. package/build/common/crypto/crypto.utils.js +380 -0
  43. package/build/common/crypto/index.d.ts +3 -0
  44. package/build/common/crypto/index.js +19 -0
  45. package/build/common/enums.d.ts +61 -0
  46. package/build/common/enums.js +75 -0
  47. package/build/common/errors.d.ts +13 -0
  48. package/build/common/errors.js +24 -0
  49. package/build/common/express/express.interfaces.d.ts +20 -0
  50. package/build/common/express/express.interfaces.js +2 -0
  51. package/build/common/express/express.utils.d.ts +31 -0
  52. package/build/common/express/express.utils.js +85 -0
  53. package/build/common/express/index.d.ts +2 -0
  54. package/build/common/express/index.js +18 -0
  55. package/build/common/graphql/__test__/generator.schema.test.d.ts +1 -0
  56. package/build/common/graphql/__test__/generator.schema.test.js +391 -0
  57. package/build/common/graphql/directives.d.ts +18 -0
  58. package/build/common/graphql/directives.js +56 -0
  59. package/build/common/graphql/generator copy.d.ts +41 -0
  60. package/build/common/graphql/generator copy.js +385 -0
  61. package/build/common/graphql/generator.d.ts +42 -0
  62. package/build/common/graphql/generator.js +385 -0
  63. package/build/common/graphql/index.d.ts +4 -0
  64. package/build/common/graphql/index.js +21 -0
  65. package/build/common/graphql/interfaces.d.ts +67 -0
  66. package/build/common/graphql/interfaces.js +2 -0
  67. package/build/common/graphql/loader.d.ts +22 -0
  68. package/build/common/graphql/loader.js +186 -0
  69. package/build/common/graphql/scalars/index.d.ts +10 -0
  70. package/build/common/graphql/scalars/index.js +6 -0
  71. package/build/common/graphql/scalars/resolvers.d.ts +8 -0
  72. package/build/common/graphql/scalars/resolvers.js +71 -0
  73. package/build/common/graphql/scalars/schema.d.ts +1 -0
  74. package/build/common/graphql/scalars/schema.js +12 -0
  75. package/build/common/graphql/types/index.d.ts +3 -0
  76. package/build/common/graphql/types/index.js +6 -0
  77. package/build/common/graphql/types/schema.d.ts +1 -0
  78. package/build/common/graphql/types/schema.js +98 -0
  79. package/build/common/graphql/utils.d.ts +18 -0
  80. package/build/common/graphql/utils.js +40 -0
  81. package/build/common/grid-fs/gridfs-base.model.d.ts +53 -0
  82. package/build/common/grid-fs/gridfs-base.model.js +95 -0
  83. package/build/common/grid-fs/gridfs.interfaces.d.ts +41 -0
  84. package/build/common/grid-fs/gridfs.interfaces.js +2 -0
  85. package/build/common/index.d.ts +10 -0
  86. package/build/common/index.js +32 -0
  87. package/build/common/interfaces.d.ts +26 -0
  88. package/build/common/interfaces.js +10 -0
  89. package/build/common/manager/bulk-manager.d.ts +59 -0
  90. package/build/common/manager/bulk-manager.js +103 -0
  91. package/build/common/manager/crypto-manager.d.ts +88 -0
  92. package/build/common/manager/crypto-manager.js +200 -0
  93. package/build/common/manager/index.d.ts +5 -0
  94. package/build/common/manager/index.js +21 -0
  95. package/build/common/manager/pubsub-manager.d.ts +20 -0
  96. package/build/common/manager/pubsub-manager.js +38 -0
  97. package/build/common/manager/shutdown-manager.d.ts +27 -0
  98. package/build/common/manager/shutdown-manager.js +118 -0
  99. package/build/common/manager/socket-io-cli-manager.d.ts +53 -0
  100. package/build/common/manager/socket-io-cli-manager.js +91 -0
  101. package/build/common/manager/tunnel-manager.d.ts +28 -0
  102. package/build/common/manager/tunnel-manager.js +49 -0
  103. package/build/common/models/coded-entity.controller.d.ts +5 -0
  104. package/build/common/models/coded-entity.controller.js +9 -0
  105. package/build/common/models/coded-entity.model.d.ts +25 -0
  106. package/build/common/models/coded-entity.model.js +51 -0
  107. package/build/common/models/user.model.d.ts +56 -0
  108. package/build/common/models/user.model.js +72 -0
  109. package/build/common/types.d.ts +136 -0
  110. package/build/common/types.js +16 -0
  111. package/build/common/utils.d.ts +552 -0
  112. package/build/common/utils.js +1100 -0
  113. package/build/index.d.ts +2 -0
  114. package/build/index.js +18 -0
  115. package/build/test/env.d.ts +0 -0
  116. package/build/test/env.js +5 -0
  117. package/build/test/setup.d.ts +6 -0
  118. package/build/test/setup.js +59 -0
  119. package/package.json +90 -0
package/README.md ADDED
@@ -0,0 +1 @@
1
+ ### NxFrameBe Library
package/README.md.old ADDED
@@ -0,0 +1,45 @@
1
+ isUndefined -> isNil
2
+
3
+
4
+ npm init -y
5
+ npm install typescript ts-node-dev express @types/express
6
+
7
+ tsc init
8
+ node_modules/typescript/bin/tsc --init
9
+
10
+ npm install --save-dev @types/jest @types/supertest jest ts-jest supertest mongodb-memory-server
11
+
12
+ npm install express express-validator cookie session jsonwebtoken @types/cookie-session @types/express @types/jsonwebtoken
13
+
14
+
15
+ npm install crypto-js @types/crypto-js
16
+ npm install lodash @types/lodash
17
+
18
+ npm install async @types/async
19
+ npm install graphql @types/graphql
20
+ npm install lodash @types/lodash
21
+ npm install jszip @types/jszip
22
+ npm install node-schedule @types/node-schedule
23
+ npm install ua-parser-js @types/ua-parser-js
24
+ npm install uuid @types/uuid
25
+ npm install moment @types/moment
26
+ npm install jzip @types/jszip
27
+ npm install jszip @types/jszip
28
+ npm install @types/jszip
29
+
30
+ npm install mongoose @types/mongoose
31
+ npm install sequelize @types/sequelize
32
+ npm install updateIfCurrentPlugin
33
+ npm install mongoose-update-if-current
34
+
35
+
36
+
37
+ npm install graphql-constraint-directive
38
+ npm install graphql-subscriptions graphql-type-json graphql-ws @types/graphql-type-json
39
+ npm install @apollo/server @apollo/server-plugin-landing-page-graphql-playground
40
+ npm install socket.io-client @types/socket.io @types/socket.io-client
41
+ npm install tunnel-ssh @types/tunnel-ssh
42
+ npm install @aws-sdk/client-ecs @aws-sdk/client-ses @aws-sdk/client-sqs sqs-consumer @types/sqs-consumer
43
+
44
+
45
+ npm install --save-dev @types/node
package/build/app.d.ts ADDED
File without changes
package/build/app.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,28 @@
1
+ import { AWSBaseConfig, AWSClusterConfig } from './aws.interfaces';
2
+ import { AWSServiceDesiredCountOptions } from './aws.interfaces';
3
+ export declare class AWSClusterManager {
4
+ private config;
5
+ private cluster;
6
+ private desiredCount;
7
+ private maxCount;
8
+ private workerJobs;
9
+ private currentJobs;
10
+ constructor({ cluster, desiredCount, maxCount, workerJobs }: AWSClusterConfig | undefined, config: AWSBaseConfig);
11
+ /**
12
+ *
13
+ * @param {*} service
14
+ * @returns
15
+ */
16
+ getRunningTasks(serviceName: string): Promise<number>;
17
+ /**
18
+ *
19
+ * @returns
20
+ */
21
+ updateDesiredCount(service: string, { upscale, downscale }?: AWSServiceDesiredCountOptions): Promise<boolean>;
22
+ /**
23
+ *
24
+ * @param {*} param0
25
+ * @returns
26
+ */
27
+ scaleECSService(service: string, desiredCount?: number): Promise<boolean>;
28
+ }
@@ -0,0 +1,105 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AWSClusterManager = void 0;
13
+ const client_ecs_1 = require("@aws-sdk/client-ecs");
14
+ const common_1 = require("../common");
15
+ class AWSClusterManager {
16
+ constructor({ cluster, desiredCount, maxCount, workerJobs } = { cluster: '' }, config) {
17
+ this.currentJobs = { pending: 0, running: 0 };
18
+ this.config = config || { region: 'eu-south-1' };
19
+ this.cluster = cluster;
20
+ this.desiredCount = desiredCount || 1;
21
+ this.maxCount = maxCount || 10;
22
+ this.workerJobs = workerJobs || 2;
23
+ common_1.APP.logger.info(`ECS manager init [cluster: ${this.cluster}]`);
24
+ }
25
+ /**
26
+ *
27
+ * @param {*} service
28
+ * @returns
29
+ */
30
+ getRunningTasks(serviceName) {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ if (!serviceName) {
33
+ common_1.APP.logger.error(`Missing service parameter to get running tasks`);
34
+ return 0;
35
+ }
36
+ if (!this.cluster || !serviceName) {
37
+ common_1.APP.logger.error(`Missing parameter to update service - cluster <${this.cluster}>, service <${serviceName}>`);
38
+ return 0;
39
+ }
40
+ try {
41
+ const ecs = new client_ecs_1.ECS(this.config);
42
+ const params = { cluster: this.cluster, serviceName };
43
+ const tasks = yield ecs.listTasks(params);
44
+ return (tasks.taskArns || []).length;
45
+ }
46
+ catch (err) {
47
+ common_1.APP.logger.error('Cannot get tasks list %o %o', err, err.stack);
48
+ return 0;
49
+ }
50
+ });
51
+ }
52
+ /**
53
+ *
54
+ * @returns
55
+ */
56
+ updateDesiredCount(service_1) {
57
+ return __awaiter(this, arguments, void 0, function* (service, { upscale, downscale } = { upscale: true, downscale: true }) {
58
+ if (!service) {
59
+ common_1.APP.logger.error(`Missing service to be updated`);
60
+ return false;
61
+ }
62
+ const pending = this.currentJobs.pending;
63
+ let desiredCount = 1;
64
+ const taskCount = yield this.getRunningTasks(service);
65
+ common_1.APP.logger.info(`There are <${taskCount}> running tasks for service <${service}>`);
66
+ this.desiredCount = taskCount;
67
+ if (pending > this.workerJobs)
68
+ desiredCount = Math.floor(pending / this.workerJobs);
69
+ if ((desiredCount === this.desiredCount) ||
70
+ !downscale && desiredCount < this.desiredCount ||
71
+ !upscale && desiredCount > this.desiredCount) {
72
+ common_1.APP.logger.info(`Scaling service <${service}> not needed`);
73
+ return false;
74
+ }
75
+ return this.scaleECSService(service, desiredCount);
76
+ });
77
+ }
78
+ /**
79
+ *
80
+ * @param {*} param0
81
+ * @returns
82
+ */
83
+ scaleECSService(service_1) {
84
+ return __awaiter(this, arguments, void 0, function* (service, desiredCount = 1) {
85
+ if (!this.cluster || !service) {
86
+ common_1.APP.logger.error(`Missing parameter to update service - cluster <${this.cluster}>, service <${service}>`);
87
+ return false;
88
+ }
89
+ common_1.APP.logger.info(`Scaling service <${service}> to desired count <${desiredCount}>`);
90
+ try {
91
+ const ecs = new client_ecs_1.ECS(this.config);
92
+ const params = { cluster: this.cluster, service, desiredCount: desiredCount || this.desiredCount || 1 };
93
+ const data = yield ecs.updateService(params);
94
+ this.desiredCount = desiredCount;
95
+ common_1.APP.logger.info(`Service <${service}> scaled to desired count <${desiredCount}>`);
96
+ return true;
97
+ }
98
+ catch (err) {
99
+ common_1.APP.logger.error('Cannot update service %o %o', err, err.stack);
100
+ return false;
101
+ }
102
+ });
103
+ }
104
+ }
105
+ exports.AWSClusterManager = AWSClusterManager;
@@ -0,0 +1,24 @@
1
+ import { SendEmailCommandOutput } from '@aws-sdk/client-ses';
2
+ import { AWSBaseConfig, AWSEmailConfig } from './aws.interfaces';
3
+ import { AWSEmailContent, AWSEmailRecipient } from './aws.interfaces';
4
+ export declare class AWSEmailManager {
5
+ private config;
6
+ private ses;
7
+ private domain?;
8
+ private charset;
9
+ constructor({ domain, charset }: AWSEmailConfig | undefined, config: AWSBaseConfig);
10
+ /**
11
+ *
12
+ * @param {*} source
13
+ * @param {*} addresses
14
+ * @param {*} emaildata
15
+ * @returns
16
+ */
17
+ sendMail(source: string, { to, cc, ccn }: AWSEmailRecipient, { body, plain, subject, charset, replyTo }: AWSEmailContent): Promise<SendEmailCommandOutput | null>;
18
+ /**
19
+ *
20
+ * @param {*} values
21
+ * @returns
22
+ */
23
+ checkAddresses(values: string | string[]): string[];
24
+ }
@@ -0,0 +1,57 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AWSEmailManager = void 0;
13
+ const client_ses_1 = require("@aws-sdk/client-ses");
14
+ const common_1 = require("../common");
15
+ class AWSEmailManager {
16
+ constructor({ domain, charset } = {}, config) {
17
+ this.config = config || { region: 'eu-south-1' };
18
+ this.ses = new client_ses_1.SESClient(this.config);
19
+ this.domain = domain;
20
+ this.charset = charset || 'UTF-8';
21
+ }
22
+ /**
23
+ *
24
+ * @param {*} source
25
+ * @param {*} addresses
26
+ * @param {*} emaildata
27
+ * @returns
28
+ */
29
+ sendMail(source_1, _a, _b) {
30
+ return __awaiter(this, arguments, void 0, function* (source, { to, cc, ccn }, { body, plain, subject, charset, replyTo = [] }) {
31
+ if (!(0, common_1.isEmail)(source) || !to || !body || !subject) {
32
+ common_1.APP.logger.error(`Missing or wrong parameter to send email - source <${source}>, to <${to}>, body <${body}>, subject <${subject}>`);
33
+ return null;
34
+ }
35
+ const Charset = charset || this.charset;
36
+ const params = {
37
+ Destination: { ToAddresses: this.checkAddresses(to), CcAddresses: this.checkAddresses(cc || []) },
38
+ Message: { Body: {}, Subject: { Charset, Data: subject } },
39
+ Source: source,
40
+ ReplyToAddresses: this.checkAddresses(replyTo)
41
+ };
42
+ params.Message.Body[plain ? 'Text' : 'Html'] = { Charset, Data: body };
43
+ return this.ses.send(new client_ses_1.SendEmailCommand(params));
44
+ });
45
+ }
46
+ /**
47
+ *
48
+ * @param {*} values
49
+ * @returns
50
+ */
51
+ checkAddresses(values) {
52
+ if (!Array.isArray(values))
53
+ values = [values];
54
+ return values.filter(a => (0, common_1.isEmail)(a));
55
+ }
56
+ }
57
+ exports.AWSEmailManager = AWSEmailManager;
@@ -0,0 +1,37 @@
1
+ import { Message } from '@aws-sdk/client-sqs';
2
+ import { AWSBaseConfig, AWSQueueConfig } from './aws.interfaces';
3
+ export declare class AWSQueueManager {
4
+ private config;
5
+ private sqs;
6
+ private name;
7
+ private queueUrl;
8
+ private visibilityTimeout?;
9
+ private heartbeatInterval?;
10
+ private consumer?;
11
+ constructor({ name, queueUrl, visibilityTimeout, heartbeatInterval }: AWSQueueConfig, config: AWSBaseConfig);
12
+ /**
13
+ *
14
+ * @param messageAttributeNames
15
+ * @param method
16
+ */
17
+ initConsumer(messageAttributeNames?: string[], method?: Function): void;
18
+ /**
19
+ *
20
+ * @param {*} messageAttributeNames
21
+ * @param {*} method
22
+ * @returns
23
+ */
24
+ startConsumer(messageAttributeNames?: string[], method?: Function): void;
25
+ /**
26
+ *
27
+ * @param {*} message
28
+ * @param {*} method
29
+ * @returns
30
+ */
31
+ processMessage(message: Message, method?: Function): Promise<any>;
32
+ /**
33
+ *
34
+ * @param {*} message
35
+ */
36
+ deleteMessage(message: Message): Promise<boolean>;
37
+ }
@@ -0,0 +1,100 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AWSQueueManager = void 0;
13
+ const sqs_consumer_1 = require("sqs-consumer");
14
+ const client_sqs_1 = require("@aws-sdk/client-sqs");
15
+ const common_1 = require("../common");
16
+ class AWSQueueManager {
17
+ constructor({ name, queueUrl, visibilityTimeout, heartbeatInterval }, config) {
18
+ // this.region = region;
19
+ this.config = config || { region: 'eu-south-1' };
20
+ this.sqs = new client_sqs_1.SQS(this.config);
21
+ this.name = name;
22
+ this.queueUrl = queueUrl;
23
+ this.visibilityTimeout = visibilityTimeout;
24
+ this.heartbeatInterval = heartbeatInterval;
25
+ }
26
+ /**
27
+ *
28
+ * @param messageAttributeNames
29
+ * @param method
30
+ */
31
+ initConsumer(messageAttributeNames = [], method = () => { }) {
32
+ var _a;
33
+ common_1.APP.logger.info(`SQS ${this.name} consumer init`);
34
+ (_a = this.consumer) === null || _a === void 0 ? void 0 : _a.stop();
35
+ this.consumer = sqs_consumer_1.Consumer.create({
36
+ queueUrl: this.queueUrl,
37
+ messageAttributeNames,
38
+ visibilityTimeout: this.visibilityTimeout,
39
+ heartbeatInterval: this.heartbeatInterval,
40
+ terminateVisibilityTimeout: true,
41
+ shouldDeleteMessages: false, // Boolean - Default to true, if you don't want the package to delete messages from sqs set this to false
42
+ handleMessage: (message) => this.processMessage(message, method),
43
+ sqs: new client_sqs_1.SQS({ region: this.config.region })
44
+ });
45
+ }
46
+ /**
47
+ *
48
+ * @param {*} messageAttributeNames
49
+ * @param {*} method
50
+ * @returns
51
+ */
52
+ startConsumer(messageAttributeNames = [], method = () => { }) {
53
+ var _a;
54
+ this.initConsumer(messageAttributeNames, method);
55
+ (_a = this.consumer) === null || _a === void 0 ? void 0 : _a.start();
56
+ common_1.APP.logger.info(`SQS ${this.name} consumer started`);
57
+ }
58
+ /**
59
+ *
60
+ * @param {*} message
61
+ * @param {*} method
62
+ * @returns
63
+ */
64
+ processMessage(message_1) {
65
+ return __awaiter(this, arguments, void 0, function* (message, method = (message) => { return Promise.resolve(message); }) {
66
+ common_1.APP.logger.info(`SQS ${this.name} message ${message} received`);
67
+ try {
68
+ const res = yield method(message);
69
+ // if method returns a truely value then delete message from queue
70
+ return res ? this.deleteMessage(message) : res;
71
+ }
72
+ catch (err) {
73
+ common_1.APP.logger.error(`SQS ${this.name} message ${message} error: %o`, err);
74
+ return false;
75
+ }
76
+ });
77
+ }
78
+ /**
79
+ *
80
+ * @param {*} message
81
+ */
82
+ deleteMessage(message) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ try {
85
+ const deleteParams = {
86
+ QueueUrl: this.queueUrl,
87
+ ReceiptHandle: message.ReceiptHandle
88
+ };
89
+ yield this.sqs.deleteMessage(deleteParams);
90
+ common_1.APP.logger.info(`SQS ${this.name} message ${message} deleted`);
91
+ return true;
92
+ }
93
+ catch (err) {
94
+ common_1.APP.logger.info(`SQS ${this.name} message ${message} delete error ${err}`);
95
+ throw err;
96
+ }
97
+ });
98
+ }
99
+ }
100
+ exports.AWSQueueManager = AWSQueueManager;
@@ -0,0 +1,39 @@
1
+ export interface AWSBaseConfig {
2
+ region?: string;
3
+ }
4
+ export interface AWSClusterConfig {
5
+ cluster: string;
6
+ desiredCount?: number;
7
+ maxCount?: number;
8
+ workerJobs?: number;
9
+ }
10
+ export interface AWSJobsData {
11
+ pending: number;
12
+ running: number;
13
+ }
14
+ export interface AWSServiceDesiredCountOptions {
15
+ upscale: boolean;
16
+ downscale: boolean;
17
+ }
18
+ export interface AWSEmailConfig {
19
+ domain?: string;
20
+ charset?: string;
21
+ }
22
+ export interface AWSEmailRecipient {
23
+ to: string | string[];
24
+ cc?: string | string[];
25
+ ccn?: string | string[];
26
+ }
27
+ export interface AWSEmailContent {
28
+ body: string;
29
+ subject: string;
30
+ plain?: boolean;
31
+ charset?: string;
32
+ replyTo?: string[];
33
+ }
34
+ export interface AWSQueueConfig {
35
+ name: string;
36
+ queueUrl: string;
37
+ visibilityTimeout?: number;
38
+ heartbeatInterval?: number;
39
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export * from './aws.interfaces';
2
+ export * from './aws-cluster-manager';
3
+ export * from './aws-email-manager';
4
+ export * from './aws-queue-manager';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./aws.interfaces"), exports);
18
+ __exportStar(require("./aws-cluster-manager"), exports);
19
+ __exportStar(require("./aws-email-manager"), exports);
20
+ __exportStar(require("./aws-queue-manager"), exports);
@@ -0,0 +1 @@
1
+ export {};