@triproject/nestjs-core 1.0.28 → 1.0.30

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 (68) hide show
  1. package/dist/bootstrap.js +39 -1
  2. package/dist/config.js +257 -1
  3. package/dist/controllers/controller.js +53 -1
  4. package/dist/drivers/cache/cache.js +79 -1
  5. package/dist/drivers/cache/cache.module.js +30 -1
  6. package/dist/drivers/cache/index.js +14 -1
  7. package/dist/drivers/cache/redis.js +76 -1
  8. package/dist/drivers/db/db.helper.d.ts +1 -1
  9. package/dist/drivers/db/db.helper.js +276 -1
  10. package/dist/drivers/db/db.module.js +64 -1
  11. package/dist/drivers/db/db.service.js +52 -1
  12. package/dist/drivers/db/index.js +14 -1
  13. package/dist/drivers/db/migration.js +119 -1
  14. package/dist/drivers/db/repository.js +258 -1
  15. package/dist/drivers/encryptions/encryption.js +55 -1
  16. package/dist/drivers/encryptions/encryption.module.js +34 -1
  17. package/dist/drivers/encryptions/index.js +14 -1
  18. package/dist/drivers/encryptions/jwt.js +62 -1
  19. package/dist/drivers/encryptions/password-hash.js +48 -1
  20. package/dist/drivers/encryptions/snap.signature.js +111 -1
  21. package/dist/drivers/logger/app.logger.js +121 -2
  22. package/dist/drivers/logger/cloudwatch.js +73 -1
  23. package/dist/drivers/logger/index.js +12 -1
  24. package/dist/drivers/logger/logger.contract.js +29 -1
  25. package/dist/drivers/logger/logger.driver.js +49 -1
  26. package/dist/drivers/logger/slack.logger.js +42 -1
  27. package/dist/drivers/mail/index.js +14 -1
  28. package/dist/drivers/mail/mail-template.js +39 -6
  29. package/dist/drivers/mail/mail.config.js +10 -1
  30. package/dist/drivers/mail/mail.js +58 -13
  31. package/dist/drivers/mail/mail.module.js +36 -1
  32. package/dist/drivers/mail/mail.queue.js +45 -1
  33. package/dist/drivers/mail/mailer.js +64 -1
  34. package/dist/drivers/message-broker/index.js +14 -1
  35. package/dist/drivers/message-broker/kafka.js +104 -1
  36. package/dist/drivers/message-broker/message-broker.contract.js +24 -1
  37. package/dist/drivers/message-broker/message-broker.module.js +28 -1
  38. package/dist/drivers/message-broker/message.broker.js +67 -1
  39. package/dist/drivers/message-broker/rabbitmq.js +115 -1
  40. package/dist/drivers/notifications/index.js +14 -1
  41. package/dist/drivers/notifications/notification.config.js +10 -1
  42. package/dist/drivers/notifications/notification.module.js +34 -1
  43. package/dist/drivers/notifications/notification.queue.js +45 -1
  44. package/dist/drivers/notifications/push-notification.js +81 -1
  45. package/dist/drivers/notifications/slack.js +74 -1
  46. package/dist/drivers/queues/app.queue.js +77 -1
  47. package/dist/drivers/queues/index.js +14 -1
  48. package/dist/drivers/queues/queue.module.js +51 -1
  49. package/dist/drivers/secret-manager/aws-secret-manager.js +40 -1
  50. package/dist/drivers/secret-manager/index.js +50 -1
  51. package/dist/drivers/storage/csv.storage.js +71 -1
  52. package/dist/drivers/storage/excel.storage.js +57 -1
  53. package/dist/drivers/storage/index.js +14 -1
  54. package/dist/drivers/storage/local.storage.js +94 -1
  55. package/dist/drivers/storage/minio.storage.js +82 -1
  56. package/dist/drivers/storage/s3-storage.js +122 -1
  57. package/dist/drivers/storage/storage.contract.js +31 -1
  58. package/dist/drivers/storage/storage.module.js +32 -1
  59. package/dist/drivers/storage/storage.service.js +59 -1
  60. package/dist/helpers/exception.helper.js +132 -1
  61. package/dist/helpers/http.helper.js +163 -1
  62. package/dist/helpers/swagger.helper.js +474 -1
  63. package/dist/index.js +14 -1
  64. package/dist/types.d.js +4 -1
  65. package/dist/utils/redlock.js +51 -1
  66. package/dist/utils/throttle.js +68 -1
  67. package/dist/utils/totp.js +56 -1
  68. package/package.json +13 -11
