@neohm/nestend 3.3.7 → 3.3.9

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 (202) hide show
  1. package/README.md +124 -71
  2. package/dist/admin/controllers/admin.tenant.user.controller.js +1 -1
  3. package/dist/admin/controllers/admin.tenant.user.controller.js.map +1 -1
  4. package/dist/admin/dtos/add.admin.user.dto.d.ts +2 -2
  5. package/dist/admin/dtos/add.admin.user.dto.d.ts.map +1 -1
  6. package/dist/admin/dtos/add.admin.user.dto.js +2 -2
  7. package/dist/admin/dtos/add.admin.user.dto.js.map +1 -1
  8. package/dist/admin/dtos/add.scheduled.task.dto.d.ts +2 -2
  9. package/dist/admin/dtos/add.scheduled.task.dto.d.ts.map +1 -1
  10. package/dist/admin/dtos/add.scheduled.task.dto.js +2 -2
  11. package/dist/admin/dtos/add.scheduled.task.dto.js.map +1 -1
  12. package/dist/admin/dtos/add.scope.dto.d.ts +2 -2
  13. package/dist/admin/dtos/add.scope.dto.d.ts.map +1 -1
  14. package/dist/admin/dtos/add.scope.dto.js +2 -2
  15. package/dist/admin/dtos/add.scope.dto.js.map +1 -1
  16. package/dist/admin/dtos/add.system.role.dto.d.ts +2 -2
  17. package/dist/admin/dtos/add.system.role.dto.d.ts.map +1 -1
  18. package/dist/admin/dtos/add.system.role.dto.js +2 -2
  19. package/dist/admin/dtos/add.system.role.dto.js.map +1 -1
  20. package/dist/admin/dtos/add.tenant.dto.d.ts +2 -2
  21. package/dist/admin/dtos/add.tenant.dto.d.ts.map +1 -1
  22. package/dist/admin/dtos/add.tenant.dto.js +2 -2
  23. package/dist/admin/dtos/add.tenant.dto.js.map +1 -1
  24. package/dist/admin/dtos/base.user.dto.d.ts +2 -2
  25. package/dist/admin/dtos/base.user.dto.d.ts.map +1 -1
  26. package/dist/admin/dtos/base.user.dto.js +2 -2
  27. package/dist/admin/dtos/base.user.dto.js.map +1 -1
  28. package/dist/admin/libraries/admin.user.data.processor.js +1 -1
  29. package/dist/admin/libraries/admin.user.data.processor.js.map +1 -1
  30. package/dist/admin/libraries/admin.user.delete.processor.js +2 -2
  31. package/dist/admin/libraries/admin.user.delete.processor.js.map +1 -1
  32. package/dist/admin/libraries/api.key.data.processor.js +1 -1
  33. package/dist/admin/libraries/api.key.data.processor.js.map +1 -1
  34. package/dist/admin/libraries/bulk.user.data.processor.js +2 -2
  35. package/dist/admin/libraries/bulk.user.data.processor.js.map +1 -1
  36. package/dist/admin/libraries/client.user.data.processor.js +2 -2
  37. package/dist/admin/libraries/client.user.data.processor.js.map +1 -1
  38. package/dist/admin/libraries/client.user.delete.processor.js +1 -1
  39. package/dist/admin/libraries/client.user.delete.processor.js.map +1 -1
  40. package/dist/admin/libraries/scheduled.task.data.processor.js +1 -1
  41. package/dist/admin/libraries/scheduled.task.data.processor.js.map +1 -1
  42. package/dist/admin/libraries/scheduled.task.delete.processor.js +1 -1
  43. package/dist/admin/libraries/scheduled.task.delete.processor.js.map +1 -1
  44. package/dist/admin/libraries/scope.data.processor.js +1 -1
  45. package/dist/admin/libraries/scope.data.processor.js.map +1 -1
  46. package/dist/admin/libraries/system.role.data.processor.js +1 -1
  47. package/dist/admin/libraries/system.role.data.processor.js.map +1 -1
  48. package/dist/admin/libraries/system.user.data.processor.js +1 -1
  49. package/dist/admin/libraries/system.user.data.processor.js.map +1 -1
  50. package/dist/admin/libraries/tenant.data.processor.js +1 -1
  51. package/dist/admin/libraries/tenant.data.processor.js.map +1 -1
  52. package/dist/admin/libraries/tenant.delete.processor.js +2 -2
  53. package/dist/admin/libraries/tenant.delete.processor.js.map +1 -1
  54. package/dist/auth/controllers/auth.controller.d.ts +1 -0
  55. package/dist/auth/controllers/auth.controller.d.ts.map +1 -1
  56. package/dist/auth/controllers/auth.controller.js +5 -1
  57. package/dist/auth/controllers/auth.controller.js.map +1 -1
  58. package/dist/auth/entities/user.entity.d.ts +2 -2
  59. package/dist/auth/entities/user.entity.d.ts.map +1 -1
  60. package/dist/auth/entities/user.entity.js +3 -3
  61. package/dist/auth/entities/user.entity.js.map +1 -1
  62. package/dist/auth/processors/change.password.data.processor.js +2 -2
  63. package/dist/auth/processors/change.password.data.processor.js.map +1 -1
  64. package/dist/auth/processors/register.user.data.processor.js +1 -1
  65. package/dist/auth/processors/register.user.data.processor.js.map +1 -1
  66. package/dist/auth/services/auth.service.js +2 -2
  67. package/dist/auth/services/auth.service.js.map +1 -1
  68. package/dist/auth/services/impersonation.service.d.ts.map +1 -1
  69. package/dist/auth/services/impersonation.service.js +5 -4
  70. package/dist/auth/services/impersonation.service.js.map +1 -1
  71. package/dist/auth/types/auth.types.d.ts +1 -0
  72. package/dist/auth/types/auth.types.d.ts.map +1 -1
  73. package/dist/common/dtos/common.data.dto.d.ts +4 -0
  74. package/dist/common/dtos/common.data.dto.d.ts.map +1 -0
  75. package/dist/common/dtos/{common.payload.dto.js → common.data.dto.js} +5 -5
  76. package/dist/common/dtos/common.data.dto.js.map +1 -0
  77. package/dist/common/dtos/common.list.filter.dto.d.ts.map +1 -1
  78. package/dist/common/dtos/common.list.filter.dto.js +22 -0
  79. package/dist/common/dtos/common.list.filter.dto.js.map +1 -1
  80. package/dist/common/dtos/common.params.dto.d.ts +1 -0
  81. package/dist/common/dtos/common.params.dto.d.ts.map +1 -1
  82. package/dist/common/dtos/common.params.dto.js +6 -0
  83. package/dist/common/dtos/common.params.dto.js.map +1 -1
  84. package/dist/common/dtos/filter.dto.d.ts.map +1 -1
  85. package/dist/common/dtos/filter.dto.js +15 -0
  86. package/dist/common/dtos/filter.dto.js.map +1 -1
  87. package/dist/common/dtos/sort.dto.d.ts.map +1 -1
  88. package/dist/common/dtos/sort.dto.js +8 -0
  89. package/dist/common/dtos/sort.dto.js.map +1 -1
  90. package/dist/common/entities/system.audit.log.entity.d.ts +3 -3
  91. package/dist/common/entities/system.audit.log.entity.d.ts.map +1 -1
  92. package/dist/common/entities/system.audit.log.entity.js +6 -6
  93. package/dist/common/entities/system.audit.log.entity.js.map +1 -1
  94. package/dist/common/es6.classes.d.ts +2 -2
  95. package/dist/common/es6.classes.d.ts.map +1 -1
  96. package/dist/common/es6.classes.js +2 -2
  97. package/dist/common/es6.classes.js.map +1 -1
  98. package/dist/common/libraries/common.data.processor.d.ts +1 -1
  99. package/dist/common/libraries/common.data.processor.d.ts.map +1 -1
  100. package/dist/common/libraries/common.data.processor.js +1 -1
  101. package/dist/common/libraries/common.data.processor.js.map +1 -1
  102. package/dist/common/services/audit.service.d.ts +4 -4
  103. package/dist/common/services/audit.service.js +15 -15
  104. package/dist/common/services/audit.service.js.map +1 -1
  105. package/dist/common/services/queue.service.d.ts +3 -2
  106. package/dist/common/services/queue.service.d.ts.map +1 -1
  107. package/dist/common/services/queue.service.js +15 -1
  108. package/dist/common/services/queue.service.js.map +1 -1
  109. package/dist/common/subscribers/common.subscriber.d.ts +3 -5
  110. package/dist/common/subscribers/common.subscriber.d.ts.map +1 -1
  111. package/dist/common/subscribers/common.subscriber.js +13 -25
  112. package/dist/common/subscribers/common.subscriber.js.map +1 -1
  113. package/dist/common/types/audit.types.d.ts +4 -4
  114. package/dist/common/types/audit.types.d.ts.map +1 -1
  115. package/dist/common/types/queue.types.d.ts +10 -0
  116. package/dist/common/types/queue.types.d.ts.map +1 -1
  117. package/dist/constants/entity.constants.d.ts +1 -0
  118. package/dist/constants/entity.constants.d.ts.map +1 -1
  119. package/dist/constants/entity.constants.js +1 -0
  120. package/dist/constants/entity.constants.js.map +1 -1
  121. package/dist/constants/entity.maps.d.ts +3 -1
  122. package/dist/constants/entity.maps.d.ts.map +1 -1
  123. package/dist/constants/entity.maps.js +3 -1
  124. package/dist/constants/entity.maps.js.map +1 -1
  125. package/dist/constants/job.constants.d.ts +1 -0
  126. package/dist/constants/job.constants.d.ts.map +1 -1
  127. package/dist/constants/job.constants.js +1 -0
  128. package/dist/constants/job.constants.js.map +1 -1
  129. package/dist/document/controllers/document.controller.d.ts +15 -0
  130. package/dist/document/controllers/document.controller.d.ts.map +1 -0
  131. package/dist/document/controllers/document.controller.js +88 -0
  132. package/dist/document/controllers/document.controller.js.map +1 -0
  133. package/dist/document/document.module.d.ts.map +1 -1
  134. package/dist/document/document.module.js +37 -1
  135. package/dist/document/document.module.js.map +1 -1
  136. package/dist/document/dtos/set.document.dto.d.ts +6 -0
  137. package/dist/document/dtos/set.document.dto.d.ts.map +1 -0
  138. package/dist/document/dtos/set.document.dto.js +43 -0
  139. package/dist/document/dtos/set.document.dto.js.map +1 -0
  140. package/dist/document/dtos/upload.document.dto.d.ts +4 -0
  141. package/dist/document/dtos/upload.document.dto.d.ts.map +1 -0
  142. package/dist/document/dtos/upload.document.dto.js +31 -0
  143. package/dist/document/dtos/upload.document.dto.js.map +1 -0
  144. package/dist/document/entities/document.entity.d.ts +10 -0
  145. package/dist/document/entities/document.entity.d.ts.map +1 -0
  146. package/dist/document/entities/document.entity.js +43 -0
  147. package/dist/document/entities/document.entity.js.map +1 -0
  148. package/dist/{common/entities/document.entity.d.ts → document/entities/document.upload.entity.d.ts} +6 -7
  149. package/dist/document/entities/document.upload.entity.d.ts.map +1 -0
  150. package/dist/{common/entities/document.entity.js → document/entities/document.upload.entity.js} +24 -28
  151. package/dist/document/entities/document.upload.entity.js.map +1 -0
  152. package/dist/document/enums/document.default.enum.d.ts +10 -1
  153. package/dist/document/enums/document.default.enum.d.ts.map +1 -1
  154. package/dist/document/enums/document.default.enum.js +11 -1
  155. package/dist/document/enums/document.default.enum.js.map +1 -1
  156. package/dist/document/es6.classes.d.ts +10 -4
  157. package/dist/document/es6.classes.d.ts.map +1 -1
  158. package/dist/document/es6.classes.js +10 -4
  159. package/dist/document/es6.classes.js.map +1 -1
  160. package/dist/document/jobs/clean.orphan.documents.job.d.ts +16 -0
  161. package/dist/document/jobs/clean.orphan.documents.job.d.ts.map +1 -0
  162. package/dist/document/jobs/clean.orphan.documents.job.js +63 -0
  163. package/dist/document/jobs/clean.orphan.documents.job.js.map +1 -0
  164. package/dist/document/services/document.service.d.ts +18 -11
  165. package/dist/document/services/document.service.d.ts.map +1 -1
  166. package/dist/document/services/document.service.js +96 -46
  167. package/dist/document/services/document.service.js.map +1 -1
  168. package/dist/document/subscribers/document.subscriber.d.ts +11 -0
  169. package/dist/document/subscribers/document.subscriber.d.ts.map +1 -0
  170. package/dist/document/subscribers/document.subscriber.js +44 -0
  171. package/dist/document/subscribers/document.subscriber.js.map +1 -0
  172. package/dist/document/subscribers/document.upload.subscriber.d.ts +9 -0
  173. package/dist/document/subscribers/document.upload.subscriber.d.ts.map +1 -0
  174. package/dist/document/subscribers/document.upload.subscriber.js +31 -0
  175. package/dist/document/subscribers/document.upload.subscriber.js.map +1 -0
  176. package/dist/document/types/document.types.d.ts +0 -11
  177. package/dist/document/types/document.types.d.ts.map +1 -1
  178. package/dist/index.d.ts +7 -5
  179. package/dist/index.d.ts.map +1 -1
  180. package/dist/index.js +11 -6
  181. package/dist/index.js.map +1 -1
  182. package/dist/migrations/1749600000012.CreateSysAuditLogsTable.d.ts.map +1 -1
  183. package/dist/migrations/1749600000012.CreateSysAuditLogsTable.js +4 -4
  184. package/dist/migrations/1749600000012.CreateSysAuditLogsTable.js.map +1 -1
  185. package/dist/migrations/{1749600000013.CreateSysDocumentDetailsTable.d.ts → 1749600000013.CreateSysDocumentUploadsTable.d.ts} +2 -2
  186. package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.d.ts.map +1 -0
  187. package/dist/migrations/{1749600000013.CreateSysDocumentDetailsTable.js → 1749600000013.CreateSysDocumentUploadsTable.js} +9 -10
  188. package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.js.map +1 -0
  189. package/dist/migrations/1749600000028.CreateSysDocumentsTable.d.ts +6 -0
  190. package/dist/migrations/1749600000028.CreateSysDocumentsTable.d.ts.map +1 -0
  191. package/dist/migrations/1749600000028.CreateSysDocumentsTable.js +29 -0
  192. package/dist/migrations/1749600000028.CreateSysDocumentsTable.js.map +1 -0
  193. package/dist/tenant/entities/tenant.entity.js +3 -3
  194. package/dist/tenant/entities/tenant.entity.js.map +1 -1
  195. package/package.json +1 -1
  196. package/dist/common/dtos/common.payload.dto.d.ts +0 -4
  197. package/dist/common/dtos/common.payload.dto.d.ts.map +0 -1
  198. package/dist/common/dtos/common.payload.dto.js.map +0 -1
  199. package/dist/common/entities/document.entity.d.ts.map +0 -1
  200. package/dist/common/entities/document.entity.js.map +0 -1
  201. package/dist/migrations/1749600000013.CreateSysDocumentDetailsTable.d.ts.map +0 -1
  202. package/dist/migrations/1749600000013.CreateSysDocumentDetailsTable.js.map +0 -1
