@servicelabsco/nestjs-utility-services 2.0.6 → 2.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/CLAUDE.md +96 -0
  2. package/CODEBASE-REVIEW.md +227 -0
  3. package/CODEBASE_REFERENCE.md +568 -0
  4. package/dist/app.controller.d.ts +0 -5
  5. package/dist/app.controller.js +2 -30
  6. package/dist/app.controller.js.map +1 -1
  7. package/dist/app.module.js +37 -4
  8. package/dist/app.module.js.map +1 -1
  9. package/dist/auth/auth.module.js +4 -1
  10. package/dist/auth/auth.module.js.map +1 -1
  11. package/dist/auth/controllers/admin.auth.controller.js +6 -1
  12. package/dist/auth/controllers/admin.auth.controller.js.map +1 -1
  13. package/dist/auth/middlewares/client.connect.middleware.js +0 -2
  14. package/dist/auth/middlewares/client.connect.middleware.js.map +1 -1
  15. package/dist/auth/middlewares/internal.middleware.d.ts +1 -0
  16. package/dist/auth/middlewares/internal.middleware.js +43 -1
  17. package/dist/auth/middlewares/internal.middleware.js.map +1 -1
  18. package/dist/auth/middlewares/jwt.middleware.js +1 -1
  19. package/dist/auth/middlewares/jwt.middleware.js.map +1 -1
  20. package/dist/auth/services/auth.service.js +1 -1
  21. package/dist/auth/services/auth.service.js.map +1 -1
  22. package/dist/auth/services/refresh.token.service.js +35 -1
  23. package/dist/auth/services/refresh.token.service.js.map +1 -1
  24. package/dist/auth/services/user.service.d.ts +6 -0
  25. package/dist/auth/services/user.service.js +41 -2
  26. package/dist/auth/services/user.service.js.map +1 -1
  27. package/dist/common/dtos/capture.record.index.dto.js.map +1 -1
  28. package/dist/common/dtos/index.params.dto.js.map +1 -1
  29. package/dist/common/dtos/record.data.manager.dto.d.ts +2 -2
  30. package/dist/common/dtos/report.data.manager.dto.d.ts +2 -2
  31. package/dist/common/es6.classes.js +10 -1
  32. package/dist/common/es6.classes.js.map +1 -1
  33. package/dist/common/exceptions/index.d.ts +1 -0
  34. package/dist/common/exceptions/index.js +1 -0
  35. package/dist/common/exceptions/index.js.map +1 -1
  36. package/dist/common/exceptions/too.many.attempts.exception.d.ts +4 -0
  37. package/dist/common/exceptions/too.many.attempts.exception.js +11 -0
  38. package/dist/common/exceptions/too.many.attempts.exception.js.map +1 -0
  39. package/dist/common/libraries/auth.js +34 -1
  40. package/dist/common/libraries/auth.js.map +1 -1
  41. package/dist/common/libraries/custom.crypt.js +34 -1
  42. package/dist/common/libraries/custom.crypt.js.map +1 -1
  43. package/dist/common/libraries/custom.logger.d.ts +1 -6
  44. package/dist/common/libraries/custom.logger.js +12 -34
  45. package/dist/common/libraries/custom.logger.js.map +1 -1
  46. package/dist/common/libraries/generic.index.parser.js +8 -2
  47. package/dist/common/libraries/generic.index.parser.js.map +1 -1
  48. package/dist/common/libraries/hash.d.ts +2 -2
  49. package/dist/common/libraries/hash.js +52 -10
  50. package/dist/common/libraries/hash.js.map +1 -1
  51. package/dist/common/libraries/index.d.ts +1 -0
  52. package/dist/common/libraries/index.js +1 -0
  53. package/dist/common/libraries/index.js.map +1 -1
  54. package/dist/common/libraries/list.manager.js +6 -1
  55. package/dist/common/libraries/list.manager.js.map +1 -1
  56. package/dist/common/libraries/platform.utility.d.ts +1 -0
  57. package/dist/common/libraries/platform.utility.js +17 -2
  58. package/dist/common/libraries/platform.utility.js.map +1 -1
  59. package/dist/common/libraries/record.manager.d.ts +2 -2
  60. package/dist/common/libraries/record.manager.js +4 -1
  61. package/dist/common/libraries/record.manager.js.map +1 -1
  62. package/dist/common/libraries/report.list.manager.js +6 -1
  63. package/dist/common/libraries/report.list.manager.js.map +1 -1
  64. package/dist/common/libraries/sql.safety.d.ts +5 -0
  65. package/dist/common/libraries/sql.safety.js +72 -0
  66. package/dist/common/libraries/sql.safety.js.map +1 -0
  67. package/dist/config/cors.config.d.ts +1 -1
  68. package/dist/config/cors.config.js +11 -2
  69. package/dist/config/cors.config.js.map +1 -1
  70. package/dist/config/rate.limiter.config.d.ts +2 -0
  71. package/dist/config/rate.limiter.config.js +2 -0
  72. package/dist/config/rate.limiter.config.js.map +1 -1
  73. package/dist/config/read.typeorm.config.js +34 -1
  74. package/dist/config/read.typeorm.config.js.map +1 -1
  75. package/dist/config/typeorm.config.js +34 -1
  76. package/dist/config/typeorm.config.js.map +1 -1
  77. package/dist/main.js +61 -10
  78. package/dist/main.js.map +1 -1
  79. package/dist/migrations/1619296224563-AddMasterSeedersDataSeederTable.js +35 -2
  80. package/dist/migrations/1619296224563-AddMasterSeedersDataSeederTable.js.map +1 -1
  81. package/dist/migrations/1778754675764-AlterColumnValueTypeSysPropertiesTable.d.ts +5 -0
  82. package/dist/migrations/1778754675764-AlterColumnValueTypeSysPropertiesTable.js +13 -0
  83. package/dist/migrations/1778754675764-AlterColumnValueTypeSysPropertiesTable.js.map +1 -0
  84. package/dist/platformUtility/consumers/job.consumer.js +4 -1
  85. package/dist/platformUtility/consumers/job.consumer.js.map +1 -1
  86. package/dist/platformUtility/dtos/index.d.ts +1 -0
  87. package/dist/platformUtility/dtos/index.js +1 -0
  88. package/dist/platformUtility/dtos/index.js.map +1 -1
  89. package/dist/platformUtility/dtos/r2.config.dto.d.ts +7 -0
  90. package/dist/platformUtility/dtos/r2.config.dto.js +7 -0
  91. package/dist/platformUtility/dtos/r2.config.dto.js.map +1 -0
  92. package/dist/platformUtility/dtos/set.sms.payload.dto.d.ts +1 -1
  93. package/dist/platformUtility/dtos/set.sms.payload.dto.js.map +1 -1
  94. package/dist/platformUtility/es6.classes.d.ts +4 -2
  95. package/dist/platformUtility/es6.classes.js +4 -0
  96. package/dist/platformUtility/es6.classes.js.map +1 -1
  97. package/dist/platformUtility/jobs/process.tracking.webhook.job.js +1 -1
  98. package/dist/platformUtility/jobs/process.tracking.webhook.job.js.map +1 -1
  99. package/dist/platformUtility/libraries/common.sqs.polling.js +34 -1
  100. package/dist/platformUtility/libraries/common.sqs.polling.js.map +1 -1
  101. package/dist/platformUtility/libraries/create.entity.constants.file.js +34 -1
  102. package/dist/platformUtility/libraries/create.entity.constants.file.js.map +1 -1
  103. package/dist/platformUtility/libraries/create.es6.classes.file.js +34 -1
  104. package/dist/platformUtility/libraries/create.es6.classes.file.js.map +1 -1
  105. package/dist/platformUtility/libraries/create.es6.jobs.file.js +34 -1
  106. package/dist/platformUtility/libraries/create.es6.jobs.file.js.map +1 -1
  107. package/dist/platformUtility/libraries/create.es6.service.file.js +34 -1
  108. package/dist/platformUtility/libraries/create.es6.service.file.js.map +1 -1
  109. package/dist/platformUtility/libraries/create.index.file.js +34 -1
  110. package/dist/platformUtility/libraries/create.index.file.js.map +1 -1
  111. package/dist/platformUtility/libraries/file.system.utility.js +34 -1
  112. package/dist/platformUtility/libraries/file.system.utility.js.map +1 -1
  113. package/dist/platformUtility/libraries/process.common.mail.js +4 -1
  114. package/dist/platformUtility/libraries/process.common.mail.js.map +1 -1
  115. package/dist/platformUtility/libraries/process.kaleyra.sms.js +34 -1
  116. package/dist/platformUtility/libraries/process.kaleyra.sms.js.map +1 -1
  117. package/dist/platformUtility/libraries/process.ses.raw.mail.js +18 -12
  118. package/dist/platformUtility/libraries/process.ses.raw.mail.js.map +1 -1
  119. package/dist/platformUtility/libraries/process.smtp.mail.js +36 -3
  120. package/dist/platformUtility/libraries/process.smtp.mail.js.map +1 -1
  121. package/dist/platformUtility/platform.utility.module.js +4 -1
  122. package/dist/platformUtility/platform.utility.module.js.map +1 -1
  123. package/dist/platformUtility/services/index.d.ts +1 -0
  124. package/dist/platformUtility/services/index.js +1 -0
  125. package/dist/platformUtility/services/index.js.map +1 -1
  126. package/dist/platformUtility/services/local.property.service.js +4 -1
  127. package/dist/platformUtility/services/local.property.service.js.map +1 -1
  128. package/dist/platformUtility/services/mail.service.js +1 -1
  129. package/dist/platformUtility/services/mail.service.js.map +1 -1
  130. package/dist/platformUtility/services/maintenance.service.js +35 -2
  131. package/dist/platformUtility/services/maintenance.service.js.map +1 -1
  132. package/dist/platformUtility/services/r2.config.service.d.ts +11 -0
  133. package/dist/platformUtility/services/r2.config.service.js +51 -0
  134. package/dist/platformUtility/services/r2.config.service.js.map +1 -0
  135. package/dist/platformUtility/services/redis.service.js +4 -1
  136. package/dist/platformUtility/services/redis.service.js.map +1 -1
  137. package/dist/platformUtility/services/remote.request.service.js +4 -1
  138. package/dist/platformUtility/services/remote.request.service.js.map +1 -1
  139. package/dist/platformUtility/services/s3.service.js +34 -1
  140. package/dist/platformUtility/services/s3.service.js.map +1 -1
  141. package/dist/platformUtility/services/ses.mail.notification.service.js +1 -1
  142. package/dist/platformUtility/services/ses.mail.notification.service.js.map +1 -1
  143. package/dist/platformUtility/services/sql.service.d.ts +4 -0
  144. package/dist/platformUtility/services/sql.service.js +88 -27
  145. package/dist/platformUtility/services/sql.service.js.map +1 -1
  146. package/dist/security/security.module.js +4 -1
  147. package/dist/security/security.module.js.map +1 -1
  148. package/dist/system/constants/index.d.ts +1 -0
  149. package/dist/system/constants/index.js +18 -0
  150. package/dist/system/constants/index.js.map +1 -0
  151. package/dist/system/constants/storage.constants.d.ts +3 -0
  152. package/dist/system/constants/storage.constants.js +7 -0
  153. package/dist/system/constants/storage.constants.js.map +1 -0
  154. package/dist/system/controllers/upload.controller.d.ts +0 -1
  155. package/dist/system/controllers/upload.controller.js +6 -12
  156. package/dist/system/controllers/upload.controller.js.map +1 -1
  157. package/dist/system/dtos/engine.feature.support.dto.d.ts +8 -0
  158. package/dist/system/dtos/engine.feature.support.dto.js +3 -0
  159. package/dist/system/dtos/engine.feature.support.dto.js.map +1 -0
  160. package/dist/system/dtos/index.d.ts +3 -0
  161. package/dist/system/dtos/index.js +3 -0
  162. package/dist/system/dtos/index.js.map +1 -1
  163. package/dist/system/dtos/s3.upload.options.dto.d.ts +2 -7
  164. package/dist/system/dtos/s3.upload.options.dto.js +2 -43
  165. package/dist/system/dtos/s3.upload.options.dto.js.map +1 -1
  166. package/dist/system/dtos/storage.ref.dto.d.ts +37 -0
  167. package/dist/system/dtos/storage.ref.dto.js +3 -0
  168. package/dist/system/dtos/storage.ref.dto.js.map +1 -0
  169. package/dist/system/dtos/storage.upload.options.dto.d.ts +22 -0
  170. package/dist/system/dtos/storage.upload.options.dto.js +113 -0
  171. package/dist/system/dtos/storage.upload.options.dto.js.map +1 -0
  172. package/dist/system/es6.classes.d.ts +6 -4
  173. package/dist/system/es6.classes.js +6 -0
  174. package/dist/system/es6.classes.js.map +1 -1
  175. package/dist/system/index.d.ts +1 -0
  176. package/dist/system/index.js +1 -0
  177. package/dist/system/index.js.map +1 -1
  178. package/dist/system/interceptors/sentry.interceptor.js +34 -1
  179. package/dist/system/interceptors/sentry.interceptor.js.map +1 -1
  180. package/dist/system/jobs/sqs.polling.job.js +4 -1
  181. package/dist/system/jobs/sqs.polling.job.js.map +1 -1
  182. package/dist/system/jobs/sync.all.code.job.js +4 -1
  183. package/dist/system/jobs/sync.all.code.job.js.map +1 -1
  184. package/dist/system/libraries/business.rule.filter.validator.js +1 -1
  185. package/dist/system/libraries/business.rule.filter.validator.js.map +1 -1
  186. package/dist/system/libraries/business.rule.query.evaluator.js +1 -1
  187. package/dist/system/libraries/business.rule.query.evaluator.js.map +1 -1
  188. package/dist/system/libraries/column.manager.d.ts +1 -1
  189. package/dist/system/libraries/column.manager.js.map +1 -1
  190. package/dist/system/libraries/common.storage.service.d.ts +26 -2
  191. package/dist/system/libraries/common.storage.service.js +88 -1
  192. package/dist/system/libraries/common.storage.service.js.map +1 -1
  193. package/dist/system/libraries/execute.code.fix.js +1 -1
  194. package/dist/system/libraries/execute.code.fix.js.map +1 -1
  195. package/dist/system/libraries/file.type.detector.d.ts +7 -0
  196. package/dist/system/libraries/file.type.detector.js +113 -0
  197. package/dist/system/libraries/file.type.detector.js.map +1 -0
  198. package/dist/system/libraries/generate.downloadable.report.file.js +36 -3
  199. package/dist/system/libraries/generate.downloadable.report.file.js.map +1 -1
  200. package/dist/system/libraries/get.report.query.d.ts +1 -0
  201. package/dist/system/libraries/get.report.query.js +28 -6
  202. package/dist/system/libraries/get.report.query.js.map +1 -1
  203. package/dist/system/libraries/index.d.ts +1 -0
  204. package/dist/system/libraries/index.js +1 -0
  205. package/dist/system/libraries/index.js.map +1 -1
  206. package/dist/system/libraries/model.sync.js +4 -1
  207. package/dist/system/libraries/model.sync.js.map +1 -1
  208. package/dist/system/libraries/security.rule.evaluator.js +1 -1
  209. package/dist/system/libraries/security.rule.evaluator.js.map +1 -1
  210. package/dist/system/services/aws.s3.service.d.ts +16 -1
  211. package/dist/system/services/aws.s3.service.js +56 -2
  212. package/dist/system/services/aws.s3.service.js.map +1 -1
  213. package/dist/system/services/base.service.js +4 -1
  214. package/dist/system/services/base.service.js.map +1 -1
  215. package/dist/system/services/client.credential.service.js.map +1 -1
  216. package/dist/system/services/cloudflare.r2.service.d.ts +22 -8
  217. package/dist/system/services/cloudflare.r2.service.js +76 -38
  218. package/dist/system/services/cloudflare.r2.service.js.map +1 -1
  219. package/dist/system/services/document.service.js +38 -2
  220. package/dist/system/services/document.service.js.map +1 -1
  221. package/dist/system/services/event.detail.service.js +4 -1
  222. package/dist/system/services/event.detail.service.js.map +1 -1
  223. package/dist/system/services/index.d.ts +1 -0
  224. package/dist/system/services/index.js +1 -0
  225. package/dist/system/services/index.js.map +1 -1
  226. package/dist/system/services/internal.server.connect.service.d.ts +1 -1
  227. package/dist/system/services/list.service.d.ts +2 -2
  228. package/dist/system/services/storage.service.d.ts +65 -0
  229. package/dist/system/services/storage.service.js +342 -0
  230. package/dist/system/services/storage.service.js.map +1 -0
  231. package/dist/system/services/upload.service.d.ts +6 -22
  232. package/dist/system/services/upload.service.js +71 -243
  233. package/dist/system/services/upload.service.js.map +1 -1
  234. package/dist/system/services/user.preference.service.js.map +1 -1
  235. package/dist/system/subscribers/code.fix.script.subscriber.d.ts +1 -0
  236. package/dist/system/subscribers/code.fix.script.subscriber.js +10 -1
  237. package/dist/system/subscribers/code.fix.script.subscriber.js.map +1 -1
  238. package/dist/system/subscribers/material.view.subscriber.d.ts +1 -0
  239. package/dist/system/subscribers/material.view.subscriber.js +9 -0
  240. package/dist/system/subscribers/material.view.subscriber.js.map +1 -1
  241. package/dist/system/subscribers/recurring.query.subscriber.d.ts +1 -0
  242. package/dist/system/subscribers/recurring.query.subscriber.js +9 -0
  243. package/dist/system/subscribers/recurring.query.subscriber.js.map +1 -1
  244. package/dist/system/subscribers/scheduled.event.subscriber.d.ts +1 -0
  245. package/dist/system/subscribers/scheduled.event.subscriber.js +9 -0
  246. package/dist/system/subscribers/scheduled.event.subscriber.js.map +1 -1
  247. package/dist/system/system.module.js +18 -3
  248. package/dist/system/system.module.js.map +1 -1
  249. package/package.json +9 -13
