@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.
- package/README.md +124 -71
- package/dist/admin/controllers/admin.tenant.user.controller.js +1 -1
- package/dist/admin/controllers/admin.tenant.user.controller.js.map +1 -1
- package/dist/admin/dtos/add.admin.user.dto.d.ts +2 -2
- package/dist/admin/dtos/add.admin.user.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.admin.user.dto.js +2 -2
- package/dist/admin/dtos/add.admin.user.dto.js.map +1 -1
- package/dist/admin/dtos/add.scheduled.task.dto.d.ts +2 -2
- package/dist/admin/dtos/add.scheduled.task.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.scheduled.task.dto.js +2 -2
- package/dist/admin/dtos/add.scheduled.task.dto.js.map +1 -1
- package/dist/admin/dtos/add.scope.dto.d.ts +2 -2
- package/dist/admin/dtos/add.scope.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.scope.dto.js +2 -2
- package/dist/admin/dtos/add.scope.dto.js.map +1 -1
- package/dist/admin/dtos/add.system.role.dto.d.ts +2 -2
- package/dist/admin/dtos/add.system.role.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.system.role.dto.js +2 -2
- package/dist/admin/dtos/add.system.role.dto.js.map +1 -1
- package/dist/admin/dtos/add.tenant.dto.d.ts +2 -2
- package/dist/admin/dtos/add.tenant.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.tenant.dto.js +2 -2
- package/dist/admin/dtos/add.tenant.dto.js.map +1 -1
- package/dist/admin/dtos/base.user.dto.d.ts +2 -2
- package/dist/admin/dtos/base.user.dto.d.ts.map +1 -1
- package/dist/admin/dtos/base.user.dto.js +2 -2
- package/dist/admin/dtos/base.user.dto.js.map +1 -1
- package/dist/admin/libraries/admin.user.data.processor.js +1 -1
- package/dist/admin/libraries/admin.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/admin.user.delete.processor.js +2 -2
- package/dist/admin/libraries/admin.user.delete.processor.js.map +1 -1
- package/dist/admin/libraries/api.key.data.processor.js +1 -1
- package/dist/admin/libraries/api.key.data.processor.js.map +1 -1
- package/dist/admin/libraries/bulk.user.data.processor.js +2 -2
- package/dist/admin/libraries/bulk.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/client.user.data.processor.js +2 -2
- package/dist/admin/libraries/client.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/client.user.delete.processor.js +1 -1
- package/dist/admin/libraries/client.user.delete.processor.js.map +1 -1
- package/dist/admin/libraries/scheduled.task.data.processor.js +1 -1
- package/dist/admin/libraries/scheduled.task.data.processor.js.map +1 -1
- package/dist/admin/libraries/scheduled.task.delete.processor.js +1 -1
- package/dist/admin/libraries/scheduled.task.delete.processor.js.map +1 -1
- package/dist/admin/libraries/scope.data.processor.js +1 -1
- package/dist/admin/libraries/scope.data.processor.js.map +1 -1
- package/dist/admin/libraries/system.role.data.processor.js +1 -1
- package/dist/admin/libraries/system.role.data.processor.js.map +1 -1
- package/dist/admin/libraries/system.user.data.processor.js +1 -1
- package/dist/admin/libraries/system.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/tenant.data.processor.js +1 -1
- package/dist/admin/libraries/tenant.data.processor.js.map +1 -1
- package/dist/admin/libraries/tenant.delete.processor.js +2 -2
- package/dist/admin/libraries/tenant.delete.processor.js.map +1 -1
- package/dist/auth/controllers/auth.controller.d.ts +1 -0
- package/dist/auth/controllers/auth.controller.d.ts.map +1 -1
- package/dist/auth/controllers/auth.controller.js +5 -1
- package/dist/auth/controllers/auth.controller.js.map +1 -1
- package/dist/auth/entities/user.entity.d.ts +2 -2
- package/dist/auth/entities/user.entity.d.ts.map +1 -1
- package/dist/auth/entities/user.entity.js +3 -3
- package/dist/auth/entities/user.entity.js.map +1 -1
- package/dist/auth/processors/change.password.data.processor.js +2 -2
- package/dist/auth/processors/change.password.data.processor.js.map +1 -1
- package/dist/auth/processors/register.user.data.processor.js +1 -1
- package/dist/auth/processors/register.user.data.processor.js.map +1 -1
- package/dist/auth/services/auth.service.js +2 -2
- package/dist/auth/services/auth.service.js.map +1 -1
- package/dist/auth/services/impersonation.service.d.ts.map +1 -1
- package/dist/auth/services/impersonation.service.js +5 -4
- package/dist/auth/services/impersonation.service.js.map +1 -1
- package/dist/auth/types/auth.types.d.ts +1 -0
- package/dist/auth/types/auth.types.d.ts.map +1 -1
- package/dist/common/dtos/common.data.dto.d.ts +4 -0
- package/dist/common/dtos/common.data.dto.d.ts.map +1 -0
- package/dist/common/dtos/{common.payload.dto.js → common.data.dto.js} +5 -5
- package/dist/common/dtos/common.data.dto.js.map +1 -0
- package/dist/common/dtos/common.list.filter.dto.d.ts.map +1 -1
- package/dist/common/dtos/common.list.filter.dto.js +22 -0
- package/dist/common/dtos/common.list.filter.dto.js.map +1 -1
- package/dist/common/dtos/common.params.dto.d.ts +1 -0
- package/dist/common/dtos/common.params.dto.d.ts.map +1 -1
- package/dist/common/dtos/common.params.dto.js +6 -0
- package/dist/common/dtos/common.params.dto.js.map +1 -1
- package/dist/common/dtos/filter.dto.d.ts.map +1 -1
- package/dist/common/dtos/filter.dto.js +15 -0
- package/dist/common/dtos/filter.dto.js.map +1 -1
- package/dist/common/dtos/sort.dto.d.ts.map +1 -1
- package/dist/common/dtos/sort.dto.js +8 -0
- package/dist/common/dtos/sort.dto.js.map +1 -1
- package/dist/common/entities/system.audit.log.entity.d.ts +3 -3
- package/dist/common/entities/system.audit.log.entity.d.ts.map +1 -1
- package/dist/common/entities/system.audit.log.entity.js +6 -6
- package/dist/common/entities/system.audit.log.entity.js.map +1 -1
- package/dist/common/es6.classes.d.ts +2 -2
- package/dist/common/es6.classes.d.ts.map +1 -1
- package/dist/common/es6.classes.js +2 -2
- package/dist/common/es6.classes.js.map +1 -1
- package/dist/common/libraries/common.data.processor.d.ts +1 -1
- package/dist/common/libraries/common.data.processor.d.ts.map +1 -1
- package/dist/common/libraries/common.data.processor.js +1 -1
- package/dist/common/libraries/common.data.processor.js.map +1 -1
- package/dist/common/services/audit.service.d.ts +4 -4
- package/dist/common/services/audit.service.js +15 -15
- package/dist/common/services/audit.service.js.map +1 -1
- package/dist/common/services/queue.service.d.ts +3 -2
- package/dist/common/services/queue.service.d.ts.map +1 -1
- package/dist/common/services/queue.service.js +15 -1
- package/dist/common/services/queue.service.js.map +1 -1
- package/dist/common/subscribers/common.subscriber.d.ts +3 -5
- package/dist/common/subscribers/common.subscriber.d.ts.map +1 -1
- package/dist/common/subscribers/common.subscriber.js +13 -25
- package/dist/common/subscribers/common.subscriber.js.map +1 -1
- package/dist/common/types/audit.types.d.ts +4 -4
- package/dist/common/types/audit.types.d.ts.map +1 -1
- package/dist/common/types/queue.types.d.ts +10 -0
- package/dist/common/types/queue.types.d.ts.map +1 -1
- package/dist/constants/entity.constants.d.ts +1 -0
- package/dist/constants/entity.constants.d.ts.map +1 -1
- package/dist/constants/entity.constants.js +1 -0
- package/dist/constants/entity.constants.js.map +1 -1
- package/dist/constants/entity.maps.d.ts +3 -1
- package/dist/constants/entity.maps.d.ts.map +1 -1
- package/dist/constants/entity.maps.js +3 -1
- package/dist/constants/entity.maps.js.map +1 -1
- package/dist/constants/job.constants.d.ts +1 -0
- package/dist/constants/job.constants.d.ts.map +1 -1
- package/dist/constants/job.constants.js +1 -0
- package/dist/constants/job.constants.js.map +1 -1
- package/dist/document/controllers/document.controller.d.ts +15 -0
- package/dist/document/controllers/document.controller.d.ts.map +1 -0
- package/dist/document/controllers/document.controller.js +88 -0
- package/dist/document/controllers/document.controller.js.map +1 -0
- package/dist/document/document.module.d.ts.map +1 -1
- package/dist/document/document.module.js +37 -1
- package/dist/document/document.module.js.map +1 -1
- package/dist/document/dtos/set.document.dto.d.ts +6 -0
- package/dist/document/dtos/set.document.dto.d.ts.map +1 -0
- package/dist/document/dtos/set.document.dto.js +43 -0
- package/dist/document/dtos/set.document.dto.js.map +1 -0
- package/dist/document/dtos/upload.document.dto.d.ts +4 -0
- package/dist/document/dtos/upload.document.dto.d.ts.map +1 -0
- package/dist/document/dtos/upload.document.dto.js +31 -0
- package/dist/document/dtos/upload.document.dto.js.map +1 -0
- package/dist/document/entities/document.entity.d.ts +10 -0
- package/dist/document/entities/document.entity.d.ts.map +1 -0
- package/dist/document/entities/document.entity.js +43 -0
- package/dist/document/entities/document.entity.js.map +1 -0
- package/dist/{common/entities/document.entity.d.ts → document/entities/document.upload.entity.d.ts} +6 -7
- package/dist/document/entities/document.upload.entity.d.ts.map +1 -0
- package/dist/{common/entities/document.entity.js → document/entities/document.upload.entity.js} +24 -28
- package/dist/document/entities/document.upload.entity.js.map +1 -0
- package/dist/document/enums/document.default.enum.d.ts +10 -1
- package/dist/document/enums/document.default.enum.d.ts.map +1 -1
- package/dist/document/enums/document.default.enum.js +11 -1
- package/dist/document/enums/document.default.enum.js.map +1 -1
- package/dist/document/es6.classes.d.ts +10 -4
- package/dist/document/es6.classes.d.ts.map +1 -1
- package/dist/document/es6.classes.js +10 -4
- package/dist/document/es6.classes.js.map +1 -1
- package/dist/document/jobs/clean.orphan.documents.job.d.ts +16 -0
- package/dist/document/jobs/clean.orphan.documents.job.d.ts.map +1 -0
- package/dist/document/jobs/clean.orphan.documents.job.js +63 -0
- package/dist/document/jobs/clean.orphan.documents.job.js.map +1 -0
- package/dist/document/services/document.service.d.ts +18 -11
- package/dist/document/services/document.service.d.ts.map +1 -1
- package/dist/document/services/document.service.js +96 -46
- package/dist/document/services/document.service.js.map +1 -1
- package/dist/document/subscribers/document.subscriber.d.ts +11 -0
- package/dist/document/subscribers/document.subscriber.d.ts.map +1 -0
- package/dist/document/subscribers/document.subscriber.js +44 -0
- package/dist/document/subscribers/document.subscriber.js.map +1 -0
- package/dist/document/subscribers/document.upload.subscriber.d.ts +9 -0
- package/dist/document/subscribers/document.upload.subscriber.d.ts.map +1 -0
- package/dist/document/subscribers/document.upload.subscriber.js +31 -0
- package/dist/document/subscribers/document.upload.subscriber.js.map +1 -0
- package/dist/document/types/document.types.d.ts +0 -11
- package/dist/document/types/document.types.d.ts.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -6
- package/dist/index.js.map +1 -1
- package/dist/migrations/1749600000012.CreateSysAuditLogsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000012.CreateSysAuditLogsTable.js +4 -4
- package/dist/migrations/1749600000012.CreateSysAuditLogsTable.js.map +1 -1
- package/dist/migrations/{1749600000013.CreateSysDocumentDetailsTable.d.ts → 1749600000013.CreateSysDocumentUploadsTable.d.ts} +2 -2
- package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.d.ts.map +1 -0
- package/dist/migrations/{1749600000013.CreateSysDocumentDetailsTable.js → 1749600000013.CreateSysDocumentUploadsTable.js} +9 -10
- package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.js.map +1 -0
- package/dist/migrations/1749600000028.CreateSysDocumentsTable.d.ts +6 -0
- package/dist/migrations/1749600000028.CreateSysDocumentsTable.d.ts.map +1 -0
- package/dist/migrations/1749600000028.CreateSysDocumentsTable.js +29 -0
- package/dist/migrations/1749600000028.CreateSysDocumentsTable.js.map +1 -0
- package/dist/tenant/entities/tenant.entity.js +3 -3
- package/dist/tenant/entities/tenant.entity.js.map +1 -1
- package/package.json +1 -1
- package/dist/common/dtos/common.payload.dto.d.ts +0 -4
- package/dist/common/dtos/common.payload.dto.d.ts.map +0 -1
- package/dist/common/dtos/common.payload.dto.js.map +0 -1
- package/dist/common/entities/document.entity.d.ts.map +0 -1
- package/dist/common/entities/document.entity.js.map +0 -1
- package/dist/migrations/1749600000013.CreateSysDocumentDetailsTable.d.ts.map +0 -1
- package/dist/migrations/1749600000013.CreateSysDocumentDetailsTable.js.map +0 -1
|
@@ -0,0 +1,63 @@
|
|
|
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.CleanOrphanDocumentsJob = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const typeorm_1 = require("typeorm");
|
|
15
|
+
const common_job_1 = require("../../common/jobs/common.job");
|
|
16
|
+
const queue_service_1 = require("../../common/services/queue.service");
|
|
17
|
+
const job_constants_1 = require("../../constants/job.constants");
|
|
18
|
+
const document_entity_1 = require("../entities/document.entity");
|
|
19
|
+
const document_upload_entity_1 = require("../entities/document.upload.entity");
|
|
20
|
+
const document_default_enum_1 = require("../enums/document.default.enum");
|
|
21
|
+
const document_service_1 = require("../services/document.service");
|
|
22
|
+
let CleanOrphanDocumentsJob = class CleanOrphanDocumentsJob extends common_job_1.CommonJob {
|
|
23
|
+
constructor(queueService, documentService, dataSource) {
|
|
24
|
+
super(job_constants_1.baseJobConstants.cleanOrphanDocumentsJob);
|
|
25
|
+
this.queueService = queueService;
|
|
26
|
+
this.documentService = documentService;
|
|
27
|
+
this.dataSource = dataSource;
|
|
28
|
+
}
|
|
29
|
+
async handle(data) {
|
|
30
|
+
if (data?.id)
|
|
31
|
+
return this.cleanOne(data.id);
|
|
32
|
+
return this.cleanAll();
|
|
33
|
+
}
|
|
34
|
+
async cleanOne(uploadUuid) {
|
|
35
|
+
await this.documentService.deleteUpload(uploadUuid);
|
|
36
|
+
}
|
|
37
|
+
async cleanAll() {
|
|
38
|
+
const cutoff = new Date(Date.now() -
|
|
39
|
+
document_default_enum_1.DocumentDefault.ORPHAN_GRACE_HOURS * document_default_enum_1.DocumentDefault.MS_PER_HOUR);
|
|
40
|
+
const documentTable = this.dataSource.getRepository(document_entity_1.DocumentEntity).metadata.tableName;
|
|
41
|
+
const orphans = await this.dataSource
|
|
42
|
+
.getRepository(document_upload_entity_1.DocumentUploadEntity)
|
|
43
|
+
.createQueryBuilder('upload')
|
|
44
|
+
.withDeleted()
|
|
45
|
+
.leftJoin(documentTable, 'document', 'document.upload_id = upload.id')
|
|
46
|
+
.where('document.id IS NULL')
|
|
47
|
+
.andWhere('upload.deleted_at IS NULL')
|
|
48
|
+
.andWhere('upload.created_at < :cutoff', { cutoff })
|
|
49
|
+
.orderBy('upload.created_at', 'ASC')
|
|
50
|
+
.getMany();
|
|
51
|
+
for (const upload of orphans)
|
|
52
|
+
await this.dispatch({ id: upload.id });
|
|
53
|
+
this.logger.log(`Dispatched ${orphans.length} orphan upload(s) for clean up.`);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
exports.CleanOrphanDocumentsJob = CleanOrphanDocumentsJob;
|
|
57
|
+
exports.CleanOrphanDocumentsJob = CleanOrphanDocumentsJob = __decorate([
|
|
58
|
+
(0, common_1.Injectable)(),
|
|
59
|
+
__metadata("design:paramtypes", [queue_service_1.QueueService,
|
|
60
|
+
document_service_1.DocumentService,
|
|
61
|
+
typeorm_1.DataSource])
|
|
62
|
+
], CleanOrphanDocumentsJob);
|
|
63
|
+
//# sourceMappingURL=clean.orphan.documents.job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clean.orphan.documents.job.js","sourceRoot":"","sources":["../../../src/document/jobs/clean.orphan.documents.job.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qCAAqC;AACrC,6DAAyD;AACzD,uEAAmE;AACnE,iEAAiE;AACjE,iEAA6D;AAC7D,+EAA0E;AAC1E,0EAAiE;AACjE,mEAA+D;AAUxD,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,sBAAS;IACpD,YACqB,YAA0B,EAC5B,eAAgC,EAChC,UAAsB;QAEvC,KAAK,CAAC,gCAAgB,CAAC,uBAAuB,CAAC,CAAC;QAJ7B,iBAAY,GAAZ,YAAY,CAAc;QAC5B,oBAAe,GAAf,eAAe,CAAiB;QAChC,eAAU,GAAV,UAAU,CAAY;IAGzC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAsB;QACjC,IAAI,IAAI,EAAE,EAAE;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAGD,KAAK,CAAC,QAAQ,CAAC,UAAkB;QAC/B,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAOD,KAAK,CAAC,QAAQ;QACZ,MAAM,MAAM,GAAG,IAAI,IAAI,CACrB,IAAI,CAAC,GAAG,EAAE;YACR,uCAAe,CAAC,kBAAkB,GAAG,uCAAe,CAAC,WAAW,CACnE,CAAC;QAEF,MAAM,aAAa,GACjB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAGnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU;aAClC,aAAa,CAAC,6CAAoB,CAAC;aACnC,kBAAkB,CAAC,QAAQ,CAAC;aAC5B,WAAW,EAAE;aACb,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,gCAAgC,CAAC;aACrE,KAAK,CAAC,qBAAqB,CAAC;aAC5B,QAAQ,CAAC,2BAA2B,CAAC;aACrC,QAAQ,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,CAAC;aACnD,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC;aACnC,OAAO,EAAE,CAAC;QAEb,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAErE,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,cAAc,OAAO,CAAC,MAAM,iCAAiC,CAC9D,CAAC;IACJ,CAAC;CACF,CAAA;AAnDY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;qCAGwB,4BAAY;QACX,kCAAe;QACpB,oBAAU;GAJ9B,uBAAuB,CAmDnC"}
|
|
@@ -1,32 +1,39 @@
|
|
|
1
1
|
import { Logger } from '@nestjs/common';
|
|
2
2
|
import { Readable } from 'stream';
|
|
3
3
|
import { DataSource } from 'typeorm';
|
|
4
|
-
import {
|
|
4
|
+
import { SetDocumentDto } from '../dtos/set.document.dto';
|
|
5
|
+
import { DocumentEntity } from '../entities/document.entity';
|
|
6
|
+
import { DocumentUploadEntity } from '../entities/document.upload.entity';
|
|
7
|
+
import { SystemPropertyService } from '../../common/services/system.property.service';
|
|
5
8
|
import { MinioBucketDocumentService } from './minio.bucket.document.service';
|
|
6
9
|
import { S3BucketDocumentService } from './s3.bucket.document.service';
|
|
7
|
-
import { BucketDocumentStorage, DocumentLinkOptions, PresignedUrlOptions,
|
|
10
|
+
import { BucketDocumentStorage, DocumentLinkOptions, PresignedUrlOptions, UploadDocumentOptions, UploadableFile } from '../types/document.types';
|
|
8
11
|
export declare class DocumentService {
|
|
9
12
|
private readonly s3BucketDocumentService;
|
|
10
13
|
private readonly minioBucketDocumentService;
|
|
14
|
+
private readonly systemPropertyService;
|
|
11
15
|
private readonly dataSource;
|
|
12
16
|
protected readonly logger: Logger;
|
|
13
|
-
constructor(s3BucketDocumentService: S3BucketDocumentService, minioBucketDocumentService: MinioBucketDocumentService, dataSource: DataSource);
|
|
17
|
+
constructor(s3BucketDocumentService: S3BucketDocumentService, minioBucketDocumentService: MinioBucketDocumentService, systemPropertyService: SystemPropertyService, dataSource: DataSource);
|
|
18
|
+
resolvePathPrefix(pathIdentifier: string): Promise<string>;
|
|
19
|
+
assertUploadable(files: UploadableFile[]): void;
|
|
14
20
|
uploadDocument(files: UploadableFile[], options?: UploadDocumentOptions): Promise<string[]>;
|
|
15
|
-
uploadDocuments(files: UploadableFile[], options?: UploadDocumentOptions): Promise<
|
|
16
|
-
uploadSingleDocument(file: UploadableFile, options?: UploadDocumentOptions): Promise<
|
|
17
|
-
|
|
18
|
-
deleteDocument(documentUuid: string
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
getDocumentLink(document: DocumentEntity, options?: DocumentLinkOptions): Promise<string>;
|
|
21
|
+
uploadDocuments(files: UploadableFile[], options?: UploadDocumentOptions): Promise<DocumentUploadEntity[]>;
|
|
22
|
+
uploadSingleDocument(file: UploadableFile, options?: UploadDocumentOptions): Promise<DocumentUploadEntity>;
|
|
23
|
+
setDocument(dto: SetDocumentDto): Promise<DocumentEntity>;
|
|
24
|
+
deleteDocument(documentUuid: string): Promise<DocumentEntity>;
|
|
25
|
+
deleteUpload(uploadUuid: string): Promise<void>;
|
|
26
|
+
getDocumentLink(upload: DocumentUploadEntity, options?: DocumentLinkOptions): Promise<string>;
|
|
22
27
|
getPresignedUrl(objectPath: string, options?: PresignedUrlOptions): Promise<string>;
|
|
23
28
|
documentExists(objectPath: string): Promise<boolean>;
|
|
24
|
-
getDocumentStream(
|
|
29
|
+
getDocumentStream(upload: DocumentUploadEntity): Promise<Readable>;
|
|
25
30
|
findDocumentsBySource(sourceType: string, sourceId: string): Promise<DocumentEntity[]>;
|
|
26
31
|
getActiveStorage(): BucketDocumentStorage;
|
|
27
32
|
getStorageByDriver(driver: string): BucketDocumentStorage;
|
|
28
33
|
generateStoredName(originalName: string): string;
|
|
34
|
+
private envNumber;
|
|
29
35
|
private buildObjectPath;
|
|
30
36
|
private get documentRepository();
|
|
37
|
+
private get uploadRepository();
|
|
31
38
|
}
|
|
32
39
|
//# sourceMappingURL=document.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.service.d.ts","sourceRoot":"","sources":["../../../src/document/services/document.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"document.service.d.ts","sourceRoot":"","sources":["../../../src/document/services/document.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAItF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAKvE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAOjC,qBACa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAN7B,SAAS,CAAC,QAAQ,CAAC,MAAM,SAAoC;gBAG1C,uBAAuB,EAAE,uBAAuB,EAChD,0BAA0B,EAAE,0BAA0B,EACtD,qBAAqB,EAAE,qBAAqB,EAC5C,UAAU,EAAE,UAAU;IASnC,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBhE,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI;IA4BzC,cAAc,CAClB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,MAAM,EAAE,CAAC;IAMd,eAAe,CACnB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAW5B,oBAAoB,CACxB,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IA6B1B,WAAW,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAuBzD,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgB7D,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB/C,eAAe,CACnB,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC;IAQZ,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC;IAIZ,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpD,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAOlE,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,EAAE,CAAC;IAS5B,gBAAgB,IAAI,qBAAqB;IAOzC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB;IAezD,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAOhD,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,eAAe;IAKvB,OAAO,KAAK,kBAAkB,GAE7B;IAED,OAAO,KAAK,gBAAgB,GAE3B;CACF"}
|
|
@@ -15,23 +15,48 @@ const common_1 = require("@nestjs/common");
|
|
|
15
15
|
const crypto_1 = require("crypto");
|
|
16
16
|
const path_1 = require("path");
|
|
17
17
|
const typeorm_1 = require("typeorm");
|
|
18
|
-
const document_entity_1 = require("
|
|
18
|
+
const document_entity_1 = require("../entities/document.entity");
|
|
19
|
+
const document_upload_entity_1 = require("../entities/document.upload.entity");
|
|
19
20
|
const storage_driver_enum_1 = require("../../common/enums/storage.driver.enum");
|
|
21
|
+
const system_property_service_1 = require("../../common/services/system.property.service");
|
|
20
22
|
const bad_request_exception_1 = require("../../global/exceptions/bad.request.exception");
|
|
21
23
|
const not_found_exception_1 = require("../../global/exceptions/not.found.exception");
|
|
22
24
|
const operation_exception_1 = require("../../global/exceptions/operation.exception");
|
|
23
25
|
const minio_bucket_document_service_1 = require("./minio.bucket.document.service");
|
|
24
26
|
const s3_bucket_document_service_1 = require("./s3.bucket.document.service");
|
|
27
|
+
const document_default_enum_1 = require("../enums/document.default.enum");
|
|
25
28
|
let DocumentService = DocumentService_1 = class DocumentService {
|
|
26
|
-
constructor(s3BucketDocumentService, minioBucketDocumentService, dataSource) {
|
|
29
|
+
constructor(s3BucketDocumentService, minioBucketDocumentService, systemPropertyService, dataSource) {
|
|
27
30
|
this.s3BucketDocumentService = s3BucketDocumentService;
|
|
28
31
|
this.minioBucketDocumentService = minioBucketDocumentService;
|
|
32
|
+
this.systemPropertyService = systemPropertyService;
|
|
29
33
|
this.dataSource = dataSource;
|
|
30
34
|
this.logger = new common_1.Logger(DocumentService_1.name);
|
|
31
35
|
}
|
|
36
|
+
async resolvePathPrefix(pathIdentifier) {
|
|
37
|
+
const property = `${document_default_enum_1.DocumentConstant.PATH_PROPERTY_PREFIX}${pathIdentifier}`;
|
|
38
|
+
const pathPrefix = await this.systemPropertyService.get(property);
|
|
39
|
+
if (!pathPrefix)
|
|
40
|
+
throw new bad_request_exception_1.BadRequestException(`Unknown path_identifier "${pathIdentifier}": system property "${property}" is not set.`);
|
|
41
|
+
if (!/^(?!.*\.\.)[a-zA-Z0-9][a-zA-Z0-9._\-/]*$/.test(pathPrefix))
|
|
42
|
+
throw new operation_exception_1.OperationException(`System property "${property}" is not a usable key prefix.`);
|
|
43
|
+
return pathPrefix;
|
|
44
|
+
}
|
|
45
|
+
assertUploadable(files) {
|
|
46
|
+
if (!files?.length)
|
|
47
|
+
throw new bad_request_exception_1.BadRequestException(`At least one file is required under the "${document_default_enum_1.DocumentConstant.UPLOAD_FIELD_NAME}" field.`);
|
|
48
|
+
const maxFiles = this.envNumber('DOCUMENT_MAX_UPLOAD_FILES', document_default_enum_1.DocumentDefault.MAX_UPLOAD_FILES);
|
|
49
|
+
if (files.length > maxFiles)
|
|
50
|
+
throw new bad_request_exception_1.BadRequestException(`At most ${maxFiles} files can be uploaded at once.`);
|
|
51
|
+
const maxSizeMb = this.envNumber('DOCUMENT_MAX_UPLOAD_SIZE_MB', document_default_enum_1.DocumentDefault.MAX_UPLOAD_SIZE_MB);
|
|
52
|
+
const maxBytes = maxSizeMb * document_default_enum_1.DocumentDefault.BYTES_PER_MB;
|
|
53
|
+
const oversized = files.find((file) => file.size > maxBytes);
|
|
54
|
+
if (oversized)
|
|
55
|
+
throw new bad_request_exception_1.BadRequestException(`"${oversized.originalname}" exceeds the ${maxSizeMb} MB per-file limit.`);
|
|
56
|
+
}
|
|
32
57
|
async uploadDocument(files, options) {
|
|
33
|
-
const
|
|
34
|
-
return
|
|
58
|
+
const uploads = await this.uploadDocuments(files, options);
|
|
59
|
+
return Promise.all(uploads.map((upload) => this.getDocumentLink(upload)));
|
|
35
60
|
}
|
|
36
61
|
async uploadDocuments(files, options) {
|
|
37
62
|
return Promise.all(files.map((file) => this.uploadSingleDocument(file, options)));
|
|
@@ -40,54 +65,70 @@ let DocumentService = DocumentService_1 = class DocumentService {
|
|
|
40
65
|
const storage = this.getActiveStorage();
|
|
41
66
|
const storedName = this.generateStoredName(file.originalname);
|
|
42
67
|
const objectPath = this.buildObjectPath(storedName, options?.pathPrefix);
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
|
|
68
|
+
const url = await storage.upload(objectPath, file.buffer, file.mimetype);
|
|
69
|
+
const upload = await this.uploadRepository.save(this.uploadRepository.create({
|
|
70
|
+
original_name: file.originalname,
|
|
71
|
+
stored_name: storedName,
|
|
72
|
+
mime_type: file.mimetype,
|
|
73
|
+
size_bytes: file.size,
|
|
74
|
+
storage_driver: storage.driver,
|
|
46
75
|
path: objectPath,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
mimeType: file.mimetype,
|
|
50
|
-
sizeBytes: file.size,
|
|
51
|
-
storageDriver: storage.driver,
|
|
52
|
-
};
|
|
53
|
-
if (options?.persist)
|
|
54
|
-
await this.persistDocumentRecord(storedDocument, options);
|
|
55
|
-
return storedDocument;
|
|
56
|
-
}
|
|
57
|
-
async persistDocumentRecord(storedDocument, options) {
|
|
58
|
-
if (!options.createdBy || !options.sourceType || !options.sourceId) {
|
|
59
|
-
throw new bad_request_exception_1.BadRequestException('Persisting a document record requires createdBy, sourceType and sourceId options.');
|
|
60
|
-
}
|
|
61
|
-
return this.documentRepository.save(this.documentRepository.create({
|
|
62
|
-
original_name: storedDocument.originalName,
|
|
63
|
-
stored_name: storedDocument.storedName,
|
|
64
|
-
mime_type: storedDocument.mimeType,
|
|
65
|
-
size_bytes: storedDocument.sizeBytes,
|
|
66
|
-
storage_driver: storedDocument.storageDriver,
|
|
67
|
-
path: storedDocument.path,
|
|
68
|
-
is_public: options.isPublic ?? false,
|
|
69
|
-
source_type: options.sourceType,
|
|
70
|
-
source_id: options.sourceId,
|
|
71
|
-
created_by: options.createdBy,
|
|
76
|
+
url,
|
|
77
|
+
is_public: options?.isPublic ?? false,
|
|
72
78
|
}));
|
|
79
|
+
if (options?.sourceType && options?.sourceId)
|
|
80
|
+
await this.setDocument({
|
|
81
|
+
upload_id: upload.id,
|
|
82
|
+
source_type: options.sourceType,
|
|
83
|
+
source_id: options.sourceId,
|
|
84
|
+
});
|
|
85
|
+
return upload;
|
|
86
|
+
}
|
|
87
|
+
async setDocument(dto) {
|
|
88
|
+
const upload = await this.uploadRepository.findOne({
|
|
89
|
+
where: { id: dto.upload_id },
|
|
90
|
+
});
|
|
91
|
+
if (!upload)
|
|
92
|
+
throw new not_found_exception_1.NotFoundException(`Upload "${dto.upload_id}" was not found.`);
|
|
93
|
+
const existing = await this.documentRepository.findOne({
|
|
94
|
+
where: {
|
|
95
|
+
upload_id: dto.upload_id,
|
|
96
|
+
source_type: dto.source_type,
|
|
97
|
+
source_id: dto.source_id,
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
if (existing)
|
|
101
|
+
return existing;
|
|
102
|
+
return this.documentRepository.save(this.documentRepository.create({ ...dto }));
|
|
73
103
|
}
|
|
74
|
-
async deleteDocument(documentUuid
|
|
104
|
+
async deleteDocument(documentUuid) {
|
|
75
105
|
const document = await this.documentRepository.findOne({
|
|
76
106
|
where: { id: documentUuid },
|
|
77
107
|
});
|
|
78
108
|
if (!document)
|
|
79
109
|
throw new not_found_exception_1.NotFoundException(`Document "${documentUuid}" was not found.`);
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
110
|
+
document.deleted_at = new Date();
|
|
111
|
+
return this.documentRepository.save(document);
|
|
112
|
+
}
|
|
113
|
+
async deleteUpload(uploadUuid) {
|
|
114
|
+
const upload = await this.uploadRepository.findOne({
|
|
115
|
+
where: { id: uploadUuid },
|
|
116
|
+
});
|
|
117
|
+
if (!upload)
|
|
118
|
+
throw new not_found_exception_1.NotFoundException(`Upload "${uploadUuid}" was not found.`);
|
|
119
|
+
const attachedCount = await this.documentRepository.count({
|
|
120
|
+
where: { upload_id: uploadUuid },
|
|
121
|
+
withDeleted: true,
|
|
122
|
+
});
|
|
123
|
+
if (attachedCount)
|
|
124
|
+
throw new operation_exception_1.OperationException(`Upload "${uploadUuid}" is attached to ${attachedCount} document record(s) and cannot be deleted.`);
|
|
125
|
+
await this.getStorageByDriver(upload.storage_driver).delete(upload.path);
|
|
126
|
+
await this.uploadRepository.softDelete({ id: uploadUuid });
|
|
127
|
+
}
|
|
128
|
+
async getDocumentLink(upload, options) {
|
|
129
|
+
if (upload.is_public && !options?.signed)
|
|
130
|
+
return upload.url;
|
|
131
|
+
return this.getStorageByDriver(upload.storage_driver).getPresignedUrl(upload.path, options);
|
|
91
132
|
}
|
|
92
133
|
async getPresignedUrl(objectPath, options) {
|
|
93
134
|
return this.getActiveStorage().getPresignedUrl(objectPath, options);
|
|
@@ -95,12 +136,13 @@ let DocumentService = DocumentService_1 = class DocumentService {
|
|
|
95
136
|
async documentExists(objectPath) {
|
|
96
137
|
return this.getActiveStorage().exists(objectPath);
|
|
97
138
|
}
|
|
98
|
-
async getDocumentStream(
|
|
99
|
-
return this.getStorageByDriver(
|
|
139
|
+
async getDocumentStream(upload) {
|
|
140
|
+
return this.getStorageByDriver(upload.storage_driver).getStream(upload.path);
|
|
100
141
|
}
|
|
101
142
|
async findDocumentsBySource(sourceType, sourceId) {
|
|
102
143
|
return this.documentRepository.find({
|
|
103
144
|
where: { source_type: sourceType, source_id: sourceId },
|
|
145
|
+
relations: { upload: true },
|
|
104
146
|
order: { created_at: 'DESC' },
|
|
105
147
|
});
|
|
106
148
|
}
|
|
@@ -126,6 +168,10 @@ let DocumentService = DocumentService_1 = class DocumentService {
|
|
|
126
168
|
.replace(/[^.a-z0-9]/g, '');
|
|
127
169
|
return `${(0, crypto_1.randomUUID)()}${extension}`;
|
|
128
170
|
}
|
|
171
|
+
envNumber(variable, fallback) {
|
|
172
|
+
const parsed = Number(process.env[variable]);
|
|
173
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
|
|
174
|
+
}
|
|
129
175
|
buildObjectPath(storedName, pathPrefix) {
|
|
130
176
|
if (!pathPrefix)
|
|
131
177
|
return storedName;
|
|
@@ -134,12 +180,16 @@ let DocumentService = DocumentService_1 = class DocumentService {
|
|
|
134
180
|
get documentRepository() {
|
|
135
181
|
return this.dataSource.getRepository(document_entity_1.DocumentEntity);
|
|
136
182
|
}
|
|
183
|
+
get uploadRepository() {
|
|
184
|
+
return this.dataSource.getRepository(document_upload_entity_1.DocumentUploadEntity);
|
|
185
|
+
}
|
|
137
186
|
};
|
|
138
187
|
exports.DocumentService = DocumentService;
|
|
139
188
|
exports.DocumentService = DocumentService = DocumentService_1 = __decorate([
|
|
140
189
|
(0, common_1.Injectable)(),
|
|
141
190
|
__metadata("design:paramtypes", [s3_bucket_document_service_1.S3BucketDocumentService,
|
|
142
191
|
minio_bucket_document_service_1.MinioBucketDocumentService,
|
|
192
|
+
system_property_service_1.SystemPropertyService,
|
|
143
193
|
typeorm_1.DataSource])
|
|
144
194
|
], DocumentService);
|
|
145
195
|
//# sourceMappingURL=document.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.service.js","sourceRoot":"","sources":["../../../src/document/services/document.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,mCAAoC;AACpC,+BAA+B;AAE/B,qCAAiD;
|
|
1
|
+
{"version":3,"file":"document.service.js","sourceRoot":"","sources":["../../../src/document/services/document.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DataSource } from 'typeorm';
|
|
2
|
+
import { DatabaseEventDto } from '../../common/dtos/database.event.dto';
|
|
3
|
+
import { CommonSubscriber } from '../../common/subscribers/common.subscriber';
|
|
4
|
+
import { DocumentEntity } from '../entities/document.entity';
|
|
5
|
+
export declare class DocumentSubscriber extends CommonSubscriber<DocumentEntity> {
|
|
6
|
+
protected readonly datasource: DataSource;
|
|
7
|
+
constructor(datasource: DataSource);
|
|
8
|
+
listenTo(): typeof DocumentEntity;
|
|
9
|
+
protected onBeforeUpdate(event: DatabaseEventDto<DocumentEntity>): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=document.subscriber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.subscriber.d.ts","sourceRoot":"","sources":["../../../src/document/subscribers/document.subscriber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,SAAS,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,qBACa,kBAAmB,SAAQ,gBAAgB,CAAC,cAAc,CAAC;IAC1D,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;gBAAtB,UAAU,EAAE,UAAU;IAKrD,QAAQ;IAIR,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,cAAc,CAAC,GAAG,IAAI;CAYxE"}
|
|
@@ -0,0 +1,44 @@
|
|
|
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.DocumentSubscriber = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const auth_1 = require("../../auth/helpers/auth");
|
|
15
|
+
const common_subscriber_1 = require("../../common/subscribers/common.subscriber");
|
|
16
|
+
const document_entity_1 = require("../entities/document.entity");
|
|
17
|
+
let DocumentSubscriber = class DocumentSubscriber extends common_subscriber_1.CommonSubscriber {
|
|
18
|
+
constructor(datasource) {
|
|
19
|
+
super();
|
|
20
|
+
this.datasource = datasource;
|
|
21
|
+
datasource.subscribers.push(this);
|
|
22
|
+
}
|
|
23
|
+
listenTo() {
|
|
24
|
+
return document_entity_1.DocumentEntity;
|
|
25
|
+
}
|
|
26
|
+
onBeforeUpdate(event) {
|
|
27
|
+
const document = event.entity;
|
|
28
|
+
if (!document?.deleted_at || event.previousEntity?.deleted_at)
|
|
29
|
+
return;
|
|
30
|
+
const actorId = auth_1.Auth.user()?.id;
|
|
31
|
+
if (!actorId)
|
|
32
|
+
return;
|
|
33
|
+
document.attributes = {
|
|
34
|
+
...(document.attributes ?? {}),
|
|
35
|
+
deleted_by: actorId,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
exports.DocumentSubscriber = DocumentSubscriber;
|
|
40
|
+
exports.DocumentSubscriber = DocumentSubscriber = __decorate([
|
|
41
|
+
(0, typeorm_1.EventSubscriber)(),
|
|
42
|
+
__metadata("design:paramtypes", [typeorm_1.DataSource])
|
|
43
|
+
], DocumentSubscriber);
|
|
44
|
+
//# sourceMappingURL=document.subscriber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.subscriber.js","sourceRoot":"","sources":["../../../src/document/subscribers/document.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAsD;AACtD,kDAA+C;AAE/C,kFAA8E;AAC9E,iEAA6D;AAGtD,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,oCAAgC;IACtE,YAA+B,UAAsB;QACnD,KAAK,EAAE,CAAC;QADqB,eAAU,GAAV,UAAU,CAAY;QAEnD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,QAAQ;QACN,OAAO,gCAAc,CAAC;IACxB,CAAC;IAES,cAAc,CAAC,KAAuC;QAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAI,KAAK,CAAC,cAAc,EAAE,UAAU;YAAE,OAAO;QAEtE,MAAM,OAAO,GAAG,WAAI,CAAC,IAAI,EAAE,EAAE,EAAwB,CAAC;QACtD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,QAAQ,CAAC,UAAU,GAAG;YACpB,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;YAC9B,UAAU,EAAE,OAAO;SACpB,CAAC;IACJ,CAAC;CACF,CAAA;AAtBY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,yBAAe,GAAE;qCAE2B,oBAAU;GAD1C,kBAAkB,CAsB9B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataSource } from 'typeorm';
|
|
2
|
+
import { CommonSubscriber } from '../../common/subscribers/common.subscriber';
|
|
3
|
+
import { DocumentUploadEntity } from '../entities/document.upload.entity';
|
|
4
|
+
export declare class DocumentUploadSubscriber extends CommonSubscriber<DocumentUploadEntity> {
|
|
5
|
+
protected readonly datasource: DataSource;
|
|
6
|
+
constructor(datasource: DataSource);
|
|
7
|
+
listenTo(): typeof DocumentUploadEntity;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=document.upload.subscriber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.upload.subscriber.d.ts","sourceRoot":"","sources":["../../../src/document/subscribers/document.upload.subscriber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG1E,qBACa,wBAAyB,SAAQ,gBAAgB,CAAC,oBAAoB,CAAC;IACtE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;gBAAtB,UAAU,EAAE,UAAU;IAKrD,QAAQ;CAGT"}
|
|
@@ -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.DocumentUploadSubscriber = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const common_subscriber_1 = require("../../common/subscribers/common.subscriber");
|
|
15
|
+
const document_upload_entity_1 = require("../entities/document.upload.entity");
|
|
16
|
+
let DocumentUploadSubscriber = class DocumentUploadSubscriber extends common_subscriber_1.CommonSubscriber {
|
|
17
|
+
constructor(datasource) {
|
|
18
|
+
super();
|
|
19
|
+
this.datasource = datasource;
|
|
20
|
+
datasource.subscribers.push(this);
|
|
21
|
+
}
|
|
22
|
+
listenTo() {
|
|
23
|
+
return document_upload_entity_1.DocumentUploadEntity;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
exports.DocumentUploadSubscriber = DocumentUploadSubscriber;
|
|
27
|
+
exports.DocumentUploadSubscriber = DocumentUploadSubscriber = __decorate([
|
|
28
|
+
(0, typeorm_1.EventSubscriber)(),
|
|
29
|
+
__metadata("design:paramtypes", [typeorm_1.DataSource])
|
|
30
|
+
], DocumentUploadSubscriber);
|
|
31
|
+
//# sourceMappingURL=document.upload.subscriber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.upload.subscriber.js","sourceRoot":"","sources":["../../../src/document/subscribers/document.upload.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAsD;AACtD,kFAA8E;AAC9E,+EAA0E;AAInE,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,oCAAsC;IAClF,YAA+B,UAAsB;QACnD,KAAK,EAAE,CAAC;QADqB,eAAU,GAAV,UAAU,CAAY;QAEnD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,QAAQ;QACN,OAAO,6CAAoB,CAAC;IAC9B,CAAC;CACF,CAAA;AATY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,yBAAe,GAAE;qCAE2B,oBAAU;GAD1C,wBAAwB,CASpC"}
|
|
@@ -8,20 +8,9 @@ export interface UploadableFile {
|
|
|
8
8
|
export interface UploadDocumentOptions {
|
|
9
9
|
pathPrefix?: string;
|
|
10
10
|
isPublic?: boolean;
|
|
11
|
-
persist?: boolean;
|
|
12
|
-
createdBy?: string;
|
|
13
11
|
sourceType?: string;
|
|
14
12
|
sourceId?: string;
|
|
15
13
|
}
|
|
16
|
-
export interface StoredDocument {
|
|
17
|
-
link: string;
|
|
18
|
-
path: string;
|
|
19
|
-
storedName: string;
|
|
20
|
-
originalName: string;
|
|
21
|
-
mimeType: string;
|
|
22
|
-
sizeBytes: number;
|
|
23
|
-
storageDriver: string;
|
|
24
|
-
}
|
|
25
14
|
export interface PresignedUrlOptions {
|
|
26
15
|
expirySeconds?: number;
|
|
27
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.types.d.ts","sourceRoot":"","sources":["../../../src/document/types/document.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAMlC,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IAEpC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,
|
|
1
|
+
{"version":3,"file":"document.types.d.ts","sourceRoot":"","sources":["../../../src/document/types/document.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAMlC,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IAEpC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAElC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAE9D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAGD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -32,7 +32,8 @@ export { SystemFailedJobEntity } from './common/entities/system.failed.job.entit
|
|
|
32
32
|
export { SystemPropertyEntity } from './common/entities/system.property.entity';
|
|
33
33
|
export { SystemNotificationEntity } from './common/entities/system.notification.entity';
|
|
34
34
|
export { SystemAuditLogEntity } from './common/entities/system.audit.log.entity';
|
|
35
|
-
export { DocumentEntity } from './
|
|
35
|
+
export { DocumentEntity } from './document/entities/document.entity';
|
|
36
|
+
export { DocumentUploadEntity } from './document/entities/document.upload.entity';
|
|
36
37
|
export { SystemScheduledTaskEntity } from './common/entities/system.scheduled.task.entity';
|
|
37
38
|
export { ScheduledEventEntity } from './common/entities/scheduled.event.entity';
|
|
38
39
|
export { UserDeviceTokenEntity } from './notification/entities/user.device.token.entity';
|
|
@@ -79,11 +80,12 @@ export { EmailNotificationDefault } from './notification/enums/email.notificatio
|
|
|
79
80
|
export { EmailTemplateIdentifier } from './notification/enums/email.template.identifier.enum';
|
|
80
81
|
export { RenderedEmailTemplate, SendEmailOptions, } from './notification/types/email.notification.types';
|
|
81
82
|
export { DocumentService } from './document/services/document.service';
|
|
83
|
+
export { SetDocumentDto } from './document/dtos/set.document.dto';
|
|
82
84
|
export { S3BucketDocumentService } from './document/services/s3.bucket.document.service';
|
|
83
85
|
export { MinioBucketDocumentService } from './document/services/minio.bucket.document.service';
|
|
84
|
-
export { DocumentDefault } from './document/enums/document.default.enum';
|
|
86
|
+
export { DocumentDefault, DocumentConstant, } from './document/enums/document.default.enum';
|
|
85
87
|
export { StorageDriver } from './common/enums/storage.driver.enum';
|
|
86
|
-
export { UploadableFile, UploadDocumentOptions,
|
|
88
|
+
export { UploadableFile, UploadDocumentOptions, PresignedUrlOptions, DocumentLinkOptions, BucketDocumentStorage, } from './document/types/document.types';
|
|
87
89
|
export { PdfService } from './document/services/pdf.service';
|
|
88
90
|
export { PdfDefault, PdfConstant } from './document/enums/pdf.default.enum';
|
|
89
91
|
export { PdfRenderOptions, PdfPaperFormat, PdfMargin, } from './document/types/pdf.types';
|
|
@@ -103,7 +105,7 @@ export { SqlTarget } from './common/enums/sql.target.enum';
|
|
|
103
105
|
export { SqlRow, SqlParams, ExecuteSqlOptions, PaginateSqlOptions, } from './common/types/sql.types';
|
|
104
106
|
export { QueueService } from './common/services/queue.service';
|
|
105
107
|
export { CommonJob } from './common/jobs/common.job';
|
|
106
|
-
export { AddJobOptions, DispatchedJobInfo, JobMetadata, QueueStats, FailedJobFilter, } from './common/types/queue.types';
|
|
108
|
+
export { AddJobOptions, DispatchedJobInfo, JobMetadata, QueueJobCounts, QueueStats, FailedJobFilter, } from './common/types/queue.types';
|
|
107
109
|
export { ScheduleKind, CatchUpPolicy, OverlapPolicy, ScheduledEventStatus, } from './common/enums/schedule.enum';
|
|
108
110
|
export { ScheduleInterval, IntervalSchedule, CronSchedule, OnceSchedule, ScheduleSpec, StoredSchedule, } from './common/types/schedule.types';
|
|
109
111
|
export { IsCronExpression, IsTimezone, } from './common/validators/schedule.validator';
|
|
@@ -112,7 +114,7 @@ export { CommonDataProcessor, FieldError, } from './common/libraries/common.data
|
|
|
112
114
|
export { CommonListProcessor } from './common/libraries/common.list.processor';
|
|
113
115
|
export { CommonSubscriber } from './common/subscribers/common.subscriber';
|
|
114
116
|
export { CommonParamsDto } from './common/dtos/common.params.dto';
|
|
115
|
-
export {
|
|
117
|
+
export { CommonDataDto } from './common/dtos/common.data.dto';
|
|
116
118
|
export { DatabaseEventDto } from './common/dtos/database.event.dto';
|
|
117
119
|
export { DatabaseEventType } from './common/types/database.event.type';
|
|
118
120
|
export { CommonListFilterDto } from './common/dtos/common.list.filter.dto';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAG5E,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAG5E,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uDAAuD,CAAC;AAGnG,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAGzF,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,YAAY,GACb,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAClG,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAE,iCAAiC,EAAE,MAAM,2DAA2D,CAAC;AAC9G,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAC9F,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,+CAA+C,CAAC;AAGvD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EACL,eAAe,EACf,gBAAgB,GACjB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,SAAS,GACV,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,2CAA2C,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EACL,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,UAAU,EACV,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,gBAAgB,EAChB,UAAU,GACX,MAAM,wCAAwC,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EACL,mBAAmB,EACnB,UAAU,GACX,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAG1E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAGvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAGjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,GACX,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,WAAW,GACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,aAAa,EACb,YAAY,EACZ,aAAa,EACb,OAAO,GACR,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAG/E,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,QAAQ,GACT,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC"}
|