@servicelabsco/nestjs-utility-services 3.0.19 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/CHANGELOG.md +275 -1
  2. package/README.md +3 -1
  3. package/dist/app.module.js +10 -43
  4. package/dist/app.module.js.map +1 -1
  5. package/dist/auth/auth.module.js +1 -4
  6. package/dist/auth/auth.module.js.map +1 -1
  7. package/dist/auth/middlewares/internal.middleware.js +4 -36
  8. package/dist/auth/middlewares/internal.middleware.js.map +1 -1
  9. package/dist/auth/services/auth.service.js.map +1 -1
  10. package/dist/auth/services/device.token.service.js +4 -3
  11. package/dist/auth/services/device.token.service.js.map +1 -1
  12. package/dist/auth/services/refresh.token.service.js +1 -34
  13. package/dist/auth/services/refresh.token.service.js.map +1 -1
  14. package/dist/common/adapters/redis.io.adapter.d.ts +1 -3
  15. package/dist/common/adapters/redis.io.adapter.js +3 -7
  16. package/dist/common/adapters/redis.io.adapter.js.map +1 -1
  17. package/dist/common/libraries/auth.js +1 -34
  18. package/dist/common/libraries/auth.js.map +1 -1
  19. package/dist/common/libraries/common.subscriber.js +15 -15
  20. package/dist/common/libraries/common.subscriber.js.map +1 -1
  21. package/dist/common/libraries/custom.crypt.js +13 -46
  22. package/dist/common/libraries/custom.crypt.js.map +1 -1
  23. package/dist/common/libraries/custom.logger.js +1 -1
  24. package/dist/common/libraries/custom.logger.js.map +1 -1
  25. package/dist/common/libraries/date.util.js +3 -3
  26. package/dist/common/libraries/date.util.js.map +1 -1
  27. package/dist/common/libraries/hash.js +3 -36
  28. package/dist/common/libraries/hash.js.map +1 -1
  29. package/dist/common/libraries/json.evaluator.js +26 -26
  30. package/dist/common/libraries/json.evaluator.js.map +1 -1
  31. package/dist/common/libraries/log.redactor.js +14 -14
  32. package/dist/common/libraries/log.redactor.js.map +1 -1
  33. package/dist/common/libraries/money.js +4 -4
  34. package/dist/common/libraries/money.js.map +1 -1
  35. package/dist/common/libraries/platform.utility.js +1 -4
  36. package/dist/common/libraries/platform.utility.js.map +1 -1
  37. package/dist/common/libraries/record.manager.js.map +1 -1
  38. package/dist/common/libraries/sentry.sdk.d.ts +1 -1
  39. package/dist/common/libraries/sentry.sdk.js +1 -1
  40. package/dist/common/libraries/sentry.sdk.js.map +1 -1
  41. package/dist/config/jwt.config.js.map +1 -1
  42. package/dist/config/orm.config.js +0 -3
  43. package/dist/config/orm.config.js.map +1 -1
  44. package/dist/config/read.typeorm.config.js +6 -35
  45. package/dist/config/read.typeorm.config.js.map +1 -1
  46. package/dist/config/sentry.options.js +14 -1
  47. package/dist/config/sentry.options.js.map +1 -1
  48. package/dist/config/typeorm.config.js +6 -37
  49. package/dist/config/typeorm.config.js.map +1 -1
  50. package/dist/health.check.controller.js +18 -0
  51. package/dist/health.check.controller.js.map +1 -1
  52. package/dist/main.d.ts +0 -1
  53. package/dist/main.js +6 -45
  54. package/dist/main.js.map +1 -1
  55. package/dist/migrations/1619296224563-AddMasterSeedersDataSeederTable.js +2 -35
  56. package/dist/migrations/1619296224563-AddMasterSeedersDataSeederTable.js.map +1 -1
  57. package/dist/migrations/1779607111923-AddUniqueIndexSysPropertiesName.js +2 -2
  58. package/dist/migrations/1779607111923-AddUniqueIndexSysPropertiesName.js.map +1 -1
  59. package/dist/migrations/1779607111924-AddUniqueIndexSysDocumentsFileHash.js +2 -2
  60. package/dist/migrations/1779607111924-AddUniqueIndexSysDocumentsFileHash.js.map +1 -1
  61. package/dist/migrations/1779690975270-AddUniqueIndexSysSessionIdentifiers.js +1 -1
  62. package/dist/migrations/1779690975270-AddUniqueIndexSysSessionIdentifiers.js.map +1 -1
  63. package/dist/migrations/1779773659655-AddIdempotencyIndexesForJobs.js +3 -3
  64. package/dist/migrations/1779773659655-AddIdempotencyIndexesForJobs.js.map +1 -1
  65. package/dist/migrations/1780002352495-MigrateJsonColumnsToJsonb.js +20 -20
  66. package/dist/migrations/1780002352495-MigrateJsonColumnsToJsonb.js.map +1 -1
  67. package/dist/migrations/1788287350858-ReplaceUniqueIndexesWithSoftDeleteAware.js +4 -4
  68. package/dist/migrations/1788287350858-ReplaceUniqueIndexesWithSoftDeleteAware.js.map +1 -1
  69. package/dist/migrations/1788287350859-NormalizeSocialIdentitiesUuidDefault.js +1 -1
  70. package/dist/migrations/1788287350859-NormalizeSocialIdentitiesUuidDefault.js.map +1 -1
  71. package/dist/migrations/1793302598724-CreateUploadSessionTable.d.ts +5 -0
  72. package/dist/migrations/1793302598724-CreateUploadSessionTable.js +33 -0
  73. package/dist/migrations/1793302598724-CreateUploadSessionTable.js.map +1 -0
  74. package/dist/migrations/1793726866264-CreateSourceVersionTable.d.ts +5 -0
  75. package/dist/migrations/1793726866264-CreateSourceVersionTable.js +22 -0
  76. package/dist/migrations/1793726866264-CreateSourceVersionTable.js.map +1 -0
  77. package/dist/migrations/1793732831136-AddLastViewedAtSysMaterialViewsTable.d.ts +5 -0
  78. package/dist/migrations/1793732831136-AddLastViewedAtSysMaterialViewsTable.js +15 -0
  79. package/dist/migrations/1793732831136-AddLastViewedAtSysMaterialViewsTable.js.map +1 -0
  80. package/dist/platformUtility/constants/index.d.ts +1 -0
  81. package/dist/platformUtility/constants/index.js +1 -0
  82. package/dist/platformUtility/constants/index.js.map +1 -1
  83. package/dist/platformUtility/constants/servicelabs.constants.d.ts +30 -0
  84. package/dist/platformUtility/constants/servicelabs.constants.js +34 -0
  85. package/dist/platformUtility/constants/servicelabs.constants.js.map +1 -0
  86. package/dist/platformUtility/consumers/job.consumer.d.ts +2 -1
  87. package/dist/platformUtility/consumers/job.consumer.js +8 -8
  88. package/dist/platformUtility/consumers/job.consumer.js.map +1 -1
  89. package/dist/platformUtility/es6.classes.d.ts +36 -4
  90. package/dist/platformUtility/es6.classes.js +8 -1
  91. package/dist/platformUtility/es6.classes.js.map +1 -1
  92. package/dist/platformUtility/filters/sentry.reporting.filter.js +2 -1
  93. package/dist/platformUtility/filters/sentry.reporting.filter.js.map +1 -1
  94. package/dist/platformUtility/interfaces/index.d.ts +19 -0
  95. package/dist/platformUtility/interfaces/index.js +19 -0
  96. package/dist/platformUtility/interfaces/index.js.map +1 -1
  97. package/dist/platformUtility/interfaces/servicelabs.call.options.interface.d.ts +8 -0
  98. package/dist/platformUtility/interfaces/servicelabs.call.options.interface.js +3 -0
  99. package/dist/platformUtility/interfaces/servicelabs.call.options.interface.js.map +1 -0
  100. package/dist/platformUtility/interfaces/servicelabs.callback.event.interface.d.ts +6 -0
  101. package/dist/platformUtility/interfaces/servicelabs.callback.event.interface.js +3 -0
  102. package/dist/platformUtility/interfaces/servicelabs.callback.event.interface.js.map +1 -0
  103. package/dist/platformUtility/interfaces/servicelabs.error.interface.d.ts +10 -0
  104. package/dist/platformUtility/interfaces/servicelabs.error.interface.js +3 -0
  105. package/dist/platformUtility/interfaces/servicelabs.error.interface.js.map +1 -0
  106. package/dist/platformUtility/interfaces/servicelabs.html.pdf.input.interface.d.ts +5 -0
  107. package/dist/platformUtility/interfaces/servicelabs.html.pdf.input.interface.js +3 -0
  108. package/dist/platformUtility/interfaces/servicelabs.html.pdf.input.interface.js.map +1 -0
  109. package/dist/platformUtility/interfaces/servicelabs.job.file.interface.d.ts +10 -0
  110. package/dist/platformUtility/interfaces/servicelabs.job.file.interface.js +3 -0
  111. package/dist/platformUtility/interfaces/servicelabs.job.file.interface.js.map +1 -0
  112. package/dist/platformUtility/interfaces/servicelabs.job.interface.d.ts +31 -0
  113. package/dist/platformUtility/interfaces/servicelabs.job.interface.js +3 -0
  114. package/dist/platformUtility/interfaces/servicelabs.job.interface.js.map +1 -0
  115. package/dist/platformUtility/interfaces/servicelabs.job.list.interface.d.ts +5 -0
  116. package/dist/platformUtility/interfaces/servicelabs.job.list.interface.js +3 -0
  117. package/dist/platformUtility/interfaces/servicelabs.job.list.interface.js.map +1 -0
  118. package/dist/platformUtility/interfaces/servicelabs.job.list.options.interface.d.ts +6 -0
  119. package/dist/platformUtility/interfaces/servicelabs.job.list.options.interface.js +3 -0
  120. package/dist/platformUtility/interfaces/servicelabs.job.list.options.interface.js.map +1 -0
  121. package/dist/platformUtility/interfaces/servicelabs.job.summary.interface.d.ts +15 -0
  122. package/dist/platformUtility/interfaces/servicelabs.job.summary.interface.js +3 -0
  123. package/dist/platformUtility/interfaces/servicelabs.job.summary.interface.js.map +1 -0
  124. package/dist/platformUtility/interfaces/servicelabs.request.interface.d.ts +5 -0
  125. package/dist/platformUtility/interfaces/servicelabs.request.interface.js +3 -0
  126. package/dist/platformUtility/interfaces/servicelabs.request.interface.js.map +1 -0
  127. package/dist/platformUtility/interfaces/servicelabs.response.interface.d.ts +6 -0
  128. package/dist/platformUtility/interfaces/servicelabs.response.interface.js +3 -0
  129. package/dist/platformUtility/interfaces/servicelabs.response.interface.js.map +1 -0
  130. package/dist/platformUtility/interfaces/servicelabs.run.options.interface.d.ts +8 -0
  131. package/dist/platformUtility/interfaces/servicelabs.run.options.interface.js +3 -0
  132. package/dist/platformUtility/interfaces/servicelabs.run.options.interface.js.map +1 -0
  133. package/dist/platformUtility/interfaces/servicelabs.store.options.interface.d.ts +5 -0
  134. package/dist/platformUtility/interfaces/servicelabs.store.options.interface.js +3 -0
  135. package/dist/platformUtility/interfaces/servicelabs.store.options.interface.js.map +1 -0
  136. package/dist/platformUtility/interfaces/servicelabs.stored.file.interface.d.ts +6 -0
  137. package/dist/platformUtility/interfaces/servicelabs.stored.file.interface.js +3 -0
  138. package/dist/platformUtility/interfaces/servicelabs.stored.file.interface.js.map +1 -0
  139. package/dist/platformUtility/interfaces/servicelabs.url.input.interface.d.ts +3 -0
  140. package/dist/platformUtility/interfaces/servicelabs.url.input.interface.js +3 -0
  141. package/dist/platformUtility/interfaces/servicelabs.url.input.interface.js.map +1 -0
  142. package/dist/platformUtility/interfaces/servicelabs.utility.interface.d.ts +12 -0
  143. package/dist/platformUtility/interfaces/servicelabs.utility.interface.js +3 -0
  144. package/dist/platformUtility/interfaces/servicelabs.utility.interface.js.map +1 -0
  145. package/dist/platformUtility/interfaces/servicelabs.zip.entry.interface.d.ts +4 -0
  146. package/dist/platformUtility/interfaces/servicelabs.zip.entry.interface.js +3 -0
  147. package/dist/platformUtility/interfaces/servicelabs.zip.entry.interface.js.map +1 -0
  148. package/dist/platformUtility/interfaces/servicelabs.zip.files.input.interface.d.ts +4 -0
  149. package/dist/platformUtility/interfaces/servicelabs.zip.files.input.interface.js +3 -0
  150. package/dist/platformUtility/interfaces/servicelabs.zip.files.input.interface.js.map +1 -0
  151. package/dist/platformUtility/interfaces/unzip.file.interface.d.ts +6 -0
  152. package/dist/platformUtility/interfaces/unzip.file.interface.js +3 -0
  153. package/dist/platformUtility/interfaces/unzip.file.interface.js.map +1 -0
  154. package/dist/platformUtility/libraries/common.servicelabs.callback.controller.d.ts +11 -0
  155. package/dist/platformUtility/libraries/common.servicelabs.callback.controller.js +43 -0
  156. package/dist/platformUtility/libraries/common.servicelabs.callback.controller.js.map +1 -0
  157. package/dist/platformUtility/libraries/create.entity.constants.file.js +1 -34
  158. package/dist/platformUtility/libraries/create.entity.constants.file.js.map +1 -1
  159. package/dist/platformUtility/libraries/create.es6.classes.file.js +1 -34
  160. package/dist/platformUtility/libraries/create.es6.classes.file.js.map +1 -1
  161. package/dist/platformUtility/libraries/create.es6.jobs.file.js +1 -34
  162. package/dist/platformUtility/libraries/create.es6.jobs.file.js.map +1 -1
  163. package/dist/platformUtility/libraries/create.es6.service.file.js +1 -34
  164. package/dist/platformUtility/libraries/create.es6.service.file.js.map +1 -1
  165. package/dist/platformUtility/libraries/create.index.file.js +1 -34
  166. package/dist/platformUtility/libraries/create.index.file.js.map +1 -1
  167. package/dist/platformUtility/libraries/file.system.utility.js +1 -34
  168. package/dist/platformUtility/libraries/file.system.utility.js.map +1 -1
  169. package/dist/platformUtility/libraries/index.d.ts +1 -0
  170. package/dist/platformUtility/libraries/index.js +1 -0
  171. package/dist/platformUtility/libraries/index.js.map +1 -1
  172. package/dist/platformUtility/libraries/process.common.mail.js +4 -7
  173. package/dist/platformUtility/libraries/process.common.mail.js.map +1 -1
  174. package/dist/platformUtility/libraries/process.kaleyra.sms.d.ts +1 -0
  175. package/dist/platformUtility/libraries/process.kaleyra.sms.js +11 -37
  176. package/dist/platformUtility/libraries/process.kaleyra.sms.js.map +1 -1
  177. package/dist/platformUtility/libraries/process.smtp.mail.js +1 -34
  178. package/dist/platformUtility/libraries/process.smtp.mail.js.map +1 -1
  179. package/dist/platformUtility/libraries/sentry.bootstrap.js +5 -5
  180. package/dist/platformUtility/libraries/sentry.bootstrap.js.map +1 -1
  181. package/dist/platformUtility/libraries/sentry.context.d.ts +1 -1
  182. package/dist/platformUtility/libraries/sentry.context.js +1 -2
  183. package/dist/platformUtility/libraries/sentry.context.js.map +1 -1
  184. package/dist/platformUtility/middlewares/trim.pipe.js +13 -12
  185. package/dist/platformUtility/middlewares/trim.pipe.js.map +1 -1
  186. package/dist/platformUtility/platform.utility.module.js +9 -5
  187. package/dist/platformUtility/platform.utility.module.js.map +1 -1
  188. package/dist/platformUtility/services/aws.client.factory.js +3 -2
  189. package/dist/platformUtility/services/aws.client.factory.js.map +1 -1
  190. package/dist/platformUtility/services/aws.config.service.js +3 -2
  191. package/dist/platformUtility/services/aws.config.service.js.map +1 -1
  192. package/dist/platformUtility/services/cache.service.js +4 -2
  193. package/dist/platformUtility/services/cache.service.js.map +1 -1
  194. package/dist/platformUtility/services/dynamo.service.js +4 -3
  195. package/dist/platformUtility/services/dynamo.service.js.map +1 -1
  196. package/dist/platformUtility/services/index.d.ts +2 -0
  197. package/dist/platformUtility/services/index.js +2 -0
  198. package/dist/platformUtility/services/index.js.map +1 -1
  199. package/dist/platformUtility/services/local.property.service.js +1 -4
  200. package/dist/platformUtility/services/local.property.service.js.map +1 -1
  201. package/dist/platformUtility/services/maintenance.service.js +2 -35
  202. package/dist/platformUtility/services/maintenance.service.js.map +1 -1
  203. package/dist/platformUtility/services/pdf.service.d.ts +4 -1
  204. package/dist/platformUtility/services/pdf.service.js +16 -2
  205. package/dist/platformUtility/services/pdf.service.js.map +1 -1
  206. package/dist/platformUtility/services/queue.service.d.ts +5 -3
  207. package/dist/platformUtility/services/queue.service.js +14 -3
  208. package/dist/platformUtility/services/queue.service.js.map +1 -1
  209. package/dist/platformUtility/services/redis.service.d.ts +1 -0
  210. package/dist/platformUtility/services/redis.service.js +10 -8
  211. package/dist/platformUtility/services/redis.service.js.map +1 -1
  212. package/dist/platformUtility/services/remote.request.service.js +1 -4
  213. package/dist/platformUtility/services/remote.request.service.js.map +1 -1
  214. package/dist/platformUtility/services/s3.service.js +1 -34
  215. package/dist/platformUtility/services/s3.service.js.map +1 -1
  216. package/dist/platformUtility/services/servicelabs.dev.service.d.ts +49 -0
  217. package/dist/platformUtility/services/servicelabs.dev.service.js +181 -0
  218. package/dist/platformUtility/services/servicelabs.dev.service.js.map +1 -0
  219. package/dist/platformUtility/services/servicelabs.utility.service.d.ts +51 -0
  220. package/dist/platformUtility/services/servicelabs.utility.service.js +193 -0
  221. package/dist/platformUtility/services/servicelabs.utility.service.js.map +1 -0
  222. package/dist/platformUtility/services/shutdown.service.js.map +1 -1
  223. package/dist/platformUtility/services/split.pdf.service.d.ts +3 -1
  224. package/dist/platformUtility/services/split.pdf.service.js +9 -2
  225. package/dist/platformUtility/services/split.pdf.service.js.map +1 -1
  226. package/dist/platformUtility/services/sql.service.d.ts +13 -0
  227. package/dist/platformUtility/services/sql.service.js +51 -0
  228. package/dist/platformUtility/services/sql.service.js.map +1 -1
  229. package/dist/platformUtility/services/zip.service.d.ts +7 -2
  230. package/dist/platformUtility/services/zip.service.js +41 -5
  231. package/dist/platformUtility/services/zip.service.js.map +1 -1
  232. package/dist/security/security.module.js +1 -4
  233. package/dist/security/security.module.js.map +1 -1
  234. package/dist/system/constants/index.d.ts +1 -0
  235. package/dist/system/constants/index.js +1 -0
  236. package/dist/system/constants/index.js.map +1 -1
  237. package/dist/system/constants/upload.session.constants.d.ts +21 -0
  238. package/dist/system/constants/upload.session.constants.js +25 -0
  239. package/dist/system/constants/upload.session.constants.js.map +1 -0
  240. package/dist/system/controllers/upload.controller.js +2 -2
  241. package/dist/system/controllers/upload.controller.js.map +1 -1
  242. package/dist/system/dtos/direct.upload.file.dto.d.ts +5 -0
  243. package/dist/system/dtos/direct.upload.file.dto.js +37 -0
  244. package/dist/system/dtos/direct.upload.file.dto.js.map +1 -0
  245. package/dist/system/dtos/direct.upload.initiate.dto.d.ts +4 -0
  246. package/dist/system/dtos/direct.upload.initiate.dto.js +27 -0
  247. package/dist/system/dtos/direct.upload.initiate.dto.js.map +1 -0
  248. package/dist/system/dtos/direct.upload.options.dto.d.ts +8 -0
  249. package/dist/system/dtos/direct.upload.options.dto.js +54 -0
  250. package/dist/system/dtos/direct.upload.options.dto.js.map +1 -0
  251. package/dist/system/dtos/direct.upload.parts.dto.d.ts +3 -0
  252. package/dist/system/dtos/direct.upload.parts.dto.js +26 -0
  253. package/dist/system/dtos/direct.upload.parts.dto.js.map +1 -0
  254. package/dist/system/dtos/index.d.ts +5 -0
  255. package/dist/system/dtos/index.js +5 -0
  256. package/dist/system/dtos/index.js.map +1 -1
  257. package/dist/system/dtos/local.file.s3.upload.dto.d.ts +1 -0
  258. package/dist/system/dtos/local.file.s3.upload.dto.js +4 -0
  259. package/dist/system/dtos/local.file.s3.upload.dto.js.map +1 -1
  260. package/dist/system/dtos/material.view.attributes.dto.d.ts +4 -0
  261. package/dist/system/dtos/material.view.attributes.dto.js.map +1 -1
  262. package/dist/system/dtos/upload.session.attributes.dto.d.ts +5 -0
  263. package/dist/system/dtos/upload.session.attributes.dto.js +7 -0
  264. package/dist/system/dtos/upload.session.attributes.dto.js.map +1 -0
  265. package/dist/system/entities/index.d.ts +2 -0
  266. package/dist/system/entities/index.js +2 -0
  267. package/dist/system/entities/index.js.map +1 -1
  268. package/dist/system/entities/material.view.entity.d.ts +1 -0
  269. package/dist/system/entities/material.view.entity.js +4 -0
  270. package/dist/system/entities/material.view.entity.js.map +1 -1
  271. package/dist/system/entities/source.version.entity.d.ts +9 -0
  272. package/dist/system/entities/source.version.entity.js +45 -0
  273. package/dist/system/entities/source.version.entity.js.map +1 -0
  274. package/dist/system/entities/upload.session.entity.d.ts +20 -0
  275. package/dist/system/entities/upload.session.entity.js +86 -0
  276. package/dist/system/entities/upload.session.entity.js.map +1 -0
  277. package/dist/system/es6.classes.d.ts +38 -6
  278. package/dist/system/es6.classes.js +26 -1
  279. package/dist/system/es6.classes.js.map +1 -1
  280. package/dist/system/interfaces/direct.upload.part.url.interface.d.ts +6 -0
  281. package/dist/system/interfaces/direct.upload.part.url.interface.js +3 -0
  282. package/dist/system/interfaces/direct.upload.part.url.interface.js.map +1 -0
  283. package/dist/system/interfaces/direct.upload.result.interface.d.ts +10 -0
  284. package/dist/system/interfaces/direct.upload.result.interface.js +3 -0
  285. package/dist/system/interfaces/direct.upload.result.interface.js.map +1 -0
  286. package/dist/system/interfaces/direct.upload.session.interface.d.ts +16 -0
  287. package/dist/system/interfaces/direct.upload.session.interface.js +3 -0
  288. package/dist/system/interfaces/direct.upload.session.interface.js.map +1 -0
  289. package/dist/system/interfaces/direct.upload.status.interface.d.ts +12 -0
  290. package/dist/system/interfaces/direct.upload.status.interface.js +3 -0
  291. package/dist/system/interfaces/direct.upload.status.interface.js.map +1 -0
  292. package/dist/system/interfaces/index.d.ts +6 -0
  293. package/dist/system/interfaces/index.js +6 -0
  294. package/dist/system/interfaces/index.js.map +1 -1
  295. package/dist/system/interfaces/source.version.options.interface.d.ts +7 -0
  296. package/dist/system/interfaces/source.version.options.interface.js +3 -0
  297. package/dist/system/interfaces/source.version.options.interface.js.map +1 -0
  298. package/dist/system/interfaces/uploaded.part.interface.d.ts +5 -0
  299. package/dist/system/interfaces/uploaded.part.interface.js +3 -0
  300. package/dist/system/interfaces/uploaded.part.interface.js.map +1 -0
  301. package/dist/system/jobs/execute.material.view.job.js +2 -0
  302. package/dist/system/jobs/execute.material.view.job.js.map +1 -1
  303. package/dist/system/jobs/expire.upload.session.job.d.ts +13 -0
  304. package/dist/system/jobs/expire.upload.session.job.js +38 -0
  305. package/dist/system/jobs/expire.upload.session.job.js.map +1 -0
  306. package/dist/system/jobs/index.d.ts +1 -0
  307. package/dist/system/jobs/index.js +1 -0
  308. package/dist/system/jobs/index.js.map +1 -1
  309. package/dist/system/jobs/orphan.sweeper.job.js +3 -2
  310. package/dist/system/jobs/orphan.sweeper.job.js.map +1 -1
  311. package/dist/system/jobs/set.event.queue.job.js +3 -2
  312. package/dist/system/jobs/set.event.queue.job.js.map +1 -1
  313. package/dist/system/jobs/sqs.polling.job.js.map +1 -1
  314. package/dist/system/jobs/sync.all.code.job.d.ts +9 -0
  315. package/dist/system/jobs/sync.all.code.job.js +106 -28
  316. package/dist/system/jobs/sync.all.code.job.js.map +1 -1
  317. package/dist/system/libraries/code.evaluator.d.ts +13 -0
  318. package/dist/system/libraries/code.evaluator.js +41 -1
  319. package/dist/system/libraries/code.evaluator.js.map +1 -1
  320. package/dist/system/libraries/common.direct.upload.controller.d.ts +19 -0
  321. package/dist/system/libraries/common.direct.upload.controller.js +84 -0
  322. package/dist/system/libraries/common.direct.upload.controller.js.map +1 -0
  323. package/dist/system/libraries/common.storage.service.d.ts +13 -0
  324. package/dist/system/libraries/common.storage.service.js +78 -1
  325. package/dist/system/libraries/common.storage.service.js.map +1 -1
  326. package/dist/system/libraries/crypt.re.encrypt.processor.js +2 -2
  327. package/dist/system/libraries/crypt.re.encrypt.processor.js.map +1 -1
  328. package/dist/system/libraries/file.type.detector.d.ts +2 -0
  329. package/dist/system/libraries/file.type.detector.js +88 -75
  330. package/dist/system/libraries/file.type.detector.js.map +1 -1
  331. package/dist/system/libraries/generate.downloadable.report.file.d.ts +1 -0
  332. package/dist/system/libraries/generate.downloadable.report.file.js +14 -36
  333. package/dist/system/libraries/generate.downloadable.report.file.js.map +1 -1
  334. package/dist/system/libraries/index.d.ts +1 -0
  335. package/dist/system/libraries/index.js +1 -0
  336. package/dist/system/libraries/index.js.map +1 -1
  337. package/dist/system/libraries/model.sync.js +2 -2
  338. package/dist/system/libraries/model.sync.js.map +1 -1
  339. package/dist/system/libraries/sandboxed.script.executor.js +17 -17
  340. package/dist/system/libraries/sandboxed.script.executor.js.map +1 -1
  341. package/dist/system/services/aws.s3.service.js +6 -5
  342. package/dist/system/services/aws.s3.service.js.map +1 -1
  343. package/dist/system/services/base.service.js.map +1 -1
  344. package/dist/system/services/direct.upload.service.d.ts +41 -0
  345. package/dist/system/services/direct.upload.service.js +385 -0
  346. package/dist/system/services/direct.upload.service.js.map +1 -0
  347. package/dist/system/services/document.service.js +2 -38
  348. package/dist/system/services/document.service.js.map +1 -1
  349. package/dist/system/services/event.detail.service.js.map +1 -1
  350. package/dist/system/services/event.queue.service.js +3 -2
  351. package/dist/system/services/event.queue.service.js.map +1 -1
  352. package/dist/system/services/index.d.ts +2 -0
  353. package/dist/system/services/index.js +2 -0
  354. package/dist/system/services/index.js.map +1 -1
  355. package/dist/system/services/source.version.service.d.ts +17 -0
  356. package/dist/system/services/source.version.service.js +86 -0
  357. package/dist/system/services/source.version.service.js.map +1 -0
  358. package/dist/system/services/storage.service.d.ts +20 -0
  359. package/dist/system/services/storage.service.js +62 -7
  360. package/dist/system/services/storage.service.js.map +1 -1
  361. package/dist/system/services/upload.service.d.ts +4 -1
  362. package/dist/system/services/upload.service.js +18 -6
  363. package/dist/system/services/upload.service.js.map +1 -1
  364. package/dist/system/subscribers/index.d.ts +1 -0
  365. package/dist/system/subscribers/index.js +1 -0
  366. package/dist/system/subscribers/index.js.map +1 -1
  367. package/dist/system/subscribers/system.script.subscriber.d.ts +13 -0
  368. package/dist/system/subscribers/system.script.subscriber.js +61 -0
  369. package/dist/system/subscribers/system.script.subscriber.js.map +1 -0
  370. package/dist/system/system.module.js +1 -4
  371. package/dist/system/system.module.js.map +1 -1
  372. package/dist/worker.d.ts +1 -1
  373. package/dist/worker.js +2 -1
  374. package/dist/worker.js.map +1 -1
  375. package/docs/sentry-reporting.md +26 -20
  376. package/docs/servicelabs-utilities.md +174 -0
  377. package/docs/upgrade-4.0.md +215 -0
  378. package/package.json +70 -74