@@ -8,174 +8,104 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.UploadService = void 0;
13
16
  const common_1 = require("@nestjs/common");
14
- const axios_1 = require("axios");
17
+ const axios_1 = __importDefault(require("axios"));
15
18
  const fs_1 = require("fs");
16
19
  const common_service_1 = require("../../common/libraries/common.service");
17
- const platform_utility_1 = require("../../common/libraries/platform.utility");
18
- const aws_config_service_1 = require("../../platformUtility/services/aws.config.service");
19
- const aws_s3_service_1 = require("./aws.s3.service");
20
- const cloudflare_r2_service_1 = require("./cloudflare.r2.service");
21
- const storageEngine = process.env.STORAGE_ENGINE || 's3';
20
+ const file_type_detector_1 = require("../libraries/file.type.detector");
21
+ const storage_service_1 = require("./storage.service");
22
22
  let UploadService = class UploadService extends common_service_1.CommonService {
23
- constructor(awsS3Service, cloudflareR2Service, awsConfigService) {
23
+ constructor(storageService) {
24
24
  super();
25
- this.awsS3Service = awsS3Service;
26
- this.cloudflareR2Service = cloudflareR2Service;
27
- this.awsConfigService = awsConfigService;
25
+ this.storageService = storageService;
28
26
  this.publicExposed = true;
29
- this.fileSignatures = {
30
- 'image/jpeg': [0xff, 0xd8, 0xff],
31
- 'image/png': [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a],
32
- 'image/gif': [0x47, 0x49, 0x46, 0x38],
33
- 'image/webp': [0x52, 0x49, 0x46, 0x46],
34
- 'image/bmp': [0x42, 0x4d],
35
- 'image/tiff': [0x49, 0x49, 0x2a, 0x00],
36
- 'image/svg+xml': [0x3c, 0x3f, 0x78, 0x6d, 0x6c],
37
- 'application/pdf': [0x25, 0x50, 0x44, 0x46],
38
- 'application/msword': [0xd0, 0xcf, 0x11, 0xe0, 0xa1, 0xb1, 0x1a, 0xe1],
39
- 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': [0x50, 0x4b, 0x03, 0x04],
40
- 'application/vnd.ms-excel': [0xd0, 0xcf, 0x11, 0xe0, 0xa1, 0xb1, 0x1a, 0xe1],
41
- 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': [0x50, 0x4b, 0x03, 0x04],
42
- 'application/vnd.ms-powerpoint': [0xd0, 0xcf, 0x11, 0xe0, 0xa1, 0xb1, 0x1a, 0xe1],
43
- 'application/vnd.openxmlformats-officedocument.presentationml.presentation': [0x50, 0x4b, 0x03, 0x04],
44
- 'application/zip': [0x50, 0x4b, 0x03, 0x04],
45
- 'application/x-rar-compressed': [0x52, 0x61, 0x72, 0x20, 0x1a, 0x07, 0x00],
46
- 'application/x-7z-compressed': [0x37, 0x7a, 0xbc, 0xaf, 0x27, 0x1c],
47
- 'audio/mpeg': [0xff, 0xfb],
48
- 'audio/wav': [0x52, 0x49, 0x46, 0x46],
49
- 'audio/mp4': [0x66, 0x74, 0x79, 0x70],
50
- 'video/mp4': [0x00, 0x00, 0x00, 0x18, 0x66, 0x74, 0x79, 0x70],
51
- 'video/avi': [0x52, 0x49, 0x46, 0x46],
52
- 'video/quicktime': [0x00, 0x00, 0x00, 0x14, 0x66, 0x74, 0x79, 0x70],
53
- 'text/plain': [0xef, 0xbb, 0xbf],
54
- 'application/json': [0x7b, 0x22],
55
- 'text/csv': [0xef, 0xbb, 0xbf],
56
- 'application/octet-stream': [],
57
- };
58
- this.extensionMimeTypes = {
59
- '.jpg': 'image/jpeg',
60
- '.jpeg': 'image/jpeg',
61
- '.png': 'image/png',
62
- '.gif': 'image/gif',
63
- '.webp': 'image/webp',
64
- '.bmp': 'image/bmp',
65
- '.tiff': 'image/tiff',
66
- '.tif': 'image/tiff',
67
- '.svg': 'image/svg+xml',
68
- '.pdf': 'application/pdf',
69
- '.doc': 'application/msword',
70
- '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
71
- '.xls': 'application/vnd.ms-excel',
72
- '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
73
- '.ppt': 'application/vnd.ms-powerpoint',
74
- '.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
75
- '.zip': 'application/zip',
76
- '.rar': 'application/x-rar-compressed',
77
- '.7z': 'application/x-7z-compressed',
78
- '.tar': 'application/x-tar',
79
- '.gz': 'application/gzip',
80
- '.mp3': 'audio/mpeg',
81
- '.wav': 'audio/wav',
82
- '.m4a': 'audio/mp4',
83
- '.ogg': 'audio/ogg',
84
- '.flac': 'audio/flac',
85
- '.mp4': 'video/mp4',
86
- '.avi': 'video/avi',
87
- '.mov': 'video/quicktime',
88
- '.wmv': 'video/x-ms-wmv',
89
- '.flv': 'video/x-flv',
90
- '.webm': 'video/webm',
91
- '.txt': 'text/plain',
92
- '.json': 'application/json',
93
- '.csv': 'text/csv',
94
- '.xml': 'application/xml',
95
- '.html': 'text/html',
96
- '.css': 'text/css',
97
- '.js': 'application/javascript',
98
- '.ts': 'application/typescript',
99
- };
100
- }
101
- getStorageService(options) {
102
- const engine = options.engine || storageEngine;
103
- if (engine === 's3')
104
- return this.awsS3Service;
105
- if (engine === 'r2')
106
- return this.cloudflareR2Service;
107
- return this.awsS3Service;
108
27
  }
109
28
  async upload(file, options = {}) {
110
- const storageService = this.getStorageService(options);
111
- if (!options?.bucket) {
112
- const bucket = await storageService.getBucket();
113
- options = { ...options, bucket };
114
- }
115
- const { params } = await this.prepareUploadData(file, options);
116
- return storageService.upload(params);
29
+ const result = await this.storageService.put({
30
+ buffer: file.buffer,
31
+ url: file.url,
32
+ originalname: file.originalname,
33
+ }, options);
34
+ return result.url;
117
35
  }
118
36
  async uploadWithStats(file, options = {}) {
119
- const storageService = this.getStorageService(options);
120
- const { params, body, contentType } = await this.prepareUploadData(file, options);
121
- const result = await storageService.upload(params);
122
- return {
123
- url: result,
124
- size: this.getFileSizeFromBuffer(body),
125
- contentType,
126
- };
37
+ const result = await this.storageService.put({
38
+ buffer: file.buffer,
39
+ url: file.url,
40
+ originalname: file.originalname,
41
+ }, options);
42
+ return { url: result.url, size: result.size ?? 0, contentType: result.contentType ?? '' };
127
43
  }
128
44
  async uploadFile(params) {
129
- return this.awsS3Service.upload(params);
45
+ const fileName = params.Key.split('/').pop() ?? 'unnamed';
46
+ const result = await this.storageService.put({
47
+ buffer: params.Body,
48
+ originalname: fileName,
49
+ }, {
50
+ bucket: params.Bucket,
51
+ file: params.Key,
52
+ contentType: params.ContentType,
53
+ acl: params.ACL,
54
+ metadata: params.Metadata,
55
+ });
56
+ return result.url;
130
57
  }
131
58
  async saveLocalFileOnS3(options) {
132
59
  const splits = options.bucket.split('/');
133
- const buffer = (0, fs_1.readFileSync)(options.local_file);
134
- const fileName = options.remoteFile || options.local_file.split('/').pop();
135
- const contentType = this.detectFileType(buffer, fileName);
136
- const params = {
137
- Bucket: splits[0],
138
- Key: options.remoteFile || options.bucket.replace(`${splits[0]}/`, ''),
139
- Body: buffer,
140
- ACL: options.visibility || 'private',
141
- ContentType: contentType,
142
- };
143
- const storageService = await this.getStorageService(options);
144
- return this.awsS3Service.upload(params);
60
+ const buffer = await fs_1.promises.readFile(options.local_file);
61
+ const fileName = options.remoteFile || (options.local_file.split('/').pop() ?? 'unnamed');
62
+ const contentType = file_type_detector_1.FileTypeDetector.detect(buffer, fileName);
63
+ const result = await this.storageService.put({
64
+ buffer,
65
+ originalname: fileName,
66
+ }, {
67
+ bucket: splits[0],
68
+ file: options.remoteFile || options.bucket.replace(`${splits[0]}/`, ''),
69
+ contentType,
70
+ acl: options.visibility || 'private',
71
+ });
72
+ return result.url;
145
73
  }
146
74
  async getFileSizeFromUrl(url) {
147
75
  try {
148
- if (url.includes('amazonaws.com') || url.includes('s3.')) {
149
- return this.getFileSizeFromS3Url(url);
76
+ try {
77
+ const meta = await this.storageService.head(url);
78
+ if (meta.size !== undefined)
79
+ return meta.size;
80
+ }
81
+ catch {
150
82
  }
151
83
  const response = await axios_1.default.head(url);
152
84
  const contentLength = response.headers['content-length'];
153
- if (contentLength) {
85
+ if (contentLength)
154
86
  return parseInt(contentLength.toString(), 10);
155
- }
156
87
  throw new Error('Content-Length header not found');
157
88
  }
158
89
  catch (error) {
159
90
  throw new Error(`Failed to get file size from URL: ${error.message}`);
160
91
  }
161
92
  }
162
- async getFileSizeFromS3Url(s3Url) {
93
+ async getFileSizeFromS3Url(url) {
163
94
  try {
164
- const { bucket, key } = this.awsS3Service.getS3BucketKeyFromUrl(s3Url);
165
- const result = await this.awsS3Service.getObject(bucket, key);
166
- return result.ContentLength || 0;
95
+ const meta = await this.storageService.head(url);
96
+ return meta.size ?? 0;
167
97
  }
168
98
  catch (error) {
169
- throw new Error(`Failed to get file size from S3 URL: ${error.message}`);
99
+ throw new Error(`Failed to get file size from URL: ${error.message}`);
170
100
  }
171
101
  }
172
102
  async getFileSizeFromS3Key(bucket, key) {
173
103
  try {
174
- const result = await this.awsS3Service.getObject(bucket, key);
175
- return result.ContentLength || 0;
104
+ const meta = await this.storageService.head({ bucket, key });
105
+ return meta.size ?? 0;
176
106
  }
177
107
  catch (error) {
178
- throw new Error(`Failed to get file size from S3 key: ${error.message}`);
108
+ throw new Error(`Failed to get file size from key: ${error.message}`);
179
109
  }
180
110
  }
181
111
  getFileSizeFromBuffer(buffer) {
@@ -186,8 +116,7 @@ let UploadService = class UploadService extends common_service_1.CommonService {
186
116
  }
187
117
  async getFileSizeFromPath(filePath) {
188
118
  try {
189
- const fs = require('fs');
190
- const stats = await fs.promises.stat(filePath);
119
+ const stats = await fs_1.promises.stat(filePath);
191
120
  return stats.size;
192
121
  }
193
122
  catch (error) {
@@ -195,138 +124,37 @@ let UploadService = class UploadService extends common_service_1.CommonService {
195
124
  }
196
125
  }
197
126
  async deleteByUrl(fileUrl) {
198
- const { bucket, key } = this.awsS3Service.getS3BucketKeyFromUrl(fileUrl);
199
- return this.deleteByKey(bucket, key);
127
+ await this.storageService.remove(fileUrl);
128
+ return {};
200
129
  }
201
130
  async deleteByKey(bucket, key) {
202
- return this.awsS3Service.dropObject({ bucket, key });
131
+ await this.storageService.remove({ bucket, key });
132
+ return {};
203
133
  }
204
134
  async delete(key) {
205
- const config = await this.awsConfigService.getConfig();
206
- return this.deleteByKey(config.bucket, key);
135
+ await this.storageService.remove({ key });
136
+ return {};
207
137
  }
208
138
  async deleteMultipleByUrl(fileUrls) {
209
- const results = [];
210
- for (const url of fileUrls) {
211
- try {
212
- const result = await this.deleteByUrl(url);
213
- results.push({
214
- identifier: url,
215
- success: true,
216
- result,
217
- });
218
- }
219
- catch (error) {
220
- results.push({
221
- identifier: url,
222
- success: false,
223
- error: error.message,
224
- });
225
- }
226
- }
227
- return results;
139
+ return this.storageService.removeMany(fileUrls);
228
140
  }
229
141
  async deleteMultipleByKey(bucket, keys) {
230
- const results = [];
231
- for (const key of keys) {
232
- try {
233
- const result = await this.deleteByKey(bucket, key);
234
- results.push({
235
- identifier: key,
236
- success: true,
237
- result,
238
- });
239
- }
240
- catch (error) {
241
- results.push({
242
- identifier: key,
243
- success: false,
244
- error: error.message,
245
- });
246
- }
247
- }
248
- return results;
142
+ return this.storageService.removeMany(keys.map((key) => ({ bucket, key })));
249
143
  }
250
144
  async deleteMultiple(keys) {
251
- const config = await this.awsConfigService.getConfig();
252
- return this.deleteMultipleByKey(config.bucket, keys);
145
+ return this.storageService.removeMany(keys.map((key) => ({ key })));
253
146
  }
254
147
  detectFileType(buffer, filename) {
255
- if (!buffer || buffer.length === 0) {
256
- return 'application/octet-stream';
257
- }
258
- const detectedMimeType = this.detectBySignature(buffer);
259
- if (detectedMimeType !== 'application/octet-stream') {
260
- return detectedMimeType;
261
- }
262
- if (filename) {
263
- const extension = this.getFileExtension(filename);
264
- return this.extensionMimeTypes[extension] || 'application/octet-stream';
265
- }
266
- return 'application/octet-stream';
148
+ return file_type_detector_1.FileTypeDetector.detect(buffer, filename);
267
149
  }
268
150
  async getBufferFromUrl(url) {
269
151
  const response = await axios_1.default.get(url, { responseType: 'arraybuffer' });
270
152
  return Buffer.from(response.data, 'utf-8');
271
153
  }
272
- async prepareUploadData(file, options) {
273
- const config = await this.awsConfigService.getConfig();
274
- const folder = options.folder || 'public';
275
- const fileName = this.getFileName(file, options);
276
- const urlKey = `${folder}/${fileName}`;
277
- let Body;
278
- if (file.url)
279
- Body = await this.getBufferFromUrl(file.url);
280
- else
281
- Body = file.buffer;
282
- let contentType = options.mime_type;
283
- const params = {
284
- Body,
285
- Bucket: options.bucket || config.bucket,
286
- Key: urlKey,
287
- ACL: options.acl || 'public-read',
288
- ContentType: contentType,
289
- };
290
- return { params, body: Body, contentType };
291
- }
292
- getFileName(file, options) {
293
- if (options.file)
294
- return options.file;
295
- const name = file.originalname.replace(/[^a-zA-Z0-9. ]/g, '');
296
- return platform_utility_1.PlatformUtility.getFileName(name);
297
- }
298
- detectBySignature(buffer) {
299
- for (const [mimeType, signature] of Object.entries(this.fileSignatures)) {
300
- if (signature.length === 0)
301
- continue;
302
- if (buffer.length >= signature.length) {
303
- let matches = true;
304
- for (let i = 0; i < signature.length; i++) {
305
- if (buffer[i] !== signature[i]) {
306
- matches = false;
307
- break;
308
- }
309
- }
310
- if (matches) {
311
- return mimeType;
312
- }
313
- }
314
- }
315
- return 'application/octet-stream';
316
- }
317
- getFileExtension(filename) {
318
- const lastDotIndex = filename.lastIndexOf('.');
319
- if (lastDotIndex === -1 || lastDotIndex === filename.length - 1) {
320
- return '';
321
- }
322
- return filename.substring(lastDotIndex).toLowerCase();
323
- }
324
154
  };
325
155
  exports.UploadService = UploadService;
326
156
  exports.UploadService = UploadService = __decorate([
327
157
  (0, common_1.Injectable)(),
328
- __metadata("design:paramtypes", [aws_s3_service_1.AwsS3Service,
329
- cloudflare_r2_service_1.CloudflareR2Service,
330
- aws_config_service_1.AwsConfigService])
158
+ __metadata("design:paramtypes", [storage_service_1.StorageService])
331
159
  ], UploadService);
332
160
  //# sourceMappingURL=upload.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload.service.js","sourceRoot":"","sources":["../../../src/system/services/upload.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload.service.js","sourceRoot":"","sources":["../../../src/system/services/upload.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"user.preference.service.js","sourceRoot":"","sources":["../../../src/system/services/user.preference.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2CAA4C;AAC5C,qCAAsC;AACtC,uEAAmE;AACnE,sDAAmD;AACnD,+EAA0E;AASnE,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAK9B,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAM7D,KAAK,CAAC,kBAAkB;QACpB,MAAM,IAAI,GAAG,WAAI,CAAC,IAAI,EAAE,CAAC;QAEzB,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,OAAO,6CAAoB,CAAC,IAAI,CAAC;YAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;SAC9B,CAAC,CAAC;IACP,CAAC;IAQD,KAAK,CAAC,iBAAiB,CAAC,GAAW;QAC/B,MAAM,IAAI,GAAG,WAAI,CAAC,IAAI,EAAE,CAAC;QAEzB,MAAM,UAAU,GAAG,MAAM,6CAAoB,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;SAC1C,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU;YAAE,OAAO,UAAU,CAAC,KAAK,CAAC;QAEzC,OAAO,6CAAoB,CAAC,OAAO,CAAC;YAChC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;SACvC,CAAC,CAAC;IACP,CAAC;IASD,KAAK,CAAC,iBAAiB,CAAC,IAAY,EAAE,KAAU;QAC5C,MAAM,IAAI,GAAG,WAAI,CAAC,IAAI,EAAE,CAAC;QAEzB,MAAM,UAAU,GAAG,MAAM,6CAAoB,CAAC,UAAU,CAAC;YACrD,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,IAAI;SACP,CAAC,CAAC;QAEH,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QAEzB,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAExB,OAAO,UAAU,CAAC;IACtB,CAAC;IASD,KAAK,CAAC,mBAAmB,CAAC,GAAW,EAAE,KAAa;QAEhD,MAAM,UAAU,GAAG,MAAM,6CAAoB,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;SACvC,CAAC,CAAC;QAGH,IAAI,UAAU,EAAE,CAAC;YACb,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;YACzB,OAAO,6CAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,6CAAoB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;QAClB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAErB,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAOD,KAAK,CAAC,6BAA6B,CAAC,IAAY;QAC5C,MAAM,6CAAoB,CAAC,UAAU,CAAC;YAClC,OAAO,EAAE,IAAA,aAAG,EAAC,IAAA,gBAAM,GAAE,CAAC;YACtB,IAAI;SACP,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AArGY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;qCAMmC,8BAAa;GALhD,qBAAqB,CAqGjC"}
1
+ {"version":3,"file":"user.preference.service.js","sourceRoot":"","sources":["../../../src/system/services/user.preference.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qCAAsC;AACtC,uEAAmE;AACnE,sDAAmD;AACnD,+EAA0E;AASnE,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAK9B,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAM7D,KAAK,CAAC,kBAAkB;QACpB,MAAM,IAAI,GAAG,WAAI,CAAC,IAAI,EAAE,CAAC;QAEzB,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,OAAO,6CAAoB,CAAC,IAAI,CAAC;YAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;SAC9B,CAAC,CAAC;IACP,CAAC;IAQD,KAAK,CAAC,iBAAiB,CAAC,GAAW;QAC/B,MAAM,IAAI,GAAG,WAAI,CAAC,IAAI,EAAE,CAAC;QAEzB,MAAM,UAAU,GAAG,MAAM,6CAAoB,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;SAC1C,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU;YAAE,OAAO,UAAU,CAAC,KAAK,CAAC;QAEzC,OAAO,6CAAoB,CAAC,OAAO,CAAC;YAChC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;SACvC,CAAC,CAAC;IACP,CAAC;IASD,KAAK,CAAC,iBAAiB,CAAC,IAAY,EAAE,KAAU;QAC5C,MAAM,IAAI,GAAG,WAAI,CAAC,IAAI,EAAE,CAAC;QAEzB,MAAM,UAAU,GAAG,MAAM,6CAAoB,CAAC,UAAU,CAAC;YACrD,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,IAAI;SACP,CAAC,CAAC;QAEH,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QAEzB,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAExB,OAAO,UAAU,CAAC;IACtB,CAAC;IASD,KAAK,CAAC,mBAAmB,CAAC,GAAW,EAAE,KAAa;QAEhD,MAAM,UAAU,GAAG,MAAM,6CAAoB,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;SACvC,CAAC,CAAC;QAGH,IAAI,UAAU,EAAE,CAAC;YACb,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;YACzB,OAAO,6CAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,6CAAoB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;QAClB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAErB,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAOD,KAAK,CAAC,6BAA6B,CAAC,IAAY;QAC5C,MAAM,6CAAoB,CAAC,UAAU,CAAC;YAClC,OAAO,EAAE,IAAA,aAAG,EAAC,IAAA,gBAAM,GAAE,CAAC;YACtB,IAAI;SACP,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AArGY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;qCAMmC,8BAAa;GALhD,qBAAqB,CAqGjC"}
@@ -9,4 +9,5 @@ export declare class CodeFixScriptSubscriber extends CommonSubscriber<CodeFixScr
9
9
  listenTo(): typeof CodeFixScriptEntity;
10
10
  beforeInsert(event: InsertEvent<CodeFixScriptEntity>): Promise<void>;
11
11
  beforeUpdate(event: UpdateEvent<CodeFixScriptEntity>): Promise<void>;
12
+ private validateTiming;
12
13
  }
@@ -10,11 +10,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CodeFixScriptSubscriber = void 0;
13
+ const date_fns_1 = require("date-fns");
13
14
  const typeorm_1 = require("typeorm");
15
+ const form_exception_1 = require("../../common/exceptions/form.exception");
14
16
  const common_subscriber_1 = require("../../common/libraries/common.subscriber");
17
+ const platform_utility_1 = require("../../common/libraries/platform.utility");
15
18
  const code_fix_script_entity_1 = require("../entities/code.fix.script.entity");
16
19
  const code_fix_script_job_1 = require("../jobs/code.fix.script.job");
17
- const date_fns_1 = require("date-fns");
18
20
  let CodeFixScriptSubscriber = class CodeFixScriptSubscriber extends common_subscriber_1.CommonSubscriber {
19
21
  constructor(dataSource, entityJob) {
20
22
  super();
@@ -30,13 +32,20 @@ let CodeFixScriptSubscriber = class CodeFixScriptSubscriber extends common_subsc
30
32
  ...event.entity.attributes,
31
33
  ...{},
32
34
  };
35
+ this.validateTiming(event.entity?.timing);
33
36
  if (!event.entity?.last_scheduled_time)
34
37
  event.entity.last_scheduled_time = (0, date_fns_1.subMinutes)(new Date(), 15);
35
38
  }
36
39
  async beforeUpdate(event) {
40
+ this.validateTiming(event.entity?.timing);
37
41
  if (!event.entity?.last_scheduled_time)
38
42
  event.entity.last_scheduled_time = (0, date_fns_1.subMinutes)(new Date(), 15);
39
43
  }
44
+ validateTiming(timing) {
45
+ if (timing && !platform_utility_1.PlatformUtility.isValidCronExpression(timing)) {
46
+ throw new form_exception_1.FormException({ column: 'timing', err: `Invalid cron expression: ${timing}` });
47
+ }
48
+ }
40
49
  };
41
50
  exports.CodeFixScriptSubscriber = CodeFixScriptSubscriber;
42
51
  exports.CodeFixScriptSubscriber = CodeFixScriptSubscriber = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"code.fix.script.subscriber.js","sourceRoot":"","sources":["../../../src/system/subscribers/code.fix.script.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAgF;AAChF,gFAA4E;AAC5E,+EAAyE;AACzE,qEAA+D;AAC/D,uCAAsC;AAG/B,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,oCAAqC;IAC9E,YACqB,UAAsB,EACpB,SAA2B;QAE9C,KAAK,EAAE,CAAC;QAHS,eAAU,GAAV,UAAU,CAAY;QACpB,cAAS,GAAT,SAAS,CAAkB;QAG9C,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,QAAQ;QACJ,OAAO,4CAAmB,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAuC;QACtD,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG;YACtB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU;YAC1B,GAAG,EAAE;SACR,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB;YAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAuC;QACtD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB;YAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1G,CAAC;CACJ,CAAA;AAxBY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,yBAAe,GAAE;qCAGmB,oBAAU;QACT,sCAAgB;GAHzC,uBAAuB,CAwBnC"}
1
+ {"version":3,"file":"code.fix.script.subscriber.js","sourceRoot":"","sources":["../../../src/system/subscribers/code.fix.script.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAsC;AACtC,qCAAgF;AAChF,2EAAuE;AACvE,gFAA4E;AAC5E,8EAA0E;AAC1E,+EAAyE;AACzE,qEAA+D;AAGxD,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,oCAAqC;IAC9E,YACqB,UAAsB,EACpB,SAA2B;QAE9C,KAAK,EAAE,CAAC;QAHS,eAAU,GAAV,UAAU,CAAY;QACpB,cAAS,GAAT,SAAS,CAAkB;QAG9C,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,QAAQ;QACJ,OAAO,4CAAmB,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAuC;QACtD,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG;YACtB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU;YAC1B,GAAG,EAAE;SACR,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB;YAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAuC;QACtD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB;YAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1G,CAAC;IAEO,cAAc,CAAC,MAAiC;QACpD,IAAI,MAAM,IAAI,CAAC,kCAAe,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,8BAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,4BAA4B,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC;IACL,CAAC;CACJ,CAAA;AAlCY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,yBAAe,GAAE;qCAGmB,oBAAU;QACT,sCAAgB;GAHzC,uBAAuB,CAkCnC"}
@@ -9,4 +9,5 @@ export declare class MaterialViewSubscriber extends CommonSubscriber<MaterialVie
9
9
  listenTo(): typeof MaterialViewEntity;
10
10
  beforeInsert(event: InsertEvent<MaterialViewEntity>): Promise<void>;
11
11
  beforeUpdate(event: UpdateEvent<MaterialViewEntity>): Promise<void>;
12
+ private validateTiming;
12
13
  }
@@ -12,7 +12,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MaterialViewSubscriber = void 0;
13
13
  const date_fns_1 = require("date-fns");
14
14
  const typeorm_1 = require("typeorm");
15
+ const form_exception_1 = require("../../common/exceptions/form.exception");
15
16
  const common_subscriber_1 = require("../../common/libraries/common.subscriber");
17
+ const platform_utility_1 = require("../../common/libraries/platform.utility");
16
18
  const material_view_entity_1 = require("../entities/material.view.entity");
17
19
  const material_view_job_1 = require("../jobs/material.view.job");
18
20
  let MaterialViewSubscriber = class MaterialViewSubscriber extends common_subscriber_1.CommonSubscriber {
@@ -30,13 +32,20 @@ let MaterialViewSubscriber = class MaterialViewSubscriber extends common_subscri
30
32
  ...event.entity.attributes,
31
33
  ...{},
32
34
  };
35
+ this.validateTiming(event.entity?.timing);
33
36
  if (!event.entity.last_scheduled_time)
34
37
  event.entity.last_scheduled_time = (0, date_fns_1.subMinutes)(new Date(), 15);
35
38
  }
36
39
  async beforeUpdate(event) {
40
+ this.validateTiming(event.entity?.timing);
37
41
  if (!event.entity.last_scheduled_time)
38
42
  event.entity.last_scheduled_time = (0, date_fns_1.subMinutes)(new Date(), 15);
39
43
  }
44
+ validateTiming(timing) {
45
+ if (timing && !platform_utility_1.PlatformUtility.isValidCronExpression(timing)) {
46
+ throw new form_exception_1.FormException({ column: 'timing', err: `Invalid cron expression: ${timing}` });
47
+ }
48
+ }
40
49
  };
41
50
  exports.MaterialViewSubscriber = MaterialViewSubscriber;
42
51
  exports.MaterialViewSubscriber = MaterialViewSubscriber = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"material.view.subscriber.js","sourceRoot":"","sources":["../../../src/system/subscribers/material.view.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAsC;AACtC,qCAAgF;AAChF,gFAA4E;AAC5E,2EAAsE;AACtE,iEAA4D;AAGrD,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,oCAAoC;IAC5E,YACqB,UAAsB,EACpB,SAA0B;QAE7C,KAAK,EAAE,CAAC;QAHS,eAAU,GAAV,UAAU,CAAY;QACpB,cAAS,GAAT,SAAS,CAAiB;QAG7C,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,QAAQ;QACJ,OAAO,yCAAkB,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAsC;QACrD,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG;YACtB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU;YAC1B,GAAG,EAAE;SACR,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB;YAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAsC;QACrD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB;YAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC;CACJ,CAAA;AAxBY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,yBAAe,GAAE;qCAGmB,oBAAU;QACT,mCAAe;GAHxC,sBAAsB,CAwBlC"}
1
+ {"version":3,"file":"material.view.subscriber.js","sourceRoot":"","sources":["../../../src/system/subscribers/material.view.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAsC;AACtC,qCAAgF;AAChF,2EAAuE;AACvE,gFAA4E;AAC5E,8EAA0E;AAC1E,2EAAsE;AACtE,iEAA4D;AAGrD,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,oCAAoC;IAC5E,YACqB,UAAsB,EACpB,SAA0B;QAE7C,KAAK,EAAE,CAAC;QAHS,eAAU,GAAV,UAAU,CAAY;QACpB,cAAS,GAAT,SAAS,CAAiB;QAG7C,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,QAAQ;QACJ,OAAO,yCAAkB,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAsC;QACrD,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG;YACtB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU;YAC1B,GAAG,EAAE;SACR,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB;YAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAsC;QACrD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB;YAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC;IAEO,cAAc,CAAC,MAAiC;QACpD,IAAI,MAAM,IAAI,CAAC,kCAAe,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,8BAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,4BAA4B,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC;IACL,CAAC;CACJ,CAAA;AAlCY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,yBAAe,GAAE;qCAGmB,oBAAU;QACT,mCAAe;GAHxC,sBAAsB,CAkClC"}
@@ -9,4 +9,5 @@ export declare class RecurringQuerySubscriber extends CommonSubscriber<Recurring
9
9
  listenTo(): typeof RecurringQueryEntity;
10
10
  beforeInsert(event: InsertEvent<RecurringQueryEntity>): Promise<void>;
11
11
  beforeUpdate(event: UpdateEvent<RecurringQueryEntity>): Promise<void>;
12
+ private validateTiming;
12
13
  }
@@ -12,7 +12,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.RecurringQuerySubscriber = void 0;
13
13
  const date_fns_1 = require("date-fns");
14
14
  const typeorm_1 = require("typeorm");
15
+ const form_exception_1 = require("../../common/exceptions/form.exception");
15
16
  const common_subscriber_1 = require("../../common/libraries/common.subscriber");
17
+ const platform_utility_1 = require("../../common/libraries/platform.utility");
16
18
  const recurring_query_entity_1 = require("../entities/recurring.query.entity");
17
19
  const recurring_query_job_1 = require("../jobs/recurring.query.job");
18
20
  let RecurringQuerySubscriber = class RecurringQuerySubscriber extends common_subscriber_1.CommonSubscriber {
@@ -30,13 +32,20 @@ let RecurringQuerySubscriber = class RecurringQuerySubscriber extends common_sub
30
32
  ...event.entity.attributes,
31
33
  ...{},
32
34
  };
35
+ this.validateTiming(event.entity?.timing);
33
36
  if (!event.entity.last_scheduled_time)
34
37
  event.entity.last_scheduled_time = (0, date_fns_1.subMinutes)(new Date(), 15);
35
38
  }
36
39
  async beforeUpdate(event) {
40
+ this.validateTiming(event.entity?.timing);
37
41
  if (!event.entity.last_scheduled_time)
38
42
  event.entity.last_scheduled_time = (0, date_fns_1.subMinutes)(new Date(), 15);
39
43
  }
44
+ validateTiming(timing) {
45
+ if (timing && !platform_utility_1.PlatformUtility.isValidCronExpression(timing)) {
46
+ throw new form_exception_1.FormException({ column: 'timing', err: `Invalid cron expression: ${timing}` });
47
+ }
48
+ }
40
49
  };