@@ -0,0 +1,88 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DocumentController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const platform_express_1 = require("@nestjs/platform-express");
18
+ const swagger_1 = require("@nestjs/swagger");
19
+ const auth_service_1 = require("../../auth/services/auth.service");
20
+ const set_document_dto_1 = require("../dtos/set.document.dto");
21
+ const upload_document_dto_1 = require("../dtos/upload.document.dto");
22
+ const document_default_enum_1 = require("../enums/document.default.enum");
23
+ const document_service_1 = require("../services/document.service");
24
+ let DocumentController = class DocumentController {
25
+ constructor(documentService, authService) {
26
+ this.documentService = documentService;
27
+ this.authService = authService;
28
+ }
29
+ async upload(files, dto) {
30
+ await this.authService.validateRole();
31
+ this.documentService.assertUploadable(files);
32
+ return this.documentService.uploadDocuments(files, {
33
+ pathPrefix: await this.documentService.resolvePathPrefix(dto.path_identifier),
34
+ isPublic: true,
35
+ });
36
+ }
37
+ async set(dto) {
38
+ await this.authService.validateRole();
39
+ return this.documentService.setDocument(dto);
40
+ }
41
+ };
42
+ exports.DocumentController = DocumentController;
43
+ __decorate([
44
+ (0, common_1.Post)('upload'),
45
+ (0, swagger_1.ApiConsumes)('multipart/form-data'),
46
+ (0, swagger_1.ApiOperation)({
47
+ summary: 'Upload one or more files to the active storage driver.',
48
+ description: 'Send the files under the `files` field. The destination folder is not a caller-supplied path: `path_identifier` names a `document.path.*` system property, and its value is the key prefix. Every file is recorded in sys_document_uploads and those rows are the response. Attaching an upload to one of your own records is a separate step (`POST /api/documents/set`), so nothing is written to sys_documents here.',
49
+ }),
50
+ (0, swagger_1.ApiBody)({
51
+ schema: {
52
+ type: 'object',
53
+ required: [document_default_enum_1.DocumentConstant.UPLOAD_FIELD_NAME, 'path_identifier'],
54
+ properties: {
55
+ [document_default_enum_1.DocumentConstant.UPLOAD_FIELD_NAME]: {
56
+ type: 'array',
57
+ items: { type: 'string', format: 'binary' },
58
+ },
59
+ path_identifier: { type: 'string', example: 'invoice' },
60
+ },
61
+ },
62
+ }),
63
+ (0, common_1.UseInterceptors)((0, platform_express_1.FilesInterceptor)(document_default_enum_1.DocumentConstant.UPLOAD_FIELD_NAME)),
64
+ __param(0, (0, common_1.UploadedFiles)()),
65
+ __param(1, (0, common_1.Body)()),
66
+ __metadata("design:type", Function),
67
+ __metadata("design:paramtypes", [Array, upload_document_dto_1.UploadDocumentDto]),
68
+ __metadata("design:returntype", Promise)
69
+ ], DocumentController.prototype, "upload", null);
70
+ __decorate([
71
+ (0, common_1.Post)('set'),
72
+ (0, swagger_1.ApiOperation)({
73
+ summary: 'Attach an upload to one of your own records.',
74
+ description: 'Writes the sys_documents row linking `upload_id` to `source_type` / `source_id`. Attaching the same upload to the same record twice returns the existing link rather than duplicating it.',
75
+ }),
76
+ __param(0, (0, common_1.Body)()),
77
+ __metadata("design:type", Function),
78
+ __metadata("design:paramtypes", [set_document_dto_1.SetDocumentDto]),
79
+ __metadata("design:returntype", Promise)
80
+ ], DocumentController.prototype, "set", null);
81
+ exports.DocumentController = DocumentController = __decorate([
82
+ (0, swagger_1.ApiTags)('Documents'),
83
+ (0, swagger_1.ApiBearerAuth)(),
84
+ (0, common_1.Controller)('api/documents'),
85
+ __metadata("design:paramtypes", [document_service_1.DocumentService,
86
+ auth_service_1.AuthService])
87
+ ], DocumentController);
88
+ //# sourceMappingURL=document.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.controller.js","sourceRoot":"","sources":["../../../src/document/controllers/document.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAMwB;AACxB,+DAA4D;AAC5D,6CAMyB;AACzB,mEAA+D;AAC/D,+DAA0D;AAC1D,qEAAgE;AAChE,0EAAkE;AAClE,mEAA+D;AAiBxD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YACmB,eAAgC,EAChC,WAAwB;QADxB,oBAAe,GAAf,eAAe,CAAiB;QAChC,gBAAW,GAAX,WAAW,CAAa;IACxC,CAAC;IAuBE,AAAN,KAAK,CAAC,MAAM,CACO,KAAuB,EAChC,GAAsB;QAE9B,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAE7C,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,EAAE;YACjD,UAAU,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACtD,GAAG,CAAC,eAAe,CACpB;YACD,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAQK,AAAN,KAAK,CAAC,GAAG,CAAS,GAAmB;QACnC,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAEtC,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AArDY,gDAAkB;AA2BvB;IArBL,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,qBAAW,EAAC,qBAAqB,CAAC;IAClC,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,wDAAwD;QACjE,WAAW,EACT,yZAAyZ;KAC5Z,CAAC;IACD,IAAA,iBAAO,EAAC;QACP,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,wCAAgB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACjE,UAAU,EAAE;gBACV,CAAC,wCAAgB,CAAC,iBAAiB,CAAC,EAAE;oBACpC,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;iBAC5C;gBACD,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;aACxD;SACF;KACF,CAAC;IACD,IAAA,wBAAe,EAAC,IAAA,mCAAgB,EAAC,wCAAgB,CAAC,iBAAiB,CAAC,CAAC;IAEnE,WAAA,IAAA,sBAAa,GAAE,CAAA;IACf,WAAA,IAAA,aAAI,GAAE,CAAA;;4CAAM,uCAAiB;;gDAW/B;AAQK;IANL,IAAA,aAAI,EAAC,KAAK,CAAC;IACX,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,8CAA8C;QACvD,WAAW,EACT,2LAA2L;KAC9L,CAAC;IACS,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,iCAAc;;6CAIpC;6BApDU,kBAAkB;IAH9B,IAAA,iBAAO,EAAC,WAAW,CAAC;IACpB,IAAA,uBAAa,GAAE;IACf,IAAA,mBAAU,EAAC,eAAe,CAAC;qCAGU,kCAAe;QACnB,0BAAW;GAHhC,kBAAkB,CAqD9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"document.module.d.ts","sourceRoot":"","sources":["../../src/document/document.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AAIjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAiDpE,qBAIa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAE,qBAA0B,GAAG,aAAa;CAOpE"}
1
+ {"version":3,"file":"document.module.d.ts","sourceRoot":"","sources":["../../src/document/document.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AASjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AA8FpE,qBAMa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAE,qBAA0B,GAAG,aAAa;CAepE"}
@@ -10,19 +10,46 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.DocumentModule = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
12
  const typeorm_1 = require("@nestjs/typeorm");
13
+ const auth_module_1 = require("../auth/auth.module");
14
+ const queue_module_1 = require("../common/queue.module");
15
+ const queue_service_1 = require("../common/services/queue.service");
16
+ const system_property_service_1 = require("../common/services/system.property.service");
17
+ const system_property_module_1 = require("../common/system.property.module");
13
18
  const es6_classes_1 = require("./es6.classes");
14
19
  const [DocumentService, MinioBucketDocumentService, S3BucketDocumentService, PdfService,] = es6_classes_1.es6Classes.services;
20
+ const [DocumentSubscriber, DocumentUploadSubscriber] = es6_classes_1.es6Classes.subscribers;
21
+ const [CleanOrphanDocumentsJob] = es6_classes_1.es6Classes.jobs;
15
22
  function createDocumentProviders(options = {}) {
16
23
  return [
17
24
  S3BucketDocumentService,
18
25
  MinioBucketDocumentService,
19
26
  PdfService,
27
+ {
28
+ provide: DocumentSubscriber,
29
+ useFactory: (dataSource) => new DocumentSubscriber(dataSource),
30
+ inject: [(0, typeorm_1.getDataSourceToken)(options.dataSourceName)],
31
+ },
32
+ {
33
+ provide: DocumentUploadSubscriber,
34
+ useFactory: (dataSource) => new DocumentUploadSubscriber(dataSource),
35
+ inject: [(0, typeorm_1.getDataSourceToken)(options.dataSourceName)],
36
+ },
37
+ {
38
+ provide: CleanOrphanDocumentsJob,
39
+ useFactory: (queueService, documentService, dataSource) => new CleanOrphanDocumentsJob(queueService, documentService, dataSource),
40
+ inject: [
41
+ queue_service_1.QueueService,
42
+ DocumentService,
43
+ (0, typeorm_1.getDataSourceToken)(options.dataSourceName),
44
+ ],
45
+ },
20
46
  {
21
47
  provide: DocumentService,
22
- useFactory: (s3Service, minioService, dataSource) => new DocumentService(s3Service, minioService, dataSource),
48
+ useFactory: (s3Service, minioService, systemPropertyService, dataSource) => new DocumentService(s3Service, minioService, systemPropertyService, dataSource),
23
49
  inject: [
24
50
  S3BucketDocumentService,
25
51
  MinioBucketDocumentService,
52
+ system_property_service_1.SystemPropertyService,
26
53
  (0, typeorm_1.getDataSourceToken)(options.dataSourceName),
27
54
  ],
28
55
  },
@@ -30,6 +57,7 @@ function createDocumentProviders(options = {}) {
30
57
  }
31
58
  const documentExports = [
32
59
  DocumentService,
60
+ CleanOrphanDocumentsJob,
33
61
  S3BucketDocumentService,
34
62
  MinioBucketDocumentService,
35
63
  PdfService,
@@ -38,6 +66,12 @@ let DocumentModule = DocumentModule_1 = class DocumentModule {
38
66
  static register(options = {}) {
39
67
  return {
40
68
  module: DocumentModule_1,
69
+ imports: [
70
+ auth_module_1.AuthModule.register(options),
71
+ system_property_module_1.SystemPropertyModule.register(options),
72
+ queue_module_1.QueueModule,
73
+ ],
74
+ controllers: [...es6_classes_1.es6Classes.controllers],
41
75
  providers: createDocumentProviders(options),
42
76
  exports: documentExports,
43
77
  };
@@ -46,6 +80,8 @@ let DocumentModule = DocumentModule_1 = class DocumentModule {
46
80
  exports.DocumentModule = DocumentModule;
47
81
  exports.DocumentModule = DocumentModule = DocumentModule_1 = __decorate([
48
82
  (0, common_1.Module)({
83
+ imports: [auth_module_1.AuthModule, system_property_module_1.SystemPropertyModule, queue_module_1.QueueModule],
84
+ controllers: [...es6_classes_1.es6Classes.controllers],
49
85
  providers: createDocumentProviders(),
50
86
  exports: documentExports,
51
87
  })
@@ -1 +1 @@
1
- {"version":3,"file":"document.module.js","sourceRoot":"","sources":["../../src/document/document.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAiE;AACjE,6CAAqD;AAErD,+CAA2C;AAI3C,MAAM,CACJ,eAAe,EACf,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACX,GAAG,wBAAU,CAAC,QAAQ,CAAC;AAExB,SAAS,uBAAuB,CAC9B,UAAiC,EAAE;IAEnC,OAAO;QACL,uBAAuB;QACvB,0BAA0B;QAG1B,UAAU;QACV;YACE,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,CACV,SAAuD,EACvD,YAA6D,EAC7D,UAAsB,EACtB,EAAE,CAAC,IAAI,eAAe,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC;YAC7D,MAAM,EAAE;gBACN,uBAAuB;gBACvB,0BAA0B;gBAC1B,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC;aAC3C;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAG;IACtB,eAAe;IACf,uBAAuB;IACvB,0BAA0B;IAC1B,UAAU;CACX,CAAC;AAcK,IAAM,cAAc,sBAApB,MAAM,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,UAAiC,EAAE;QACjD,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,SAAS,EAAE,uBAAuB,CAAC,OAAO,CAAC;YAC3C,OAAO,EAAE,eAAe;SACzB,CAAC;IACJ,CAAC;CACF,CAAA;AARY,wCAAc;yBAAd,cAAc;IAJ1B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,uBAAuB,EAAE;QACpC,OAAO,EAAE,eAAe;KACzB,CAAC;GACW,cAAc,CAQ1B"}
1
+ {"version":3,"file":"document.module.js","sourceRoot":"","sources":["../../src/document/document.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAiE;AACjE,6CAAqD;AAErD,qDAAiD;AACjD,yDAAqD;AACrD,oEAAgE;AAChE,wFAAmF;AACnF,6EAAwE;AACxE,+CAA2C;AAI3C,MAAM,CACJ,eAAe,EACf,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACX,GAAG,wBAAU,CAAC,QAAQ,CAAC;AACxB,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAAG,wBAAU,CAAC,WAAW,CAAC;AAC9E,MAAM,CAAC,uBAAuB,CAAC,GAAG,wBAAU,CAAC,IAAI,CAAC;AAElD,SAAS,uBAAuB,CAC9B,UAAiC,EAAE;IAEnC,OAAO;QACL,uBAAuB;QACvB,0BAA0B;QAG1B,UAAU;QAKV;YACE,OAAO,EAAE,kBAAkB;YAC3B,UAAU,EAAE,CAAC,UAAsB,EAAE,EAAE,CACrC,IAAI,kBAAkB,CAAC,UAAU,CAAC;YACpC,MAAM,EAAE,CAAC,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACrD;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,UAAU,EAAE,CAAC,UAAsB,EAAE,EAAE,CACrC,IAAI,wBAAwB,CAAC,UAAU,CAAC;YAC1C,MAAM,EAAE,CAAC,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACrD;QACD;YACE,OAAO,EAAE,uBAAuB;YAChC,UAAU,EAAE,CACV,YAA0B,EAC1B,eAAqD,EACrD,UAAsB,EACtB,EAAE,CACF,IAAI,uBAAuB,CAAC,YAAY,EAAE,eAAe,EAAE,UAAU,CAAC;YACxE,MAAM,EAAE;gBACN,4BAAY;gBACZ,eAAe;gBACf,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC;aAC3C;SACF;QACD;YACE,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,CACV,SAAuD,EACvD,YAA6D,EAC7D,qBAA4C,EAC5C,UAAsB,EACtB,EAAE,CACF,IAAI,eAAe,CACjB,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,UAAU,CACX;YACH,MAAM,EAAE;gBACN,uBAAuB;gBACvB,0BAA0B;gBAC1B,+CAAqB;gBACrB,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC;aAC3C;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAG;IACtB,eAAe;IACf,uBAAuB;IACvB,uBAAuB;IACvB,0BAA0B;IAC1B,UAAU;CACX,CAAC;AAoBK,IAAM,cAAc,sBAApB,MAAM,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,UAAiC,EAAE;QACjD,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,OAAO,EAAE;gBACP,wBAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC5B,6CAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAGtC,0BAAW;aACZ;YACD,WAAW,EAAE,CAAC,GAAG,wBAAU,CAAC,WAAW,CAAC;YACxC,SAAS,EAAE,uBAAuB,CAAC,OAAO,CAAC;YAC3C,OAAO,EAAE,eAAe;SACzB,CAAC;IACJ,CAAC;CACF,CAAA;AAhBY,wCAAc;yBAAd,cAAc;IAN1B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,wBAAU,EAAE,6CAAoB,EAAE,0BAAW,CAAC;QACxD,WAAW,EAAE,CAAC,GAAG,wBAAU,CAAC,WAAW,CAAC;QACxC,SAAS,EAAE,uBAAuB,EAAE;QACpC,OAAO,EAAE,eAAe;KACzB,CAAC;GACW,cAAc,CAgB1B"}
@@ -0,0 +1,6 @@
1
+ export declare class SetDocumentDto {
2
+ upload_id: string;
3
+ source_type: string;
4
+ source_id: string;
5
+ }
6
+ //# sourceMappingURL=set.document.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.document.dto.d.ts","sourceRoot":"","sources":["../../../src/document/dtos/set.document.dto.ts"],"names":[],"mappings":"AAIA,qBAAa,cAAc;IAOzB,SAAS,EAAE,MAAM,CAAC;IASlB,WAAW,EAAE,MAAM,CAAC;IAKpB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,43 @@
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.SetDocumentDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const swagger_1 = require("@nestjs/swagger");
15
+ class SetDocumentDto {
16
+ }
17
+ exports.SetDocumentDto = SetDocumentDto;
18
+ __decorate([
19
+ (0, swagger_1.ApiProperty)({
20
+ format: 'uuid',
21
+ description: 'Upload to attach (sys_document_uploads).',
22
+ }),
23
+ (0, class_validator_1.IsUUID)(),
24
+ (0, class_validator_1.IsNotEmpty)(),
25
+ __metadata("design:type", String)
26
+ ], SetDocumentDto.prototype, "upload_id", void 0);
27
+ __decorate([
28
+ (0, swagger_1.ApiProperty)({
29
+ example: 'invoice',
30
+ description: 'Owning entity name.',
31
+ }),
32
+ (0, class_validator_1.IsString)(),
33
+ (0, class_validator_1.IsNotEmpty)(),
34
+ (0, class_validator_1.MaxLength)(255),
35
+ __metadata("design:type", String)
36
+ ], SetDocumentDto.prototype, "source_type", void 0);
37
+ __decorate([
38
+ (0, swagger_1.ApiProperty)({ format: 'uuid', description: 'Owning record uuid.' }),
39
+ (0, class_validator_1.IsUUID)(),
40
+ (0, class_validator_1.IsNotEmpty)(),
41
+ __metadata("design:type", String)
42
+ ], SetDocumentDto.prototype, "source_id", void 0);
43
+ //# sourceMappingURL=set.document.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.document.dto.js","sourceRoot":"","sources":["../../../src/document/dtos/set.document.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA0E;AAC1E,6CAA8C;AAG9C,MAAa,cAAc;CAsB1B;AAtBD,wCAsBC;AAfC;IANC,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,0CAA0C;KACxD,CAAC;IACD,IAAA,wBAAM,GAAE;IACR,IAAA,4BAAU,GAAE;;iDACK;AASlB;IAPC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,qBAAqB;KACnC,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,GAAG,CAAC;;mDACK;AAKpB;IAHC,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACnE,IAAA,wBAAM,GAAE;IACR,IAAA,4BAAU,GAAE;;iDACK"}
@@ -0,0 +1,4 @@
1
+ export declare class UploadDocumentDto {
2
+ path_identifier: string;
3
+ }
4
+ //# sourceMappingURL=upload.document.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.document.dto.d.ts","sourceRoot":"","sources":["../../../src/document/dtos/upload.document.dto.ts"],"names":[],"mappings":"AAOA,qBAAa,iBAAiB;IAa5B,eAAe,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,31 @@
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.UploadDocumentDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const swagger_1 = require("@nestjs/swagger");
15
+ class UploadDocumentDto {
16
+ }
17
+ exports.UploadDocumentDto = UploadDocumentDto;
18
+ __decorate([
19
+ (0, swagger_1.ApiProperty)({
20
+ example: 'invoice',
21
+ description: 'Names the destination: the key prefix is read from the "document.path.<path_identifier>" system property.',
22
+ }),
23
+ (0, class_validator_1.IsString)(),
24
+ (0, class_validator_1.IsNotEmpty)(),
25
+ (0, class_validator_1.MaxLength)(100),
26
+ (0, class_validator_1.Matches)(/^[a-z0-9._-]+$/, {
27
+ message: 'path_identifier may only contain lowercase letters, digits, dots, hyphens and underscores',
28
+ }),
29
+ __metadata("design:type", String)
30
+ ], UploadDocumentDto.prototype, "path_identifier", void 0);
31
+ //# sourceMappingURL=upload.document.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.document.dto.js","sourceRoot":"","sources":["../../../src/document/dtos/upload.document.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA2E;AAC3E,6CAA8C;AAM9C,MAAa,iBAAiB;CAc7B;AAdD,8CAcC;AADC;IAZC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,SAAS;QAClB,WAAW,EACT,2GAA2G;KAC9G,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,GAAG,CAAC;IACd,IAAA,yBAAO,EAAC,gBAAgB,EAAE;QACzB,OAAO,EACL,2FAA2F;KAC9F,CAAC;;0DACsB"}
@@ -0,0 +1,10 @@
1
+ import { CommonEntity } from '../../common/entities/common.entity';
2
+ import { DocumentUploadEntity } from './document.upload.entity';
3
+ export declare class DocumentEntity extends CommonEntity {
4
+ upload_id: string;
5
+ source_type: string;
6
+ source_id: string;
7
+ attributes: Record<string, any>;
8
+ upload: DocumentUploadEntity;
9
+ }
10
+ //# sourceMappingURL=document.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.entity.d.ts","sourceRoot":"","sources":["../../../src/document/entities/document.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,qBACa,cAAe,SAAQ,YAAY;IAE9C,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;IAGpB,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAKhC,MAAM,EAAE,oBAAoB,CAAC;CAC9B"}
@@ -0,0 +1,43 @@
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.DocumentEntity = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const common_entity_1 = require("../../common/entities/common.entity");
15
+ const document_upload_entity_1 = require("./document.upload.entity");
16
+ let DocumentEntity = class DocumentEntity extends common_entity_1.CommonEntity {
17
+ };
18
+ exports.DocumentEntity = DocumentEntity;
19
+ __decorate([
20
+ (0, typeorm_1.Column)({ type: 'uuid' }),
21
+ __metadata("design:type", String)
22
+ ], DocumentEntity.prototype, "upload_id", void 0);
23
+ __decorate([
24
+ (0, typeorm_1.Column)({ type: 'varchar' }),
25
+ __metadata("design:type", String)
26
+ ], DocumentEntity.prototype, "source_type", void 0);
27
+ __decorate([
28
+ (0, typeorm_1.Column)({ type: 'uuid' }),
29
+ __metadata("design:type", String)
30
+ ], DocumentEntity.prototype, "source_id", void 0);
31
+ __decorate([
32
+ (0, typeorm_1.Column)({ type: 'jsonb' }),
33
+ __metadata("design:type", Object)
34
+ ], DocumentEntity.prototype, "attributes", void 0);
35
+ __decorate([
36
+ (0, typeorm_1.ManyToOne)(() => document_upload_entity_1.DocumentUploadEntity, { onDelete: 'CASCADE' }),
37
+ (0, typeorm_1.JoinColumn)({ name: 'upload_id' }),
38
+ __metadata("design:type", document_upload_entity_1.DocumentUploadEntity)
39
+ ], DocumentEntity.prototype, "upload", void 0);
40
+ exports.DocumentEntity = DocumentEntity = __decorate([
41
+ (0, typeorm_1.Entity)({ name: 'sys_documents' })
42
+ ], DocumentEntity);
43
+ //# sourceMappingURL=document.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.entity.js","sourceRoot":"","sources":["../../../src/document/entities/document.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAgE;AAChE,uEAAmE;AACnE,qEAAgE;AAIzD,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,4BAAY;CAiB/C,CAAA;AAjBY,wCAAc;AAEzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;iDACP;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;mDACR;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;iDACP;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;kDACM;AAKhC;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,6CAAoB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC9D,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BAC1B,6CAAoB;8CAAC;yBAhBlB,cAAc;IAD1B,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;GACrB,cAAc,CAiB1B"}
@@ -1,14 +1,13 @@
1
- import { CommonEntity } from './common.entity';
2
- export declare class DocumentEntity extends CommonEntity {
3
- source_id: string;
4
- size_bytes: number;
5
- is_public: boolean;
1
+ import { CommonEntity } from '../../common/entities/common.entity';
2
+ export declare class DocumentUploadEntity extends CommonEntity {
6
3
  original_name: string;
7
4
  stored_name: string;
8
5
  mime_type: string;
6
+ size_bytes: number;
9
7
  storage_driver: string;
10
8
  path: string;
11
- source_type: string;
9
+ url: string;
10
+ is_public: boolean;
12
11
  attributes: Record<string, any>;
13
12
  }
14
- //# sourceMappingURL=document.entity.d.ts.map
13
+ //# sourceMappingURL=document.upload.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.upload.entity.d.ts","sourceRoot":"","sources":["../../../src/document/entities/document.upload.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,qBACa,oBAAqB,SAAQ,YAAY;IAEpD,aAAa,EAAE,MAAM,CAAC;IAGtB,WAAW,EAAE,MAAM,CAAC;IAGpB,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,MAAM,CAAC;IAGnB,cAAc,EAAE,MAAM,CAAC;IAGvB,IAAI,EAAE,MAAM,CAAC;IAIb,GAAG,EAAE,MAAM,CAAC;IAGZ,SAAS,EAAE,OAAO,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC"}
@@ -9,53 +9,49 @@ 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
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DocumentEntity = void 0;
12
+ exports.DocumentUploadEntity = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
- const common_entity_1 = require("./common.entity");
15
- let DocumentEntity = class DocumentEntity extends common_entity_1.CommonEntity {
14
+ const common_entity_1 = require("../../common/entities/common.entity");
15
+ let DocumentUploadEntity = class DocumentUploadEntity extends common_entity_1.CommonEntity {
16
16
  };
17
- exports.DocumentEntity = DocumentEntity;
18
- __decorate([
19
- (0, typeorm_1.Column)({ type: 'uuid' }),
20
- __metadata("design:type", String)
21
- ], DocumentEntity.prototype, "source_id", void 0);
22
- __decorate([
23
- (0, typeorm_1.Column)({ type: 'bigint' }),
24
- __metadata("design:type", Number)
25
- ], DocumentEntity.prototype, "size_bytes", void 0);
26
- __decorate([
27
- (0, typeorm_1.Column)({ type: 'boolean', default: false }),
28
- __metadata("design:type", Boolean)
29
- ], DocumentEntity.prototype, "is_public", void 0);
17
+ exports.DocumentUploadEntity = DocumentUploadEntity;
30
18
  __decorate([
31
19
  (0, typeorm_1.Column)({ type: 'varchar' }),
32
20
  __metadata("design:type", String)
33
- ], DocumentEntity.prototype, "original_name", void 0);
21
+ ], DocumentUploadEntity.prototype, "original_name", void 0);
34
22
  __decorate([
35
23
  (0, typeorm_1.Column)({ type: 'varchar' }),
36
24
  __metadata("design:type", String)
37
- ], DocumentEntity.prototype, "stored_name", void 0);
25
+ ], DocumentUploadEntity.prototype, "stored_name", void 0);
38
26
  __decorate([
39
27
  (0, typeorm_1.Column)({ type: 'varchar' }),
40
28
  __metadata("design:type", String)
41
- ], DocumentEntity.prototype, "mime_type", void 0);
29
+ ], DocumentUploadEntity.prototype, "mime_type", void 0);
30
+ __decorate([
31
+ (0, typeorm_1.Column)({ type: 'bigint' }),
32
+ __metadata("design:type", Number)
33
+ ], DocumentUploadEntity.prototype, "size_bytes", void 0);
42
34
  __decorate([
43
35
  (0, typeorm_1.Column)({ type: 'varchar' }),
44
36
  __metadata("design:type", String)
45
- ], DocumentEntity.prototype, "storage_driver", void 0);
37
+ ], DocumentUploadEntity.prototype, "storage_driver", void 0);
46
38
  __decorate([
47
39
  (0, typeorm_1.Column)({ type: 'text' }),
48
40
  __metadata("design:type", String)
49
- ], DocumentEntity.prototype, "path", void 0);
41
+ ], DocumentUploadEntity.prototype, "path", void 0);
50
42
  __decorate([
51
- (0, typeorm_1.Column)({ type: 'varchar' }),
43
+ (0, typeorm_1.Column)({ type: 'text' }),
52
44
  __metadata("design:type", String)
53
- ], DocumentEntity.prototype, "source_type", void 0);
45
+ ], DocumentUploadEntity.prototype, "url", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.Column)({ type: 'boolean', default: false }),
48
+ __metadata("design:type", Boolean)
49
+ ], DocumentUploadEntity.prototype, "is_public", void 0);
54
50
  __decorate([
55
51
  (0, typeorm_1.Column)({ type: 'jsonb' }),
56
52
  __metadata("design:type", Object)
57
- ], DocumentEntity.prototype, "attributes", void 0);
58
- exports.DocumentEntity = DocumentEntity = __decorate([
59
- (0, typeorm_1.Entity)({ name: 'sys_document_details' })
60
- ], DocumentEntity);
61
- //# sourceMappingURL=document.entity.js.map
53
+ ], DocumentUploadEntity.prototype, "attributes", void 0);
54
+ exports.DocumentUploadEntity = DocumentUploadEntity = __decorate([
55
+ (0, typeorm_1.Entity)({ name: 'sys_document_uploads' })
56
+ ], DocumentUploadEntity);
57
+ //# sourceMappingURL=document.upload.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.upload.entity.js","sourceRoot":"","sources":["../../../src/document/entities/document.upload.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AACzC,uEAAmE;AAI5D,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,4BAAY;CA4BrD,CAAA;AA5BY,oDAAoB;AAE/B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;2DACN;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;yDACR;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;uDACV;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;wDACR;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;4DACL;AAGvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;kDACZ;AAIb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;iDACb;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;uDACzB;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;wDACM;+BA3BrB,oBAAoB;IADhC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;GAC5B,oBAAoB,CA4BhC"}
@@ -1,4 +1,13 @@
1
1
  export declare enum DocumentDefault {
2
- PRESIGNED_URL_EXPIRY_SECONDS = 3600
2
+ PRESIGNED_URL_EXPIRY_SECONDS = 3600,
3
+ MAX_UPLOAD_FILES = 10,
4
+ MAX_UPLOAD_SIZE_MB = 25,
5
+ BYTES_PER_MB = 1048576,
6
+ MS_PER_HOUR = 3600000,
7
+ ORPHAN_GRACE_HOURS = 24
8
+ }
9
+ export declare enum DocumentConstant {
10
+ UPLOAD_FIELD_NAME = "files",
11
+ PATH_PROPERTY_PREFIX = "document.path."
3
12
  }