package/dist/bootstrap.js CHANGED
@@ -1 +1,39 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"bootstrap",{enumerable:!0,get:function(){return bootstrap}});let _common=require("@nestjs/common"),_core=require("@nestjs/core"),_cookieparser=/*#__PURE__*/_interop_require_default(require("cookie-parser")),_helmet=/*#__PURE__*/_interop_require_default(require("helmet")),_config=require("./config"),_applogger=require("./drivers/logger/app.logger"),_httphelper=require("./helpers/http.helper");function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}async function bootstrap(module,swaggerSetup){let logger=new _applogger.AppLogger("Bootstrap App"),app=await _core.NestFactory.create(module,{rawBody:!0,logger});app.use((0,_cookieparser.default)()),app.useGlobalPipes(new _common.ValidationPipe({skipMissingProperties:!0,whitelist:!0,transform:!0,transformOptions:{enableImplicitConversion:!0}})),app.use((0,_helmet.default)()),app.useGlobalFilters(new _httphelper.HttpExceptionFilter),app.useGlobalInterceptors(new _httphelper.TransformResponseInterceptor),app.enableCors({origin:_config.ALLOWED_ORIGINS,credentials:!0}),swaggerSetup&&swaggerSetup(app),await app.listen(_config.APP_PORT).then(()=>{logger.log(`Server started on port ${_config.APP_PORT}`),swaggerSetup&&logger.log(`Swagger docs available at http://localhost:${_config.APP_PORT}/docs`)}).catch(error=>logger.error("Failed to start server",error))}
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: !0
4
+ }), Object.defineProperty(exports, "bootstrap", {
5
+ enumerable: !0,
6
+ get: function() {
7
+ return bootstrap;
8
+ }
9
+ });
10
+ let _common = require("@nestjs/common"), _core = require("@nestjs/core"), _cookieparser = /*#__PURE__*/ _interop_require_default(require("cookie-parser")), _helmet = /*#__PURE__*/ _interop_require_default(require("helmet")), _config = require("./config"), _applogger = require("./drivers/logger/app.logger"), _httphelper = require("./helpers/http.helper");
11
+ function _interop_require_default(obj) {
12
+ return obj && obj.__esModule ? obj : {
13
+ default: obj
14
+ };
15
+ }
16
+ async function bootstrap(module, swaggerSetup) {
17
+ let logger = new _applogger.AppLogger("Bootstrap App"), app = await _core.NestFactory.create(module, {
18
+ rawBody: !0,
19
+ logger
20
+ });
21
+ app.use((0, _cookieparser.default)()), app.useBodyParser('urlencoded', {
22
+ limit: '10mb',
23
+ extended: !0
24
+ }), app.useBodyParser('json', {
25
+ limit: '10mb'
26
+ }), app.useGlobalPipes(new _common.ValidationPipe({
27
+ skipMissingProperties: !0,
28
+ whitelist: !0,
29
+ transform: !0,
30
+ transformOptions: {
31
+ enableImplicitConversion: !0
32
+ }
33
+ })), app.use((0, _helmet.default)()), app.useGlobalFilters(new _httphelper.HttpExceptionFilter()), app.useGlobalInterceptors(new _httphelper.TransformResponseInterceptor()), app.enableCors({
34
+ origin: _config.ALLOWED_ORIGINS,
35
+ credentials: !0
36
+ }), swaggerSetup && swaggerSetup(app), await app.listen(_config.APP_PORT).then(()=>{
37
+ logger.log(`Server started on port ${_config.APP_PORT}`), swaggerSetup && logger.log(`Swagger docs available at http://localhost:${_config.APP_PORT}/docs`);
38
+ }).catch((error)=>logger.error('Failed to start server', error));
39
+ }
package/dist/config.js CHANGED
@@ -1 +1,257 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get ALLOWED_ORIGINS(){return ALLOWED_ORIGINS},get APP_KEY(){return APP_KEY},get APP_LOGO_URL(){return APP_LOGO_URL},get APP_NAME(){return APP_NAME},get APP_PORT(){return APP_PORT},get AWS_SECRETS_MANAGER_ACCESS_KEY_ID(){return AWS_SECRETS_MANAGER_ACCESS_KEY_ID},get AWS_SECRETS_MANAGER_ENABLED(){return AWS_SECRETS_MANAGER_ENABLED},get AWS_SECRETS_MANAGER_REGION(){return AWS_SECRETS_MANAGER_REGION},get AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY(){return AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY},get AWS_SECRETS_MANAGER_SECRET_NAME(){return AWS_SECRETS_MANAGER_SECRET_NAME},get AWS_SECRETS_MANAGER_VERSION_STAGE(){return AWS_SECRETS_MANAGER_VERSION_STAGE},get CLOUDWATCH_ACCESS_KEY_ID(){return CLOUDWATCH_ACCESS_KEY_ID},get CLOUDWATCH_LOG_GROUP(){return CLOUDWATCH_LOG_GROUP},get CLOUDWATCH_LOG_STREAM(){return CLOUDWATCH_LOG_STREAM},get CLOUDWATCH_REGION(){return CLOUDWATCH_REGION},get CLOUDWATCH_SECRET_ACCESS_KEY(){return CLOUDWATCH_SECRET_ACCESS_KEY},get DB_DIALECT(){return DB_DIALECT},get DB_ENTITIES_PATH(){return DB_ENTITIES_PATH},get DB_HOST(){return DB_HOST},get DB_MAX_POOL_SIZE(){return DB_MAX_POOL_SIZE},get DB_NAME(){return DB_NAME},get DB_PASSWORD(){return DB_PASSWORD},get DB_POOL_ACQUIRE(){return DB_POOL_ACQUIRE},get DB_POOL_IDLE(){return DB_POOL_IDLE},get DB_POOL_MIN(){return DB_POOL_MIN},get DB_PORT(){return DB_PORT},get DB_REPLICA_HOST(){return DB_REPLICA_HOST},get DB_REPLICA_PORT(){return DB_REPLICA_PORT},get DB_SSL(){return DB_SSL},get DB_USER(){return DB_USER},get DEFAULT_THROTTLE_LIMIT(){return DEFAULT_THROTTLE_LIMIT},get DEFAULT_THROTTLE_TTL(){return DEFAULT_THROTTLE_TTL},get ENABLE_CLOUDWATCH_LOGS(){return ENABLE_CLOUDWATCH_LOGS},get ENCRYPTION_KEY(){return ENCRYPTION_KEY},get JWT_PRIVATE_KEY(){return JWT_PRIVATE_KEY},get JWT_PUBLIC_KEY(){return JWT_PUBLIC_KEY},get KAFKA_BROKERS(){return KAFKA_BROKERS},get KAFKA_CLIENT_ID(){return KAFKA_CLIENT_ID},get LANDING_PAGE_URL(){return LANDING_PAGE_URL},get MAIL_EMAIL_SUPPORT(){return MAIL_EMAIL_SUPPORT},get MAIL_ENCRYPTION(){return MAIL_ENCRYPTION},get MAIL_FROM_EMAIL(){return MAIL_FROM_EMAIL},get MAIL_FROM_NAME(){return MAIL_FROM_NAME},get MAIL_HOST(){return MAIL_HOST},get MAIL_MAILER(){return MAIL_MAILER},get MAIL_PASSWORD(){return MAIL_PASSWORD},get MAIL_PORT(){return MAIL_PORT},get MAIL_TO_CC(){return MAIL_TO_CC},get MAIL_USERNAME(){return MAIL_USERNAME},get MESSAGE_BROKER_DRIVER(){return MESSAGE_BROKER_DRIVER},get MINIO_ACCESS_KEY(){return MINIO_ACCESS_KEY},get MINIO_HOST(){return MINIO_HOST},get MINIO_PORT(){return MINIO_PORT},get MINIO_SECRET_KEY(){return MINIO_SECRET_KEY},get MINIO_USE_SSL(){return MINIO_USE_SSL},get NODE_ENV(){return NODE_ENV},get ONESIGNAL_APP_ID(){return ONESIGNAL_APP_ID},get ONESIGNAL_REST_API_KEY(){return ONESIGNAL_REST_API_KEY},get PASSWORD_HASH_SECRET(){return PASSWORD_HASH_SECRET},get RABBITMQ_HOST(){return RABBITMQ_HOST},get REDIS_DB(){return REDIS_DB},get REDIS_HOST(){return REDIS_HOST},get REDIS_PASSWORD(){return REDIS_PASSWORD},get REDIS_PORT(){return REDIS_PORT},get REDIS_READ_DB(){return REDIS_READ_DB},get REDIS_READ_HOST(){return REDIS_READ_HOST},get REDIS_READ_PASSWORD(){return REDIS_READ_PASSWORD},get REDIS_READ_PORT(){return REDIS_READ_PORT},get REDIS_READ_TLS(){return REDIS_READ_TLS},get REDIS_READ_USER(){return REDIS_READ_USER},get REDIS_TLS(){return REDIS_TLS},get REDIS_USER(){return REDIS_USER},get S3_ACCESS_KEY_ID(){return S3_ACCESS_KEY_ID},get S3_BUCKET(){return S3_BUCKET},get S3_REGION(){return S3_REGION},get S3_SECRET_ACCESS_KEY(){return S3_SECRET_ACCESS_KEY},get SESSION_EXPIRATION(){return SESSION_EXPIRATION},get SESSION_KEY(){return SESSION_KEY},get SLACK_ERROR_WEBHOOK_URL(){return SLACK_ERROR_WEBHOOK_URL},get STORAGE_DRIVER(){return STORAGE_DRIVER},get TZ(){return TZ}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});(0,require("dotenv").config)({quiet:!0});let TZ=process?.env?.TZ??"UTC",NODE_ENV=process.env.NODE_ENV??"development",APP_NAME=process.env.APP_NAME??"MyApp",APP_PORT=Number(process.env.APP_PORT??3e3),APP_KEY=process.env.APP_KEY??"",SESSION_KEY=process.env.SESSION_KEY??"APP_SESSION",SESSION_EXPIRATION=Number(process.env.SESSION_EXPIRATION??86400),ALLOWED_ORIGINS=(process.env.ALLOWED_ORIGINS??"http://localhost:3000").split(","),DEFAULT_THROTTLE_TTL=Number(process.env.DEFAULT_THROTTLE_TTL??60),DEFAULT_THROTTLE_LIMIT=Number(process.env.DEFAULT_THROTTLE_LIMIT??60),PASSWORD_HASH_SECRET=process.env.PASSWORD_HASH_SECRET??"default_secret",ENCRYPTION_KEY=process.env.ENCRYPTION_KEY,JWT_PUBLIC_KEY=process.env.JWT_PUBLIC_KEY??"",JWT_PRIVATE_KEY=process.env.JWT_PRIVATE_KEY??"",DB_DIALECT="postgres",DB_HOST=process.env.DB_HOST??"localhost",DB_PORT=Number(process.env.DB_PORT??5432),DB_USER=process.env.DB_USER??"postgres",DB_PASSWORD=process.env.DB_PASSWORD??"password",DB_NAME=process.env.DB_NAME??"postgres",DB_REPLICA_HOST=process.env.DB_REPLICA_HOST??"localhost",DB_REPLICA_PORT=Number(process.env.DB_REPLICA_PORT??5432),DB_SSL=(process.env.DB_SSL??"false")?.toLowerCase()==="true",DB_MAX_POOL_SIZE=Number(process.env.DB_MAX_POOL_SIZE??10),DB_POOL_MIN=Number(process.env.DB_POOL_MIN??0),DB_POOL_ACQUIRE=Number(process.env.DB_POOL_ACQUIRE??3e4),DB_POOL_IDLE=Number(process.env.DB_POOL_IDLE??1e4),DB_ENTITIES_PATH="./dist/**/**/*.entity.*",REDIS_HOST=process.env.REDIS_HOST??"localhost",REDIS_PORT=Number(process.env.REDIS_PORT??6379),REDIS_DB=Number(process.env.REDIS_DB??0),REDIS_USER=process.env.REDIS_USER,REDIS_PASSWORD=process.env.REDIS_PASSWORD,REDIS_TLS=(process.env.REDIS_TLS??"false")?.toLowerCase()==="true",REDIS_READ_HOST=process.env.REDIS_READ_HOST,REDIS_READ_PORT=Number(process.env.REDIS_READ_PORT??6379),REDIS_READ_DB=Number(process.env.REDIS_READ_DB??0),REDIS_READ_USER=process.env.REDIS_READ_USER,REDIS_READ_PASSWORD=process.env.REDIS_READ_PASSWORD,REDIS_READ_TLS=(process.env.REDIS_READ_TLS??"false")?.toLowerCase()==="true",MAIL_MAILER=process.env.MAIL_MAILER??"smtp",MAIL_HOST=process.env.MAIL_HOST??"127.0.0.1",MAIL_PORT=+(process.env.MAIL_PORT??1025),MAIL_USERNAME=process.env.MAIL_USERNAME??"",MAIL_PASSWORD=process.env.MAIL_PASSWORD??"",MAIL_ENCRYPTION=process.env.MAIL_ENCRYPTION??"false",MAIL_FROM_NAME=process.env.MAIL_FROM_NAME??"Support Team",MAIL_FROM_EMAIL=process.env.MAIL_FROM_EMAIL??"no-reply@app.com",MAIL_TO_CC=process.env.MAIL_TO_CC??"",MAIL_EMAIL_SUPPORT=process.env.MAIL_EMAIL_SUPPORT??"support@app.com",SLACK_ERROR_WEBHOOK_URL=process.env.SLACK_ERROR_WEBHOOK_URL??"",LANDING_PAGE_URL=process.env.LANDING_PAGE_URL??"http://localhost:8000",APP_LOGO_URL=process.env.APP_LOGO_URL??"",ONESIGNAL_APP_ID=process.env.ONESIGNAL_APP_ID??"",ONESIGNAL_REST_API_KEY=process.env.ONESIGNAL_REST_API_KEY??"",STORAGE_DRIVER=process.env.STORAGE_DRIVER??"local",S3_BUCKET=process.env.S3_BUCKET??"",S3_REGION=process.env.S3_REGION??"us-east-1",S3_ACCESS_KEY_ID=process.env.S3_ACCESS_KEY_ID??"",S3_SECRET_ACCESS_KEY=process.env.S3_SECRET_ACCESS_KEY??"",MINIO_HOST=process.env.MINIO_HOST,MINIO_PORT=Number(process.env.MINIO_PORT??9e3),MINIO_USE_SSL=(process.env.MINIO_USE_SSL??"false")?.toLowerCase()==="true",MINIO_ACCESS_KEY=process.env.MINIO_ACCESS_KEY??"",MINIO_SECRET_KEY=process.env.MINIO_SECRET_KEY??"",MESSAGE_BROKER_DRIVER=process.env.MESSAGE_BROKER_DRIVER??"rabbitmq",RABBITMQ_HOST=process.env.RABBITMQ_HOST??"amqp://localhost",KAFKA_BROKERS=(process.env.KAFKA_BROKERS??"localhost:9092").split(","),KAFKA_CLIENT_ID=process.env.KAFKA_CLIENT_ID??"my-app",CLOUDWATCH_LOG_GROUP=process.env.CLOUDWATCH_LOG_GROUP,CLOUDWATCH_LOG_STREAM=process.env.CLOUDWATCH_LOG_STREAM,CLOUDWATCH_REGION=process.env.CLOUDWATCH_REGION,CLOUDWATCH_ACCESS_KEY_ID=process.env.CLOUDWATCH_ACCESS_KEY_ID,CLOUDWATCH_SECRET_ACCESS_KEY=process.env.CLOUDWATCH_SECRET_ACCESS_KEY,ENABLE_CLOUDWATCH_LOGS=CLOUDWATCH_LOG_GROUP&&CLOUDWATCH_LOG_STREAM&&CLOUDWATCH_REGION&&CLOUDWATCH_ACCESS_KEY_ID&&CLOUDWATCH_SECRET_ACCESS_KEY,AWS_SECRETS_MANAGER_ENABLED=(process.env.AWS_SECRETS_MANAGER_ENABLED??"false")?.toLowerCase()==="true",AWS_SECRETS_MANAGER_REGION=process.env.AWS_SECRETS_MANAGER_REGION??"us-east-1",AWS_SECRETS_MANAGER_ACCESS_KEY_ID=process.env.AWS_SECRETS_MANAGER_ACCESS_KEY_ID??"",AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY=process.env.AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY??"",AWS_SECRETS_MANAGER_SECRET_NAME=process.env.AWS_SECRETS_MANAGER_SECRET_NAME??"",AWS_SECRETS_MANAGER_VERSION_STAGE=process.env.AWS_SECRETS_MANAGER_VERSION_STAGE??"AWSCURRENT";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: !0
4
+ });
5
+ var target = exports, all = {
6
+ get ALLOWED_ORIGINS () {
7
+ return ALLOWED_ORIGINS;
8
+ },
9
+ get APP_KEY () {
10
+ return APP_KEY;
11
+ },
12
+ get APP_LOGO_URL () {
13
+ return APP_LOGO_URL;
14
+ },
15
+ get APP_NAME () {
16
+ return APP_NAME;
17
+ },
18
+ get APP_PORT () {
19
+ return APP_PORT;
20
+ },
21
+ get AWS_SECRETS_MANAGER_ACCESS_KEY_ID () {
22
+ return AWS_SECRETS_MANAGER_ACCESS_KEY_ID;
23
+ },
24
+ get AWS_SECRETS_MANAGER_ENABLED () {
25
+ return AWS_SECRETS_MANAGER_ENABLED;
26
+ },
27
+ get AWS_SECRETS_MANAGER_REGION () {
28
+ return AWS_SECRETS_MANAGER_REGION;
29
+ },
30
+ get AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY () {
31
+ return AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY;
32
+ },
33
+ get AWS_SECRETS_MANAGER_SECRET_NAME () {
34
+ return AWS_SECRETS_MANAGER_SECRET_NAME;
35
+ },
36
+ get AWS_SECRETS_MANAGER_VERSION_STAGE () {
37
+ return AWS_SECRETS_MANAGER_VERSION_STAGE;
38
+ },
39
+ get CLOUDWATCH_ACCESS_KEY_ID () {
40
+ return CLOUDWATCH_ACCESS_KEY_ID;
41
+ },
42
+ get CLOUDWATCH_LOG_GROUP () {
43
+ return CLOUDWATCH_LOG_GROUP;
44
+ },
45
+ get CLOUDWATCH_LOG_STREAM () {
46
+ return CLOUDWATCH_LOG_STREAM;
47
+ },
48
+ get CLOUDWATCH_REGION () {
49
+ return CLOUDWATCH_REGION;
50
+ },
51
+ get CLOUDWATCH_SECRET_ACCESS_KEY () {
52
+ return CLOUDWATCH_SECRET_ACCESS_KEY;
53
+ },
54
+ get DB_DIALECT () {
55
+ return DB_DIALECT;
56
+ },
57
+ get DB_ENTITIES_PATH () {
58
+ return DB_ENTITIES_PATH;
59
+ },
60
+ get DB_HOST () {
61
+ return DB_HOST;
62
+ },
63
+ get DB_MAX_POOL_SIZE () {
64
+ return DB_MAX_POOL_SIZE;
65
+ },
66
+ get DB_NAME () {
67
+ return DB_NAME;
68
+ },
69
+ get DB_PASSWORD () {
70
+ return DB_PASSWORD;
71
+ },
72
+ get DB_POOL_ACQUIRE () {
73
+ return DB_POOL_ACQUIRE;
74
+ },
75
+ get DB_POOL_IDLE () {
76
+ return DB_POOL_IDLE;
77
+ },
78
+ get DB_POOL_MIN () {
79
+ return DB_POOL_MIN;
80
+ },
81
+ get DB_PORT () {
82
+ return DB_PORT;
83
+ },
84
+ get DB_REPLICA_HOST () {
85
+ return DB_REPLICA_HOST;
86
+ },
87
+ get DB_REPLICA_PORT () {
88
+ return DB_REPLICA_PORT;
89
+ },
90
+ get DB_SSL () {
91
+ return DB_SSL;
92
+ },
93
+ get DB_USER () {
94
+ return DB_USER;
95
+ },
96
+ get DEFAULT_THROTTLE_LIMIT () {
97
+ return DEFAULT_THROTTLE_LIMIT;
98
+ },
99
+ get DEFAULT_THROTTLE_TTL () {
100
+ return DEFAULT_THROTTLE_TTL;
101
+ },
102
+ get ENABLE_CLOUDWATCH_LOGS () {
103
+ return ENABLE_CLOUDWATCH_LOGS;
104
+ },
105
+ get ENCRYPTION_KEY () {
106
+ return ENCRYPTION_KEY;
107
+ },
108
+ get JWT_PRIVATE_KEY () {
109
+ return JWT_PRIVATE_KEY;
110
+ },
111
+ get JWT_PUBLIC_KEY () {
112
+ return JWT_PUBLIC_KEY;
113
+ },
114
+ get KAFKA_BROKERS () {
115
+ return KAFKA_BROKERS;
116
+ },
117
+ get KAFKA_CLIENT_ID () {
118
+ return KAFKA_CLIENT_ID;
119
+ },
120
+ get LANDING_PAGE_URL () {
121
+ return LANDING_PAGE_URL;
122
+ },
123
+ get MAIL_EMAIL_SUPPORT () {
124
+ return MAIL_EMAIL_SUPPORT;
125
+ },
126
+ get MAIL_ENCRYPTION () {
127
+ return MAIL_ENCRYPTION;
128
+ },
129
+ get MAIL_FROM_EMAIL () {
130
+ return MAIL_FROM_EMAIL;
131
+ },
132
+ get MAIL_FROM_NAME () {
133
+ return MAIL_FROM_NAME;
134
+ },
135
+ get MAIL_HOST () {
136
+ return MAIL_HOST;
137
+ },
138
+ get MAIL_MAILER () {
139
+ return MAIL_MAILER;
140
+ },
141
+ get MAIL_PASSWORD () {
142
+ return MAIL_PASSWORD;
143
+ },
144
+ get MAIL_PORT () {
145
+ return MAIL_PORT;
146
+ },
147
+ get MAIL_TO_CC () {
148
+ return MAIL_TO_CC;
149
+ },
150
+ get MAIL_USERNAME () {
151
+ return MAIL_USERNAME;
152
+ },
153
+ get MESSAGE_BROKER_DRIVER () {
154
+ return MESSAGE_BROKER_DRIVER;
155
+ },
156
+ get MINIO_ACCESS_KEY () {
157
+ return MINIO_ACCESS_KEY;
158
+ },
159
+ get MINIO_HOST () {
160
+ return MINIO_HOST;
161
+ },
162
+ get MINIO_PORT () {
163
+ return MINIO_PORT;
164
+ },
165
+ get MINIO_SECRET_KEY () {
166
+ return MINIO_SECRET_KEY;
167
+ },
168
+ get MINIO_USE_SSL () {
169
+ return MINIO_USE_SSL;
170
+ },
171
+ get NODE_ENV () {
172
+ return NODE_ENV;
173
+ },
174
+ get ONESIGNAL_APP_ID () {
175
+ return ONESIGNAL_APP_ID;
176
+ },
177
+ get ONESIGNAL_REST_API_KEY () {
178
+ return ONESIGNAL_REST_API_KEY;
179
+ },
180
+ get PASSWORD_HASH_SECRET () {
181
+ return PASSWORD_HASH_SECRET;
182
+ },
183
+ get RABBITMQ_HOST () {
184
+ return RABBITMQ_HOST;
185
+ },
186
+ get REDIS_DB () {
187
+ return REDIS_DB;
188
+ },
189
+ get REDIS_HOST () {
190
+ return REDIS_HOST;
191
+ },
192
+ get REDIS_PASSWORD () {
193
+ return REDIS_PASSWORD;
194
+ },
195
+ get REDIS_PORT () {
196
+ return REDIS_PORT;
197
+ },
198
+ get REDIS_READ_DB () {
199
+ return REDIS_READ_DB;
200
+ },
201
+ get REDIS_READ_HOST () {
202
+ return REDIS_READ_HOST;
203
+ },
204
+ get REDIS_READ_PASSWORD () {
205
+ return REDIS_READ_PASSWORD;
206
+ },
207
+ get REDIS_READ_PORT () {
208
+ return REDIS_READ_PORT;
209
+ },
210
+ get REDIS_READ_TLS () {
211
+ return REDIS_READ_TLS;
212
+ },
213
+ get REDIS_READ_USER () {
214
+ return REDIS_READ_USER;
215
+ },
216
+ get REDIS_TLS () {
217
+ return REDIS_TLS;
218
+ },
219
+ get REDIS_USER () {
220
+ return REDIS_USER;
221
+ },
222
+ get S3_ACCESS_KEY_ID () {
223
+ return S3_ACCESS_KEY_ID;
224
+ },
225
+ get S3_BUCKET () {
226
+ return S3_BUCKET;
227
+ },
228
+ get S3_REGION () {
229
+ return S3_REGION;
230
+ },
231
+ get S3_SECRET_ACCESS_KEY () {
232
+ return S3_SECRET_ACCESS_KEY;
233
+ },
234
+ get SESSION_EXPIRATION () {
235
+ return SESSION_EXPIRATION;
236
+ },
237
+ get SESSION_KEY () {
238
+ return SESSION_KEY;
239
+ },
240
+ get SLACK_ERROR_WEBHOOK_URL () {
241
+ return SLACK_ERROR_WEBHOOK_URL;
242
+ },
243
+ get STORAGE_DRIVER () {
244
+ return STORAGE_DRIVER;
245
+ },
246
+ get TZ () {
247
+ return TZ;
248
+ }
249
+ };
250
+ for(var name in all)Object.defineProperty(target, name, {
251
+ enumerable: !0,
252
+ get: Object.getOwnPropertyDescriptor(all, name).get
253
+ });
254
+ (0, require("dotenv").config)({
255
+ quiet: !0
256
+ });
257
+ let TZ = process?.env?.TZ ?? 'UTC', NODE_ENV = process.env.NODE_ENV ?? 'development', APP_NAME = process.env.APP_NAME ?? 'MyApp', APP_PORT = Number(process.env.APP_PORT ?? 3000), APP_KEY = process.env.APP_KEY ?? '', SESSION_KEY = process.env.SESSION_KEY ?? 'APP_SESSION', SESSION_EXPIRATION = Number(process.env.SESSION_EXPIRATION ?? 86400), ALLOWED_ORIGINS = (process.env.ALLOWED_ORIGINS ?? 'http://localhost:3000').split(','), DEFAULT_THROTTLE_TTL = Number(process.env.DEFAULT_THROTTLE_TTL ?? 60), DEFAULT_THROTTLE_LIMIT = Number(process.env.DEFAULT_THROTTLE_LIMIT ?? 60), PASSWORD_HASH_SECRET = process.env.PASSWORD_HASH_SECRET ?? 'default_secret', ENCRYPTION_KEY = process.env.ENCRYPTION_KEY, JWT_PUBLIC_KEY = process.env.JWT_PUBLIC_KEY ?? '', JWT_PRIVATE_KEY = process.env.JWT_PRIVATE_KEY ?? '', DB_DIALECT = 'postgres', DB_HOST = process.env.DB_HOST ?? 'localhost', DB_PORT = Number(process.env.DB_PORT ?? 5432), DB_USER = process.env.DB_USER ?? 'postgres', DB_PASSWORD = process.env.DB_PASSWORD ?? 'password', DB_NAME = process.env.DB_NAME ?? 'postgres', DB_REPLICA_HOST = process.env.DB_REPLICA_HOST ?? 'localhost', DB_REPLICA_PORT = Number(process.env.DB_REPLICA_PORT ?? 5432), DB_SSL = (process.env.DB_SSL ?? 'false')?.toLowerCase() === 'true', DB_MAX_POOL_SIZE = Number(process.env.DB_MAX_POOL_SIZE ?? 10), DB_POOL_MIN = Number(process.env.DB_POOL_MIN ?? 0), DB_POOL_ACQUIRE = Number(process.env.DB_POOL_ACQUIRE ?? 30000), DB_POOL_IDLE = Number(process.env.DB_POOL_IDLE ?? 10000), DB_ENTITIES_PATH = './dist/**/**/*.entity.*', REDIS_HOST = process.env.REDIS_HOST ?? 'localhost', REDIS_PORT = Number(process.env.REDIS_PORT ?? 6379), REDIS_DB = Number(process.env.REDIS_DB ?? 0), REDIS_USER = process.env.REDIS_USER, REDIS_PASSWORD = process.env.REDIS_PASSWORD, REDIS_TLS = (process.env.REDIS_TLS ?? 'false')?.toLowerCase() === 'true', REDIS_READ_HOST = process.env.REDIS_READ_HOST, REDIS_READ_PORT = Number(process.env.REDIS_READ_PORT ?? 6379), REDIS_READ_DB = Number(process.env.REDIS_READ_DB ?? 0), REDIS_READ_USER = process.env.REDIS_READ_USER, REDIS_READ_PASSWORD = process.env.REDIS_READ_PASSWORD, REDIS_READ_TLS = (process.env.REDIS_READ_TLS ?? 'false')?.toLowerCase() === 'true', MAIL_MAILER = process.env.MAIL_MAILER ?? 'smtp', MAIL_HOST = process.env.MAIL_HOST ?? '127.0.0.1', MAIL_PORT = +(process.env.MAIL_PORT ?? 1025), MAIL_USERNAME = process.env.MAIL_USERNAME ?? '', MAIL_PASSWORD = process.env.MAIL_PASSWORD ?? '', MAIL_ENCRYPTION = process.env.MAIL_ENCRYPTION ?? 'false', MAIL_FROM_NAME = process.env.MAIL_FROM_NAME ?? 'Support Team', MAIL_FROM_EMAIL = process.env.MAIL_FROM_EMAIL ?? 'no-reply@app.com', MAIL_TO_CC = process.env.MAIL_TO_CC ?? '', MAIL_EMAIL_SUPPORT = process.env.MAIL_EMAIL_SUPPORT ?? 'support@app.com', SLACK_ERROR_WEBHOOK_URL = process.env.SLACK_ERROR_WEBHOOK_URL ?? '', LANDING_PAGE_URL = process.env.LANDING_PAGE_URL ?? 'http://localhost:8000', APP_LOGO_URL = process.env.APP_LOGO_URL ?? '', ONESIGNAL_APP_ID = process.env.ONESIGNAL_APP_ID ?? '', ONESIGNAL_REST_API_KEY = process.env.ONESIGNAL_REST_API_KEY ?? '', STORAGE_DRIVER = process.env.STORAGE_DRIVER ?? 'local', S3_BUCKET = process.env.S3_BUCKET ?? '', S3_REGION = process.env.S3_REGION ?? 'us-east-1', S3_ACCESS_KEY_ID = process.env.S3_ACCESS_KEY_ID ?? '', S3_SECRET_ACCESS_KEY = process.env.S3_SECRET_ACCESS_KEY ?? '', MINIO_HOST = process.env.MINIO_HOST, MINIO_PORT = Number(process.env.MINIO_PORT ?? 9000), MINIO_USE_SSL = (process.env.MINIO_USE_SSL ?? 'false')?.toLowerCase() === 'true', MINIO_ACCESS_KEY = process.env.MINIO_ACCESS_KEY ?? '', MINIO_SECRET_KEY = process.env.MINIO_SECRET_KEY ?? '', MESSAGE_BROKER_DRIVER = process.env.MESSAGE_BROKER_DRIVER ?? 'rabbitmq', RABBITMQ_HOST = process.env.RABBITMQ_HOST ?? 'amqp://localhost', KAFKA_BROKERS = (process.env.KAFKA_BROKERS ?? 'localhost:9092').split(','), KAFKA_CLIENT_ID = process.env.KAFKA_CLIENT_ID ?? 'my-app', CLOUDWATCH_LOG_GROUP = process.env.CLOUDWATCH_LOG_GROUP, CLOUDWATCH_LOG_STREAM = process.env.CLOUDWATCH_LOG_STREAM, CLOUDWATCH_REGION = process.env.CLOUDWATCH_REGION, CLOUDWATCH_ACCESS_KEY_ID = process.env.CLOUDWATCH_ACCESS_KEY_ID, CLOUDWATCH_SECRET_ACCESS_KEY = process.env.CLOUDWATCH_SECRET_ACCESS_KEY, ENABLE_CLOUDWATCH_LOGS = CLOUDWATCH_LOG_GROUP && CLOUDWATCH_LOG_STREAM && CLOUDWATCH_REGION && CLOUDWATCH_ACCESS_KEY_ID && CLOUDWATCH_SECRET_ACCESS_KEY, AWS_SECRETS_MANAGER_ENABLED = (process.env.AWS_SECRETS_MANAGER_ENABLED ?? 'false')?.toLowerCase() === 'true', AWS_SECRETS_MANAGER_REGION = process.env.AWS_SECRETS_MANAGER_REGION ?? 'us-east-1', AWS_SECRETS_MANAGER_ACCESS_KEY_ID = process.env.AWS_SECRETS_MANAGER_ACCESS_KEY_ID ?? '', AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY = process.env.AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY ?? '', AWS_SECRETS_MANAGER_SECRET_NAME = process.env.AWS_SECRETS_MANAGER_SECRET_NAME ?? '', AWS_SECRETS_MANAGER_VERSION_STAGE = process.env.AWS_SECRETS_MANAGER_VERSION_STAGE ?? 'AWSCURRENT';
@@ -1 +1,53 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"AppController",{enumerable:!0,get:function(){return AppController}});let _common=require("@nestjs/common"),_core=require("@nestjs/core"),_helpers=require("@triproject/helpers"),_cache=require("../drivers/cache"),_swaggerhelper=require("../helpers/swagger.helper");function _ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}function _ts_metadata(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)}let AppController=class AppController{req;appCache;_cacheKey(){let keys=[this.constructor.name,this.req.path,this.req.method];return this.req.query&&Object.keys(this.req.query).length&&keys.push((0,_helpers.qs)(this.req.query)),this.req.body&&Object.keys(this.req.body).length&&keys.push((0,_helpers.qs)(this.req.body)),keys}async cache(callback,ttl=60){return await this.appCache.cache(this._cacheKey(),callback,ttl)}async cacheWithTimestamp(callback,ttl=60){return await this.appCache.cacheWithTimeStamp(this._cacheKey(),callback,ttl)}async clearCache(){await this.appCache.delAll(this.constructor.name)}};_ts_decorate([(0,_common.Inject)(_core.REQUEST),_ts_metadata("design:type","u"<typeof Request?Object:Request)],AppController.prototype,"req",void 0),_ts_decorate([(0,_common.Inject)(_cache.AppCache),_ts_metadata("design:type",void 0===_cache.AppCache?Object:_cache.AppCache)],AppController.prototype,"appCache",void 0),AppController=_ts_decorate([_swaggerhelper.SwaggerApiInternalServerErrorResponse,_swaggerhelper.SwaggerApiBadSwaGatewayResponse,_swaggerhelper.SwaggerApiConflictResponse,_swaggerhelper.SwaggerApiForbiddenResponse,_swaggerhelper.SwaggerApiUnauthorizedResponse],AppController);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: !0
4
+ }), Object.defineProperty(exports, "AppController", {
5
+ enumerable: !0,
6
+ get: function() {
7
+ return AppController;
8
+ }
9
+ });
10
+ let _common = require("@nestjs/common"), _core = require("@nestjs/core"), _helpers = require("@triproject/helpers"), _cache = require("../drivers/cache"), _swaggerhelper = require("../helpers/swagger.helper");
11
+ function _ts_decorate(decorators, target, key, desc) {
12
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
13
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
14
+ else for(var i = decorators.length - 1; i >= 0; i--)(d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
15
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
16
+ }
17
+ function _ts_metadata(k, v) {
18
+ if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
19
+ }
20
+ let AppController = class AppController {
21
+ req;
22
+ appCache;
23
+ _cacheKey() {
24
+ let keys = [
25
+ this.constructor.name,
26
+ this.req.path,
27
+ this.req.method
28
+ ];
29
+ return this.req.query && Object.keys(this.req.query).length && keys.push((0, _helpers.qs)(this.req.query)), this.req.body && Object.keys(this.req.body).length && keys.push((0, _helpers.qs)(this.req.body)), keys;
30
+ }
31
+ async cache(callback, ttl = 60_000) {
32
+ return await this.appCache.cache(this._cacheKey(), callback, ttl);
33
+ }
34
+ async cacheWithTimestamp(callback, ttl = 60_000) {
35
+ return await this.appCache.cacheWithTimeStamp(this._cacheKey(), callback, ttl);
36
+ }
37
+ async clearCache() {
38
+ await this.appCache.delAll(this.constructor.name);
39
+ }
40
+ };
41
+ _ts_decorate([
42
+ (0, _common.Inject)(_core.REQUEST),
43
+ _ts_metadata("design:type", "u" < typeof Request ? Object : Request)
44
+ ], AppController.prototype, "req", void 0), _ts_decorate([
45
+ (0, _common.Inject)(_cache.AppCache),
46
+ _ts_metadata("design:type", void 0 === _cache.AppCache ? Object : _cache.AppCache)
47
+ ], AppController.prototype, "appCache", void 0), AppController = _ts_decorate([
48
+ _swaggerhelper.SwaggerApiInternalServerErrorResponse,
49
+ _swaggerhelper.SwaggerApiBadSwaGatewayResponse,
50
+ _swaggerhelper.SwaggerApiConflictResponse,
51
+ _swaggerhelper.SwaggerApiForbiddenResponse,
52
+ _swaggerhelper.SwaggerApiUnauthorizedResponse
53
+ ], AppController);
@@ -1 +1,79 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"AppCache",{enumerable:!0,get:function(){return AppCache}});let _common=require("@nestjs/common"),_helpers=require("@triproject/helpers"),_config=require("../../config"),_redis=require("./redis");function _ts_metadata(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)}let AppCache=class AppCache{connection;readConnection;PREFIX=_config.APP_KEY??"APP_CACHE";constructor(redis){this.connection=redis.getConnection(),this.readConnection=redis.getReadConnection()}_parseKey(key){if(!key)throw new _common.UnprocessableEntityException("Cache key cannot be null or undefined");let keys=[this.PREFIX];return Array.isArray(key)?keys.push(...key):keys.push(key?.toString()),keys.flat().flat().filter(d=>d).map(d=>d?.toString()?.toUpperCase()).join("::").replaceAll(/[^a-zA-Z0-9\-:]/g,"-")}async set(key,value,ttl=60){await this.connection.set(this._parseKey(key),JSON.stringify({data:value}),"EX",ttl)}async get(key){try{let data=await this.readConnection.get(this._parseKey(key));if(!data)return;let parsedData=JSON.parse(data?.toString());return parsedData?.data}catch(error){return}}async del(key){await this.connection.del(this._parseKey(key))}async delAll(key){for(let k of(await this.connection.keys(`${this._parseKey(key)}*`)))await this.connection.del(k)}async cache(key,fn,ttl=60){let data=await this.get(key);if(data)return data;let result=await fn();return await this.set(key,result,ttl),result}async cacheWithTimeStamp(key,value,ttl){try{let data=await this.get(key);if(data)return data;return data={data:"function"==typeof value?await value():value,timestamp:(0,_helpers.dateUtil)().utc().toString()},this.set(key,data,ttl),data}catch(error){throw error}}};AppCache=function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}([(0,_common.Injectable)(),_ts_metadata("design:type",Function),_ts_metadata("design:paramtypes",[void 0===_redis.Redis?Object:_redis.Redis])],AppCache);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: !0
4
+ }), Object.defineProperty(exports, "AppCache", {
5
+ enumerable: !0,
6
+ get: function() {
7
+ return AppCache;
8
+ }
9
+ });
10
+ let _common = require("@nestjs/common"), _helpers = require("@triproject/helpers"), _config = require("../../config"), _redis = require("./redis");
11
+ function _ts_metadata(k, v) {
12
+ if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
13
+ }
14
+ let AppCache = class AppCache {
15
+ connection;
16
+ readConnection;
17
+ PREFIX = _config.APP_KEY ?? 'APP_CACHE';
18
+ constructor(redis){
19
+ this.connection = redis.getConnection(), this.readConnection = redis.getReadConnection();
20
+ }
21
+ _parseKey(key) {
22
+ if (!key) throw new _common.UnprocessableEntityException('Cache key cannot be null or undefined');
23
+ let keys = [
24
+ this.PREFIX
25
+ ];
26
+ return Array.isArray(key) ? keys.push(...key) : keys.push(key?.toString()), keys.flat().flat().filter((d)=>d).map((d)=>d?.toString()?.toUpperCase()).join('::').replaceAll(/[^a-zA-Z0-9\-:]/g, '-');
27
+ }
28
+ async set(key, value, ttl = 60) {
29
+ await this.connection.set(this._parseKey(key), JSON.stringify({
30
+ data: value
31
+ }), 'EX', ttl);
32
+ }
33
+ async get(key) {
34
+ try {
35
+ let data = await this.readConnection.get(this._parseKey(key));
36
+ if (!data) return;
37
+ let parsedData = JSON.parse(data?.toString());
38
+ return parsedData?.data;
39
+ } catch (error) {
40
+ return;
41
+ }
42
+ }
43
+ async del(key) {
44
+ await this.connection.del(this._parseKey(key));
45
+ }
46
+ async delAll(key) {
47
+ for (let k of (await this.connection.keys(`${this._parseKey(key)}*`)))await this.connection.del(k);
48
+ }
49
+ async cache(key, fn, ttl = 60) {
50
+ let data = await this.get(key);
51
+ if (data) return data;
52
+ let result = await fn();
53
+ return await this.set(key, result, ttl), result;
54
+ }
55
+ async cacheWithTimeStamp(key, value, ttl) {
56
+ try {
57
+ let data = await this.get(key);
58
+ if (data) return data;
59
+ return data = {
60
+ data: 'function' == typeof value ? await value() : value,
61
+ timestamp: (0, _helpers.dateUtil)().utc().toISOString()
62
+ }, this.set(key, data, ttl), data;
63
+ } catch (error) {
64
+ throw error;
65
+ }
66
+ }
67
+ };
68
+ AppCache = function(decorators, target, key, desc) {
69
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
70
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
71
+ else for(var i = decorators.length - 1; i >= 0; i--)(d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
72
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
73
+ }([
74
+ (0, _common.Injectable)(),
75
+ _ts_metadata("design:type", Function),
76
+ _ts_metadata("design:paramtypes", [
77
+ void 0 === _redis.Redis ? Object : _redis.Redis
78
+ ])
79
+ ], AppCache);
@@ -1 +1,30 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"CacheModule",{enumerable:!0,get:function(){return CacheModule}});let _common=require("@nestjs/common"),_cache=require("./cache"),_redis=require("./redis");let CacheModule=class CacheModule{};CacheModule=function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}([(0,_common.Global)(),(0,_common.Module)({providers:[_redis.Redis,_cache.AppCache],exports:[_cache.AppCache,_redis.Redis]})],CacheModule);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: !0
4
+ }), Object.defineProperty(exports, "CacheModule", {
5
+ enumerable: !0,
6
+ get: function() {
7
+ return CacheModule;
8
+ }
9
+ });
10
+ let _common = require("@nestjs/common"), _cache = require("./cache"), _redis = require("./redis");
11
+ let CacheModule = class CacheModule {
12
+ };
13
+ CacheModule = function(decorators, target, key, desc) {
14
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
15
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
16
+ else for(var i = decorators.length - 1; i >= 0; i--)(d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
17
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
18
+ }([
19
+ (0, _common.Global)(),
20
+ (0, _common.Module)({
21
+ providers: [
22
+ _redis.Redis,
23
+ _cache.AppCache
24
+ ],
25
+ exports: [
26
+ _cache.AppCache,
27
+ _redis.Redis
28
+ ]
29
+ })
30
+ ], CacheModule);
@@ -1 +1,14 @@
1
- "use strict";function _export_star(from,to){return Object.keys(from).forEach(function(k){"default"===k||Object.prototype.hasOwnProperty.call(to,k)||Object.defineProperty(to,k,{enumerable:!0,get:function(){return from[k]}})}),from}Object.defineProperty(exports,"__esModule",{value:!0}),_export_star(require("./cache"),exports),_export_star(require("./cache.module"),exports),_export_star(require("./redis"),exports);
1
+ "use strict";
2
+ function _export_star(from, to) {
3
+ return Object.keys(from).forEach(function(k) {
4
+ "default" === k || Object.prototype.hasOwnProperty.call(to, k) || Object.defineProperty(to, k, {
5
+ enumerable: !0,
6
+ get: function() {
7
+ return from[k];
8
+ }
9
+ });
10
+ }), from;
11
+ }
12
+ Object.defineProperty(exports, "__esModule", {
13
+ value: !0
14
+ }), _export_star(require("./cache"), exports), _export_star(require("./cache.module"), exports), _export_star(require("./redis"), exports);
@@ -1 +1,76 @@
1
- "use strict";var obj;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Redis",{enumerable:!0,get:function(){return Redis}});let _common=require("@nestjs/common"),_ioredis=(obj=require("ioredis"))&&obj.__esModule?obj:{default:obj},_applogger=require("../logger/app.logger"),_secretmanager=require("../secret-manager");function _ts_metadata(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)}let Redis=class Redis{logger=new _applogger.AppLogger(Redis.name);connection;readConnection;constructor(){this._init()}async _init(){let env=await (0,_secretmanager.getSecret)();this.connection=this._createConnection({host:env.REDIS_HOST,port:env.REDIS_PORT,username:env.REDIS_USER,password:env.REDIS_PASSWORD,db:env.REDIS_DB,tls:env.REDIS_TLS}),env.REDIS_READ_HOST&&env.REDIS_READ_HOST+env.REDIS_READ_PORT!==env.REDIS_HOST+env.REDIS_PORT&&(this.readConnection=this._createConnection({host:env.REDIS_READ_HOST,port:env.REDIS_READ_PORT,username:env.REDIS_READ_USER,password:env.REDIS_READ_PASSWORD,db:env.REDIS_READ_DB,tls:env.REDIS_READ_TLS}))}_createConnection(options){return new _ioredis.default({host:options.host,port:options.port,username:options.username,password:options.password,db:options.db,tls:options.tls?{rejectUnauthorized:!0}:void 0})}async connect(){this.connection.on("connect",()=>this.logger.log("Redis connected successfully")),this.connection.on("error",err=>this.logger.error("Redis connection error",err)),this.connection.on("reconnecting",()=>this.logger.log("Reconnecting to Redis")),this.readConnection&&(this.readConnection.on("connect",()=>this.logger.log("Redis read connection connected successfully")),this.readConnection.on("error",err=>this.logger.error("Redis read connection error",err)),this.readConnection.on("reconnecting",()=>this.logger.log("Reconnecting to Redis read connection")))}getConnection(){return this.connection}getReadConnection(){return this.readConnection??this.connection}async onModuleInit(){await new Promise(resolve=>setTimeout(resolve,100)),await this.connect()}};Redis=function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}([(0,_common.Injectable)(),_ts_metadata("design:type",Function),_ts_metadata("design:paramtypes",[])],Redis);
1
+ "use strict";
2
+ var obj;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), Object.defineProperty(exports, "Redis", {
6
+ enumerable: !0,
7
+ get: function() {
8
+ return Redis;
9
+ }
10
+ });
11
+ let _common = require("@nestjs/common"), _ioredis = (obj = require("ioredis")) && obj.__esModule ? obj : {
12
+ default: obj
13
+ }, _applogger = require("../logger/app.logger"), _secretmanager = require("../secret-manager");
14
+ function _ts_metadata(k, v) {
15
+ if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
16
+ }
17
+ let Redis = class Redis {
18
+ logger = new _applogger.AppLogger(Redis.name);
19
+ connection;
20
+ readConnection;
21
+ constructor(){
22
+ this._init();
23
+ }
24
+ async _init() {
25
+ let env = await (0, _secretmanager.getSecret)();
26
+ this.connection = this._createConnection({
27
+ host: env.REDIS_HOST,
28
+ port: env.REDIS_PORT,
29
+ username: env.REDIS_USER,
30
+ password: env.REDIS_PASSWORD,
31
+ db: env.REDIS_DB,
32
+ tls: env.REDIS_TLS
33
+ }), env.REDIS_READ_HOST && env.REDIS_READ_HOST + env.REDIS_READ_PORT !== env.REDIS_HOST + env.REDIS_PORT && (this.readConnection = this._createConnection({
34
+ host: env.REDIS_READ_HOST,
35
+ port: env.REDIS_READ_PORT,
36
+ username: env.REDIS_READ_USER,
37
+ password: env.REDIS_READ_PASSWORD,
38
+ db: env.REDIS_READ_DB,
39
+ tls: env.REDIS_READ_TLS
40
+ }));
41
+ }
42
+ _createConnection(options) {
43
+ return new _ioredis.default({
44
+ host: options.host,
45
+ port: options.port,
46
+ username: options.username,
47
+ password: options.password,
48
+ db: options.db,
49
+ tls: options.tls ? {
50
+ rejectUnauthorized: !0
51
+ } : void 0
52
+ });
53
+ }
54
+ async connect() {
55
+ this.connection.on('connect', ()=>this.logger.log('Redis connected successfully')), this.connection.on('error', (err)=>this.logger.error('Redis connection error', err)), this.connection.on('reconnecting', ()=>this.logger.log('Reconnecting to Redis')), this.readConnection && (this.readConnection.on('connect', ()=>this.logger.log('Redis read connection connected successfully')), this.readConnection.on('error', (err)=>this.logger.error('Redis read connection error', err)), this.readConnection.on('reconnecting', ()=>this.logger.log('Reconnecting to Redis read connection')));
56
+ }
57
+ getConnection() {
58
+ return this.connection;
59
+ }
60
+ getReadConnection() {
61
+ return this.readConnection ?? this.connection;
62
+ }
63
+ async onModuleInit() {
64
+ await new Promise((resolve)=>setTimeout(resolve, 100)), await this.connect();
65
+ }
66
+ };
67
+ Redis = function(decorators, target, key, desc) {
68
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
69
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
70
+ else for(var i = decorators.length - 1; i >= 0; i--)(d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
71
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
72
+ }([
73
+ (0, _common.Injectable)(),
74
+ _ts_metadata("design:type", Function),
75
+ _ts_metadata("design:paramtypes", [])
76
+ ], Redis);
@@ -44,7 +44,7 @@ export declare function NumberCol(precision?: number, scale?: number, options?:
44
44
  export declare function BooleanCol(defaultValue?: boolean): Function;
45
45
  export declare function NameCol(): Function;
46
46
  export declare function EnumCol<T>(data: MapFromList<T>): Function;
47
- export declare function SchedulerCol(): (_target: any, _propertyKey: string) => void;
47
+ export declare function SchedulerCol(): (target: any, propertyName: string) => any;
48
48
  export declare class Entity<M extends {}> extends Model<M, Partial<M>> {
49
49
  id: string;
50
50
  createdAt: Date;