41
50
  exports.RecurringQuerySubscriber = RecurringQuerySubscriber;
42
51
  exports.RecurringQuerySubscriber = RecurringQuerySubscriber = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"recurring.query.subscriber.js","sourceRoot":"","sources":["../../../src/system/subscribers/recurring.query.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAsC;AACtC,qCAAgF;AAChF,gFAA4E;AAC5E,+EAA0E;AAC1E,qEAAgE;AAGzD,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,oCAAsC;IAChF,YACqB,UAAsB,EACpB,SAA4B;QAE/C,KAAK,EAAE,CAAC;QAHS,eAAU,GAAV,UAAU,CAAY;QACpB,cAAS,GAAT,SAAS,CAAmB;QAG/C,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ;QACJ,OAAO,6CAAoB,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAwC;QACvD,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG;YACtB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU;YAC1B,GAAG,EAAE;SACR,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB;YAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAwC;QACvD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB;YAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC;CACJ,CAAA;AAzBY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,yBAAe,GAAE;qCAGmB,oBAAU;QACT,uCAAiB;GAH1C,wBAAwB,CAyBpC"}
1
+ {"version":3,"file":"recurring.query.subscriber.js","sourceRoot":"","sources":["../../../src/system/subscribers/recurring.query.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAsC;AACtC,qCAAgF;AAChF,2EAAuE;AACvE,gFAA4E;AAC5E,8EAA0E;AAC1E,+EAA0E;AAC1E,qEAAgE;AAGzD,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,oCAAsC;IAChF,YACqB,UAAsB,EACpB,SAA4B;QAE/C,KAAK,EAAE,CAAC;QAHS,eAAU,GAAV,UAAU,CAAY;QACpB,cAAS,GAAT,SAAS,CAAmB;QAG/C,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ;QACJ,OAAO,6CAAoB,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAwC;QACvD,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG;YACtB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU;YAC1B,GAAG,EAAE;SACR,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB;YAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAwC;QACvD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB;YAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC;IAEO,cAAc,CAAC,MAAiC;QACpD,IAAI,MAAM,IAAI,CAAC,kCAAe,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,8BAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,4BAA4B,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC;IACL,CAAC;CACJ,CAAA;AAnCY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,yBAAe,GAAE;qCAGmB,oBAAU;QACT,uCAAiB;GAH1C,wBAAwB,CAmCpC"}
@@ -9,4 +9,5 @@ export declare class ScheduledEventSubscriber extends CommonSubscriber<Scheduled
9
9
  listenTo(): typeof ScheduledEventEntity;
10
10
  beforeInsert(event: InsertEvent<ScheduledEventEntity>): Promise<void>;
11
11
  beforeUpdate(event: UpdateEvent<ScheduledEventEntity>): Promise<void>;
12
+ private validateTiming;
12
13
  }