4
13
  //# sourceMappingURL=document.default.enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"document.default.enum.d.ts","sourceRoot":"","sources":["../../../src/document/enums/document.default.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACzB,4BAA4B,OAAO;CACpC"}
1
+ {"version":3,"file":"document.default.enum.d.ts","sourceRoot":"","sources":["../../../src/document/enums/document.default.enum.ts"],"names":[],"mappings":"AACA,oBAAY,eAAe;IACzB,4BAA4B,OAAO;IAEnC,gBAAgB,KAAK;IAErB,kBAAkB,KAAK;IACvB,YAAY,UAAU;IACtB,WAAW,UAAU;IAErB,kBAAkB,KAAK;CACxB;AAGD,oBAAY,gBAAgB;IAE1B,iBAAiB,UAAU;IAE3B,oBAAoB,mBAAmB;CACxC"}
@@ -1,8 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DocumentDefault = void 0;
3
+ exports.DocumentConstant = exports.DocumentDefault = void 0;
4
4
  var DocumentDefault;
5
5
  (function (DocumentDefault) {
6
6
  DocumentDefault[DocumentDefault["PRESIGNED_URL_EXPIRY_SECONDS"] = 3600] = "PRESIGNED_URL_EXPIRY_SECONDS";
7
+ DocumentDefault[DocumentDefault["MAX_UPLOAD_FILES"] = 10] = "MAX_UPLOAD_FILES";
8
+ DocumentDefault[DocumentDefault["MAX_UPLOAD_SIZE_MB"] = 25] = "MAX_UPLOAD_SIZE_MB";
9
+ DocumentDefault[DocumentDefault["BYTES_PER_MB"] = 1048576] = "BYTES_PER_MB";
10
+ DocumentDefault[DocumentDefault["MS_PER_HOUR"] = 3600000] = "MS_PER_HOUR";
11
+ DocumentDefault[DocumentDefault["ORPHAN_GRACE_HOURS"] = 24] = "ORPHAN_GRACE_HOURS";
7
12
  })(DocumentDefault || (exports.DocumentDefault = DocumentDefault = {}));