@@ -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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"}
@@ -4,3 +4,4 @@ export * from './material.view.subscriber';
4
4
  export * from './property.subscriber';
5
5
  export * from './recurring.query.subscriber';
6
6
  export * from './scheduled.event.subscriber';
7
+ export * from './system.script.subscriber';
@@ -20,4 +20,5 @@ __exportStar(require("./material.view.subscriber"), exports);
20
20
  __exportStar(require("./property.subscriber"), exports);
21
21
  __exportStar(require("./recurring.query.subscriber"), exports);
22
22
  __exportStar(require("./scheduled.event.subscriber"), exports);
23
+ __exportStar(require("./system.script.subscriber"), exports);
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/system/subscribers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAAA,+DAA6C;AAAA,6DAA2C;AAAA,wDAAsC;AAAA,+DAA6C;AAAA,+DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/system/subscribers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAAA,+DAA6C;AAAA,6DAA2C;AAAA,wDAAsC;AAAA,+DAA6C;AAAA,+DAA6C;AAAA,6DAA0C"}
@@ -0,0 +1,13 @@
1
+ import { DataSource, InsertEvent, UpdateEvent } from 'typeorm';
2
+ import { CommonSubscriber } from '../../common/libraries/common.subscriber';
3
+ import { SystemScriptEntity } from '../entities/system.script.entity';
4
+ import { SourceVersionService } from '../services/source.version.service';
5
+ export declare class SystemScriptSubscriber extends CommonSubscriber<SystemScriptEntity> {
6
+ private readonly dataSource;
7
+ private readonly sourceVersionService;
8
+ constructor(dataSource: DataSource, sourceVersionService: SourceVersionService);
9
+ listenTo(): typeof SystemScriptEntity;
10
+ afterInsert(event: InsertEvent<SystemScriptEntity>): Promise<import("..").SourceVersionEntity>;
11
+ afterUpdate(event: UpdateEvent<SystemScriptEntity>): Promise<import("..").SourceVersionEntity>;
12
+ private createVersion;
13
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SystemScriptSubscriber = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const common_subscriber_1 = require("../../common/libraries/common.subscriber");
15
+ const system_script_entity_1 = require("../entities/system.script.entity");
16
+ const source_version_service_1 = require("../services/source.version.service");
17
+ const SourceHash = require("../../config/source.hash");
18
+ let SystemScriptSubscriber = class SystemScriptSubscriber extends common_subscriber_1.CommonSubscriber {
19
+ constructor(dataSource, sourceVersionService) {
20
+ super();
21
+ this.dataSource = dataSource;
22
+ this.sourceVersionService = sourceVersionService;
23
+ dataSource.subscribers.push(this);
24
+ }
25
+ listenTo() {
26
+ return system_script_entity_1.SystemScriptEntity;
27
+ }
28
+ async afterInsert(event) {
29
+ await super.afterInsert(event);
30
+ return this.createVersion(event.manager, event.entity?.id);
31
+ }
32
+ async afterUpdate(event) {
33
+ await super.afterUpdate(event);
34
+ if (event.entity?.deleted_at)
35
+ return;
36
+ return this.createVersion(event.manager, event.entity?.id ?? event.databaseEntity?.id);
37
+ }
38
+ async createVersion(manager, id) {
39
+ if (!id)
40
+ return;
41
+ const script = await manager.findOne(system_script_entity_1.SystemScriptEntity, { where: { id } });
42
+ if (!script)
43
+ return;
44
+ const value = {
45
+ name: script.name,
46
+ type_id: script.type_id,
47
+ source_type: script.source_type,
48
+ source_id: script.source_id,
49
+ script: script.script,
50
+ attributes: script.attributes,
51
+ };
52
+ return this.sourceVersionService.createVersion({ source_type: SourceHash.script, source_id: script.id }, value, { manager });
53
+ }
54
+ };
55
+ exports.SystemScriptSubscriber = SystemScriptSubscriber;
56
+ exports.SystemScriptSubscriber = SystemScriptSubscriber = __decorate([
57
+ (0, typeorm_1.EventSubscriber)(),
58
+ __metadata("design:paramtypes", [typeorm_1.DataSource,
59
+ source_version_service_1.SourceVersionService])
60
+ ], SystemScriptSubscriber);
61
+ //# sourceMappingURL=system.script.subscriber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.script.subscriber.js","sourceRoot":"","sources":["../../../src/system/subscribers/system.script.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA+F;AAC/F,gFAA4E;AAC5E,2EAAsE;AACtE,+EAA0E;AAC1E,uDAAwD;AAQjD,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,oCAAoC;IAC5E,YACqB,UAAsB,EACtB,oBAA0C;QAE3D,KAAK,EAAE,CAAC;QAHS,eAAU,GAAV,UAAU,CAAY;QACtB,yBAAoB,GAApB,oBAAoB,CAAsB;QAG3D,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ;QACJ,OAAO,yCAAkB,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAsC;QACpD,MAAM,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAsC;QACpD,MAAM,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,KAAK,CAAC,MAAM,EAAE,UAAU;YAAE,OAAO;QAErC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAC3F,CAAC;IAOO,KAAK,CAAC,aAAa,CAAC,OAAsB,EAAE,EAAU;QAC1D,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,yCAAkB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,KAAK,GAAG;YACV,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;SAChC,CAAC;QAEF,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACjI,CAAC;CACJ,CAAA;AAjDY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,yBAAe,GAAE;qCAGmB,oBAAU;QACA,6CAAoB;GAHtD,sBAAsB,CAiDlC"}
@@ -5,15 +5,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
8
  Object.defineProperty(exports, "__esModule", { value: true });
12
9
  exports.SystemModule = void 0;
13
10
  const common_1 = require("@nestjs/common");
14
11
  const auth_module_1 = require("../auth/auth.module");
15
12
  const platform_utility_module_1 = require("../platformUtility/platform.utility.module");
16
- const es6_classes_1 = __importDefault(require("./es6.classes"));
13
+ const es6_classes_1 = require("./es6.classes");
17
14
  const typeorm_1 = require("@nestjs/typeorm");
18
15
  let SystemModule = class SystemModule {
19
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"system.module.js","sourceRoot":"","sources":["../../src/system/system.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAoD;AACpD,qDAAiD;AACjD,wFAAmF;AACnF,gEAAuC;AACvC,6CAAgD;AAQzC,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,oCAAY;uBAAZ,YAAY;IANxB,IAAA,eAAM,EAAC;QACJ,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,qBAAU,CAAC,QAAQ,CAAC,EAAE,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC,EAAE,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,+CAAqB,CAAC,CAAC;QAC/H,WAAW,EAAE,qBAAU,CAAC,WAAW;QACnC,SAAS,EAAE,CAAC,GAAG,qBAAU,CAAC,QAAQ,EAAE,GAAG,qBAAU,CAAC,WAAW,EAAE,GAAG,qBAAU,CAAC,IAAI,CAAC;QAClF,OAAO,EAAE,CAAC,GAAG,qBAAU,CAAC,QAAQ,EAAE,GAAG,qBAAU,CAAC,IAAI,CAAC;KACxD,CAAC;GACW,YAAY,CAAG"}
1
+ {"version":3,"file":"system.module.js","sourceRoot":"","sources":["../../src/system/system.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,qDAAiD;AACjD,wFAAmF;AACnF,+CAAuC;AACvC,6CAAgD;AAQzC,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,oCAAY;uBAAZ,YAAY;IANxB,IAAA,eAAM,EAAC;QACJ,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,qBAAU,CAAC,QAAQ,CAAC,EAAE,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC,EAAE,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,+CAAqB,CAAC,CAAC;QAC/H,WAAW,EAAE,qBAAU,CAAC,WAAW;QACnC,SAAS,EAAE,CAAC,GAAG,qBAAU,CAAC,QAAQ,EAAE,GAAG,qBAAU,CAAC,WAAW,EAAE,GAAG,qBAAU,CAAC,IAAI,CAAC;QAClF,OAAO,EAAE,CAAC,GAAG,qBAAU,CAAC,QAAQ,EAAE,GAAG,qBAAU,CAAC,IAAI,CAAC;KACxD,CAAC;GACW,YAAY,CAAG"}
package/dist/worker.d.ts CHANGED
@@ -1 +1 @@
1
- export {};
1
+ import './instrument';
package/dist/worker.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("./instrument");
3
4
  const core_1 = require("@nestjs/core");
4
5
  const app_module_1 = require("./app.module");
5
6
  const queue_service_1 = require("./platformUtility/services/queue.service");
@@ -16,7 +17,7 @@ async function bootstrap() {
16
17
  async function assertRedisReachable(queueService) {
17
18
  try {
18
19
  const queue = queueService.getQueueInstance();
19
- const client = await queue.client;
20
+ const client = await queue.getBackend().client;
20
21
  const info = await Promise.race([
21
22
  client.info(),
22
23
  new Promise((_, reject) => setTimeout(() => reject(new Error(`timed out after ${REDIS_PING_TIMEOUT_MS}ms`)), REDIS_PING_TIMEOUT_MS)),
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAC3C,6CAAyC;AACzC,4EAAwE;AAOxE,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAEnC,KAAK,UAAU,SAAS;IACpB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAC;IAC1D,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;IAEtE,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;IAEhD,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC1B,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAQjB,MAAM,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,4BAAY,CAAC,CAAC,CAAC;IAElD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,YAA0B;IAC1D,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;QAKlC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC5B,MAAM,CAAC,IAAI,EAAE;YACb,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,qBAAqB,IAAI,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAC3G;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,yCAAyC,OAAO,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACxB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":";;AAEA,wBAAsB;AACtB,uCAA2C;AAC3C,6CAAyC;AACzC,4EAAwE;AAOxE,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAEnC,KAAK,UAAU,SAAS;IACpB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAC;IAC1D,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;IAEtE,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;IAEhD,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC1B,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAQjB,MAAM,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,4BAAY,CAAC,CAAC,CAAC;IAElD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,YAA0B;IAC1D,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAE9C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC;QAI/C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC5B,MAAM,CAAC,IAAI,EAAE;YACb,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,qBAAqB,IAAI,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAC3G;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,yCAAyC,OAAO,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACxB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -5,16 +5,18 @@
5
5
  package's security defaults:
6
6
 
7
7
  - `LogRedactor` on every outbound event (`beforeSend`)
8
- - `includeLocalVariables: false`, `sendDefaultPii: false`
9
- - Redacted request context and auth user (`id` + `email` only)
8
+ - `includeLocalVariables: false`, and an explicit restrictive `dataCollection` (Sentry v11 replaced
9
+ `sendDefaultPii`; its default now collects cookies, bodies, DB query data and queue payloads — the
10
+ package pins the old `sendDefaultPii: false` baseline instead)
11
+ - Auth user (`id` + `email` only) on the request scope
10
12
  - HTTP **5xx** reporting (4xx `HttpException` values stay out of Sentry)
11
13
  - **No reporting from queue worker processes** (`worker.ts` entrypoint) unless opted in
12
14
  with `SENTRY_ENABLE_WORKER=true` (see §5)
13
15
  - Quiet one-line **ERROR** logs in local/dev (full stacks still go to Sentry)
14
16
 
15
- Peer dependencies `@sentry/nestjs`, `@sentry/node`, and `@sentry/core` are bundled
16
- with this package — you do not install them separately unless you call the SDK
17
- directly.
17
+ `@sentry/nestjs` (v11) is a dependency of this package and pins its own `@sentry/node` /
18
+ `@sentry/core` — do not add separately-ranged `@sentry/*` packages to your app, or a second
19
+ SDK copy can end up with its own (uninitialised) client.
18
20
 
19
21
  ## 1. Environment variables
20
22
 
@@ -33,19 +35,14 @@ via `worker.ts` / `dist/worker.js` unless that process also has `SENTRY_ENABLE_W
33
35
 
34
36
  ## 2. Early init (`instrument.ts`)
35
37
 
36
- Sentry must initialize **before** Nest bootstraps. Create `src/instrument.ts` in your
37
- application:
38
+ Sentry must initialize **before** `@nestjs/*`, `express`, `pg`, `ioredis` and `bullmq` are
39
+ loaded — its instrumentation only applies to modules loaded after `init()`, and v11 no
40
+ longer warns when that order is wrong.
38
41
 
39
- ```typescript
40
- import { initSentry } from '@servicelabsco/nestjs-utility-services';
41
-
42
- initSentry();
43
- ```
44
-
45
- Import it as the **first line** of `main.ts`:
42
+ Import the package's side-effect-only instrument file as the **first line** of `main.ts`:
46
43
 
47
44
  ```typescript
48
- import './instrument';
45
+ import '@servicelabsco/nestjs-utility-services/dist/instrument';
49
46
 
50
47
  import { NestFactory } from '@nestjs/core';
51
48
  import { AppModule } from './app.module';
@@ -57,7 +54,15 @@ async function bootstrap() {
57
54
  bootstrap();
58
55
  ```
59
56
 
60
- Import `./instrument` as the first line of `worker.ts` too. `initSentry()` is a
57
+ Do **not** use `import { initSentry } from '@servicelabsco/nestjs-utility-services'` for
58
+ this: the package barrel loads every module (and with them Nest, TypeORM/pg, ioredis,
59
+ BullMQ) *before* `initSentry()` runs, so none of those get instrumented. `dist/instrument`
60
+ loads only `dotenv` and the Sentry SDK.
61
+
62
+ Alternatively preload it: `node --import @servicelabsco/nestjs-utility-services/dist/instrument.js dist/main.js`.
63
+ Never use `--require` — Sentry v11 does not support it.
64
+
65
+ Add the same import as the first line of `worker.ts` too. `initSentry()` is a
61
66
  no-op on the worker entrypoint unless `SENTRY_ENABLE_WORKER=true`, so importing it
62
67
  is safe either way and lets each deployment decide through env alone.
63
68
 
@@ -94,7 +99,7 @@ runs without Sentry.
94
99
 
95
100
  1. `SentryModule.forRoot()` — official Nest SDK integration + HTTP transaction naming
96
101
  2. `SentryReportingFilter` — global exception filter (must stay ahead of custom filters)
97
- 3. `SentryUserScopeInterceptor` — per-request user + redacted request on the Sentry scope
102
+ 3. `SentryUserScopeInterceptor` — per-request auth user on the Sentry scope
98
103
 
99
104
  If you define your own global `APP_FILTER`, register `SentryReportingModule` **before**
100
105
  any custom exception filters, or compose filters explicitly so Sentry still runs first.
@@ -102,7 +107,7 @@ any custom exception filters, or compose filters explicitly so Sentry still runs
102
107
  ## 4. Manual `captureException`
103
108
 
104
109
  Prefer the package's lazy `SentrySdk` over importing `@sentry/*` directly. A top-level
105
- `import * as Sentry from '@sentry/node'` loads the SDK (~14 MB heap, ~1,300 modules) into every
110
+ `import * as Sentry from '@sentry/nestjs'` loads the SDK (~14 MB heap, ~1,300 modules) into every
106
111
  process, including those where Sentry is off; `SentrySdk` only loads it when Sentry is enabled
107
112
  for the process and is a no-op otherwise. Events pass through the same `beforeSend` redaction
108
113
  configured in `initSentry()`.
@@ -114,7 +119,8 @@ SentrySdk.captureException(error, { tags: { service: 'MyService' } });
114
119
  ```
115
120
 
116
121
  On HTTP requests, `SentryUserScopeInterceptor` already attaches the authenticated user
117
- (from `Auth.user()`) and a redacted request snapshot to the isolation scope.
122
+ (from `Auth.user()`) to the isolation scope; request data comes from the SDK itself,
123
+ filtered by `dataCollection` and then `beforeSend` redaction.
118
124
 
119
125
  ## 5. Workers
120
126
 
@@ -152,5 +158,5 @@ for your CI/CD pipeline.
152
158
  The standalone dev app in this repository follows the same pattern:
153
159
 
154
160
  - `src/instrument.ts` → `initSentry()`
155
- - `src/main.ts` → `import './instrument'` first
161
+ - `src/main.ts` and `src/worker.ts` → `import './instrument'` first
156
162
  - `src/app.module.ts` → `SentryReportingModule.forRoot()`
@@ -0,0 +1,174 @@
1
+ # ServiceLabs utilities
2
+
3
+ `ServicelabsUtilityService` calls the [ServiceLabs utilities API](https://servicelabs.dev/docs/):
4
+ HTML → PDF, split PDF, zip, unzip and XLS → XLSX behind one API key. Every utility can run **sync**
5
+ (wait for the result) or **async** (get a job id back, then a signed callback or a poll).
6
+
7
+ ServiceLabs keeps its output files for 30 days only, so nu copies them into the app's default
8
+ storage engine (`STORAGE_ENGINE`: S3 or R2) and hands back links to that copy.
9
+
10
+ ## Setup
11
+
12
+ | Property | Value |
13
+ | --- | --- |
14
+ | `servicelabs.api.key` | The service's API key (`du_live_…`), from the ServiceLabs console. One key per service. |
15
+ | `servicelabs.webhook.secret` | The key's callback signing secret (`whsec_…`). Needed only for async callbacks. |
16
+ | `servicelabs.api.url` | Optional. Defaults to `https://api.servicelabs.dev`. |
17
+
18
+ `PdfService.convert`, `SplitPdfService.split` and `ZipService.zip` / `unzip` switch to ServiceLabs as
19
+ soon as `servicelabs.api.key` is set. Their return shapes do not change; without the key they keep
20
+ calling the Lambda URLs. Set the key in one environment, check the output, then move the next one.
21
+
22
+ ## Sync
23
+
24
+ The helpers run the utility, wait for it, copy the output into storage and return the stored files.
25
+ Use them where the caller can wait: a typical PDF takes a few seconds, but the call can take minutes
26
+ on a large input (nu long-polls past ServiceLabs' 90 s sync budget).
27
+
28
+ ```ts
29
+ constructor(private readonly servicelabs: ServicelabsUtilityService) {}
30
+
31
+ const pdf = await this.servicelabs.htmlToPdf('https://…/invoice.html', { format: 'A4' });
32
+ // pdf: { url, bucket, key, size, contentType, name } — key: servicelabs/html-pdf/<date>/<job id>/<file>
33
+
34
+ const pages = await this.servicelabs.splitPdf('s3://finnoto-data/uploads/statement.pdf'); // [{ …, pageNumber }]
35
+ const zip = await this.servicelabs.zipFiles([{ url: 'https://…/a.pdf', fileName: 'invoices/a.pdf' }]);
36
+ const files = await this.servicelabs.unzipFiles('https://…/bundle.zip'); // [{ …, path }]
37
+ const xlsx = await this.servicelabs.xlsToXlsx('https://…/report.xls');
38
+ ```
39
+
40
+ Every helper takes run options (`metadata`, `idempotencyKey`, `waitTimeoutMs`, `source` for a
41
+ `RemoteRequestLogEntity` row) and store options (`folder`, default `servicelabs`; `visibility`, default
42
+ `public`; `engine`). A utility that fails throws `OperationException` with ServiceLabs' error code and
43
+ message, e.g. `upstream_rejected: Password-protected PDFs are not supported`.
44
+
45
+ ## Async
46
+
47
+ For batches, large inputs and anything a user is not waiting on. `create…Job` answers at once with the
48
+ queued job:
49
+
50
+ ```ts
51
+ const job = await this.servicelabs.createSplitPdfJob(url, {
52
+ callbackUrl: 'https://api.example.com/webhooks/servicelabs',
53
+ metadata: { statementId: statement.id },
54
+ idempotencyKey: `statement-${statement.id}`,
55
+ });
56
+ ```
57
+
58
+ `createHtmlPdfJob`, `createSplitPdfJob`, `createZipFilesJob`, `createUnzipFilesJob`,
59
+ `createXlsToXlsxJob`, or `createJob(slug, input, options)` for any utility.
60
+
61
+ ### Receiving the callback
62
+
63
+ Mount `CommonServicelabsCallbackController` on your own route. It verifies the Standard Webhooks
64
+ signature, answers `204` and calls `onJobFinished`:
65
+
66
+ ```ts
67
+ @Controller('webhooks/servicelabs')
68
+ export class ServicelabsCallbackController extends CommonServicelabsCallbackController {
69
+ constructor(
70
+ servicelabsUtilityService: ServicelabsUtilityService,
71
+ private readonly statementSplitJob: StatementSplitJob
72
+ ) {
73
+ super(servicelabsUtilityService);
74
+ }
75
+
76
+ protected async onJobFinished(event: ServicelabsCallbackEventInterface): Promise<void> {
77
+ await this.statementSplitJob.dispatch(event.data);
78
+ }
79
+ }
80
+ ```
81
+
82
+ ```ts
83
+ // in the job: copy the output, then use event.data.metadata to find your record
84
+ const pages = await this.servicelabsUtilityService.storeFiles(job);
85
+ ```
86
+
87
+ - **Raw body.** The signature covers the exact bytes received. Create the app with
88
+ `NestFactory.create(AppModule, { rawBody: true })`, or every callback is refused.
89
+ - **Route.** The signature is the authentication. Mount the controller outside `api/…`, where
90
+ `RestrictedMiddleware` would demand a logged-in user. `callbackUrl` must be public `https://`.
91
+ - **Answer fast.** ServiceLabs waits 10 s for a 2xx and retries anything else (8 attempts over about
92
+ 21 minutes). Copying files can take longer, so dispatch a job from `onJobFinished`.
93
+ - **Duplicates.** The same callback can arrive twice. De-duplicate on `event.data.id`.
94
+ - **Several API keys.** Override `signingSecret()` to choose the secret per request.
95
+
96
+ Apps with their own webhook route can call `servicelabsUtilityService.verifyCallback(rawBody, headers)`
97
+ directly.
98
+
99
+ ### Polling instead
100
+
101
+ ```ts
102
+ const finished = await this.servicelabs.waitForJob(job.id); // long-polls ?wait=60 until final
103
+ const files = await this.servicelabs.storeFiles(finished); // throws unless it succeeded
104
+ ```
105
+
106
+ `getJob(id, waitSeconds)`, `listJobs({ utility, status, limit, cursor })` and `cancelJob(id)` (queued
107
+ jobs only) cover the rest. Callbacks are a notification, not the source of truth: a periodic
108
+ `listJobs({ status: 'succeeded' })` reconcile catches anything missed while the receiver was down.
109
+
110
+ ## The bare API: `ServicelabsDevService`
111
+
112
+ `ServicelabsUtilityService` is built on `ServicelabsDevService`, which apps can inject directly to
113
+ use the API as it is: one method per [operation](https://servicelabs.dev/docs/reference/operations/),
114
+ the API's own request body, and its raw answer.
115
+
116
+ | Method | Operation |
117
+ | --- | --- |
118
+ | `runHtmlPdf`, `runSplitPdf`, `runZipFiles`, `runUnzipFiles`, `runXlsToXlsx`, `runUtility(slug, …)` | `POST /v1/utilities/{slug}` (sync) |
119
+ | `createHtmlPdfJob`, `createSplitPdfJob`, `createZipFilesJob`, `createUnzipFilesJob`, `createXlsToXlsxJob`, `createUtilityJob(slug, …)` | `POST /v1/utilities/{slug}/jobs` (async) |
120
+ | `getJob(id, { wait })`, `listJobs(query)`, `cancelJob(id)` | `GET /v1/jobs/{id}`, `GET /v1/jobs`, `POST /v1/jobs/{id}/cancel` |
121
+ | `listUtilities()`, `getUtility(slug)`, `getOpenApi()` | catalog and `GET /v1/openapi.json` |
122
+ | `verifyCallback(rawBody, headers, secret?)` | Standard Webhooks signature check |
123
+
124
+ ```ts
125
+ const response = await this.servicelabsDevService.runSplitPdf(
126
+ { input: { url }, metadata: { statementId: 7 } },
127
+ { idempotencyKey: 'statement-7', requestId: 'req-123' }
128
+ );
129
+ // response: { success, status, data, headers }
130
+ if (response.status === 202) {
131
+ // still running after 90 s: poll response.data.id (response.headers.location)
132
+ }
133
+ ```
134
+
135
+ Every call returns `{ success, status, data, headers }` and does not throw for API answers. A refused
136
+ request comes back with its `{ error: { code, message, details } }` body and status (`429` with
137
+ `retry-after` in `headers`), a failed sync run with the failed job, and a run past 90 s as `202`.
138
+ Results stay on ServiceLabs' storage (30 days); copy them with `ServicelabsUtilityService.storeFiles`
139
+ if you need them longer. Call options: `idempotencyKey`, `respondAsync` (`Prefer: respond-async`),
140
+ `requestId` (`X-Request-Id`), `timeout`, and `source` for a `RemoteRequestLogEntity` row. The only
141
+ throws are a missing API key and an empty id or slug.
142
+
143
+ ## From stored scripts and code evaluation
144
+
145
+ Both services are exposed to the script runtime under their registry hashes
146
+ (`md5('platformUtility:<ClassName>')`), so eval and code-eval scripts reach them with `fn.getService`:
147
+
148
+ | Service | Hash |
149
+ | --- | --- |
150
+ | `ServicelabsUtilityService` | `f7943f26e51e694f1338906b2770bd45` |
151
+ | `ServicelabsDevService` | `f04986ac567c8b0c4c5f8af2161be73d` |
152
+
153
+ ```js
154
+ const servicelabs = fn.getService('f7943f26e51e694f1338906b2770bd45');
155
+ const pdf = await servicelabs.htmlToPdf(htmlUrl, { format: 'A4' });
156
+
157
+ const dev = fn.getService('f04986ac567c8b0c4c5f8af2161be73d');
158
+ const response = await dev.getJob(jobId, { wait: 30 });
159
+ ```
160
+
161
+ To look a service up by a readable identifier instead (`getServiceInstance('servicelabs')`), add a
162
+ `sys_service_details` row mapping that identifier to the hash, as for any other service.
163
+
164
+ ## Limits
165
+
166
+ | | |
167
+ | --- | --- |
168
+ | Sync budget | 90 s, then the job keeps running and nu long-polls it |
169
+ | Utility time limit | 900 s (300 s for XLS → XLSX) |
170
+ | Inputs | `http(s)://` everywhere; `s3://` (the `finnoto-data` bucket) for html-pdf, split-pdf, unzip-files |
171
+ | Split PDF | ≤ 150 MB, ≤ 500 pages, no password-protected files |
172
+ | Zip | 1–500 files, unique relative `fileName`s |
173
+ | Rate limit | 600 requests / minute / key by default; polling counts |
174
+ | ServiceLabs retention | Output files 30 days, job records 90 days |