@@ -12,7 +12,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ScheduledEventSubscriber = void 0;
13
13
  const date_fns_1 = require("date-fns");
14
14
  const typeorm_1 = require("typeorm");
15
+ const form_exception_1 = require("../../common/exceptions/form.exception");
15
16
  const common_subscriber_1 = require("../../common/libraries/common.subscriber");
17
+ const platform_utility_1 = require("../../common/libraries/platform.utility");
16
18
  const scheduled_event_entity_1 = require("../entities/scheduled.event.entity");
17
19
  const scheduled_event_job_1 = require("../jobs/scheduled.event.job");
18
20
  let ScheduledEventSubscriber = class ScheduledEventSubscriber extends common_subscriber_1.CommonSubscriber {
@@ -30,13 +32,20 @@ let ScheduledEventSubscriber = class ScheduledEventSubscriber extends common_sub
30
32
  ...event.entity.attributes,
31
33
  ...{},
32
34
  };
35
+ this.validateTiming(event.entity?.timing);
33
36
  if (!event.entity?.last_scheduled_time)
34
37
  event.entity.last_scheduled_time = (0, date_fns_1.subMinutes)(new Date(), 15);
35
38
  }
36
39
  async beforeUpdate(event) {
40
+ this.validateTiming(event.entity?.timing);
37
41
  if (!event.entity?.last_scheduled_time)
38
42
  event.entity.last_scheduled_time = (0, date_fns_1.subMinutes)(new Date(), 15);
39
43
  }
44
+ validateTiming(timing) {
45
+ if (timing && !platform_utility_1.PlatformUtility.isValidCronExpression(timing)) {
46
+ throw new form_exception_1.FormException({ column: 'timing', err: `Invalid cron expression: ${timing}` });
47
+ }
48
+ }
40
49
  };
41
50
  exports.ScheduledEventSubscriber = ScheduledEventSubscriber;
42
51
  exports.ScheduledEventSubscriber = ScheduledEventSubscriber = __decorate([