13
+ var DocumentConstant;
14
+ (function (DocumentConstant) {
15
+ DocumentConstant["UPLOAD_FIELD_NAME"] = "files";
16
+ DocumentConstant["PATH_PROPERTY_PREFIX"] = "document.path.";
17
+ })(DocumentConstant || (exports.DocumentConstant = DocumentConstant = {}));
8
18
  //# sourceMappingURL=document.default.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document.default.enum.js","sourceRoot":"","sources":["../../../src/document/enums/document.default.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAEX;AAFD,WAAY,eAAe;IACzB,wGAAmC,CAAA;AACrC,CAAC,EAFW,eAAe,+BAAf,eAAe,QAE1B"}
1
+ {"version":3,"file":"document.default.enum.js","sourceRoot":"","sources":["../../../src/document/enums/document.default.enum.ts"],"names":[],"mappings":";;;AACA,IAAY,eAUX;AAVD,WAAY,eAAe;IACzB,wGAAmC,CAAA;IAEnC,8EAAqB,CAAA;IAErB,kFAAuB,CAAA;IACvB,2EAAsB,CAAA;IACtB,yEAAqB,CAAA;IAErB,kFAAuB,CAAA;AACzB,CAAC,EAVW,eAAe,+BAAf,eAAe,QAU1B;AAGD,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAE1B,+CAA2B,CAAA;IAE3B,2DAAuC,CAAA;AACzC,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B"}
@@ -1,13 +1,19 @@
1
+ import { DocumentController } from './controllers/document.controller';
1
2
  import { DocumentService } from './services/document.service';
2
3
  import { MinioBucketDocumentService } from './services/minio.bucket.document.service';
3
4
  import { PdfService } from './services/pdf.service';
4
5
  import { S3BucketDocumentService } from './services/s3.bucket.document.service';
6
+ import { CleanOrphanDocumentsJob } from './jobs/clean.orphan.documents.job';
7
+ import { DocumentSubscriber } from './subscribers/document.subscriber';
8
+ import { DocumentUploadSubscriber } from './subscribers/document.upload.subscriber';
9
+ import { SetDocumentDto } from './dtos/set.document.dto';
10
+ import { UploadDocumentDto } from './dtos/upload.document.dto';
5
11
  export declare const es6Classes: {
6
- controllers: any[];
12
+ controllers: (typeof DocumentController)[];
7
13
  services: readonly [typeof DocumentService, typeof MinioBucketDocumentService, typeof S3BucketDocumentService, typeof PdfService];
8
14
  libraries: any[];
9
- dtos: any[];
10
- jobs: any[];
11
- subscribers: any[];
15
+ dtos: (typeof SetDocumentDto | typeof UploadDocumentDto)[];
16
+ jobs: readonly [typeof CleanOrphanDocumentsJob];
17
+ subscribers: readonly [typeof DocumentSubscriber, typeof DocumentUploadSubscriber];
12
18
  };
13
19
  //# sourceMappingURL=es6.classes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"es6.classes.d.ts","sourceRoot":"","sources":["../../src/document/es6.classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,eAAO,MAAM,UAAU;;;;;;;CAYtB,CAAC"}
1
+ {"version":3,"file":"es6.classes.d.ts","sourceRoot":"","sources":["../../src/document/es6.classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,eAAO,MAAM,UAAU;;;;;;;CAYtB,CAAC"}
@@ -1,12 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.es6Classes = void 0;
4
+ const document_controller_1 = require("./controllers/document.controller");
4
5
  const document_service_1 = require("./services/document.service");
5
6
  const minio_bucket_document_service_1 = require("./services/minio.bucket.document.service");
6
7
  const pdf_service_1 = require("./services/pdf.service");
7
8
  const s3_bucket_document_service_1 = require("./services/s3.bucket.document.service");
9
+ const clean_orphan_documents_job_1 = require("./jobs/clean.orphan.documents.job");
10
+ const document_subscriber_1 = require("./subscribers/document.subscriber");
11
+ const document_upload_subscriber_1 = require("./subscribers/document.upload.subscriber");
12
+ const set_document_dto_1 = require("./dtos/set.document.dto");
13
+ const upload_document_dto_1 = require("./dtos/upload.document.dto");
8
14
  exports.es6Classes = {
9
- controllers: [],
15
+ controllers: [document_controller_1.DocumentController],
10
16
  services: [
11
17
  document_service_1.DocumentService,
12
18
  minio_bucket_document_service_1.MinioBucketDocumentService,
@@ -14,8 +20,8 @@ exports.es6Classes = {
14
20
  pdf_service_1.PdfService,
15
21
  ],
16
22
  libraries: [],
17
- dtos: [],
18
- jobs: [],
19
- subscribers: [],
23
+ dtos: [set_document_dto_1.SetDocumentDto, upload_document_dto_1.UploadDocumentDto],
24
+ jobs: [clean_orphan_documents_job_1.CleanOrphanDocumentsJob],
25
+ subscribers: [document_subscriber_1.DocumentSubscriber, document_upload_subscriber_1.DocumentUploadSubscriber],
20
26
  };
21
27
  //# sourceMappingURL=es6.classes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"es6.classes.js","sourceRoot":"","sources":["../../src/document/es6.classes.ts"],"names":[],"mappings":";;;AAAA,kEAA8D;AAC9D,4FAAsF;AACtF,wDAAoD;AACpD,sFAAgF;AAEnE,QAAA,UAAU,GAAG;IACxB,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE;QACR,kCAAe;QACf,0DAA0B;QAC1B,oDAAuB;QACvB,wBAAU;KACF;IACV,SAAS,EAAE,EAAE;IACb,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,WAAW,EAAE,EAAE;CAChB,CAAC"}
1
+ {"version":3,"file":"es6.classes.js","sourceRoot":"","sources":["../../src/document/es6.classes.ts"],"names":[],"mappings":";;;AAAA,2EAAuE;AACvE,kEAA8D;AAC9D,4FAAsF;AACtF,wDAAoD;AACpD,sFAAgF;AAChF,kFAA4E;AAC5E,2EAAuE;AACvE,yFAAoF;AACpF,8DAAyD;AACzD,oEAA+D;AAElD,QAAA,UAAU,GAAG;IACxB,WAAW,EAAE,CAAC,wCAAkB,CAAC;IACjC,QAAQ,EAAE;QACR,kCAAe;QACf,0DAA0B;QAC1B,oDAAuB;QACvB,wBAAU;KACF;IACV,SAAS,EAAE,EAAE;IACb,IAAI,EAAE,CAAC,iCAAc,EAAE,uCAAiB,CAAC;IACzC,IAAI,EAAE,CAAC,oDAAuB,CAAU;IACxC,WAAW,EAAE,CAAC,wCAAkB,EAAE,qDAAwB,CAAU;CACrE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { DataSource } from 'typeorm';
2
+ import { CommonJob } from '../../common/jobs/common.job';
3
+ import { QueueService } from '../../common/services/queue.service';
4
+ import { DocumentService } from '../services/document.service';
5
+ export declare class CleanOrphanDocumentsJob extends CommonJob {
6
+ protected readonly queueService: QueueService;
7
+ private readonly documentService;
8
+ private readonly dataSource;
9
+ constructor(queueService: QueueService, documentService: DocumentService, dataSource: DataSource);
10
+ handle(data?: {
11
+ id?: string;
12
+ }): Promise<void>;
13
+ cleanOne(uploadUuid: string): Promise<void>;
14
+ cleanAll(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=clean.orphan.documents.job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean.orphan.documents.job.d.ts","sourceRoot":"","sources":["../../../src/document/jobs/clean.orphan.documents.job.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAKnE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAS/D,qBACa,uBAAwB,SAAQ,SAAS;IAElD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFR,YAAY,EAAE,YAAY,EAC5B,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,UAAU;IAKnC,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CA2BhC"}