@servicelabsco/slabs-access-manager 3.0.3 → 3.0.4
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/CHANGELOG.md +90 -0
- package/dist/access/controllers/developer.entity.controller.d.ts +8 -0
- package/dist/access/controllers/developer.entity.controller.js +11 -0
- package/dist/access/controllers/developer.entity.controller.js.map +1 -1
- package/dist/access/controllers/event.trigger.controller.d.ts +3 -2
- package/dist/access/controllers/event.trigger.controller.js +5 -3
- package/dist/access/controllers/event.trigger.controller.js.map +1 -1
- package/dist/access/dtos/developer.entity.get.dto.d.ts +2 -0
- package/dist/access/dtos/developer.entity.get.dto.js +13 -0
- package/dist/access/dtos/developer.entity.get.dto.js.map +1 -1
- package/dist/access/dtos/developer.entity.meta.dto.d.ts +55 -0
- package/dist/access/dtos/developer.entity.meta.dto.js +19 -0
- package/dist/access/dtos/developer.entity.meta.dto.js.map +1 -0
- package/dist/access/dtos/index.d.ts +1 -1
- package/dist/access/dtos/index.js +1 -1
- package/dist/access/dtos/index.js.map +1 -1
- package/dist/access/dtos/update.developer.business.dto.d.ts +1 -0
- package/dist/access/dtos/update.developer.business.dto.js +8 -0
- package/dist/access/dtos/update.developer.business.dto.js.map +1 -1
- package/dist/access/entities/access.business.entity.d.ts +1 -0
- package/dist/access/entities/access.business.entity.js +4 -0
- package/dist/access/entities/access.business.entity.js.map +1 -1
- package/dist/access/entities/event.trigger.entity.d.ts +1 -0
- package/dist/access/entities/event.trigger.entity.js +4 -0
- package/dist/access/entities/event.trigger.entity.js.map +1 -1
- package/dist/access/es6.classes.d.ts +9 -10
- package/dist/access/es6.classes.js +9 -9
- package/dist/access/es6.classes.js.map +1 -1
- package/dist/access/jobs/index.d.ts +1 -0
- package/dist/access/jobs/index.js +1 -0
- package/dist/access/jobs/index.js.map +1 -1
- package/dist/access/jobs/overriding.script.job.d.ts +1 -2
- package/dist/access/jobs/overriding.script.job.js +5 -9
- package/dist/access/jobs/overriding.script.job.js.map +1 -1
- package/dist/access/jobs/overriding.system.script.job.d.ts +8 -0
- package/dist/access/jobs/overriding.system.script.job.js +40 -0
- package/dist/access/jobs/overriding.system.script.job.js.map +1 -0
- package/dist/access/libraries/business.url.d.ts +3 -0
- package/dist/access/libraries/business.url.js +13 -0
- package/dist/access/libraries/business.url.js.map +1 -0
- package/dist/access/libraries/describe.developer.entity.d.ts +19 -0
- package/dist/access/libraries/describe.developer.entity.js +143 -0
- package/dist/access/libraries/describe.developer.entity.js.map +1 -0
- package/dist/access/libraries/index.d.ts +3 -2
- package/dist/access/libraries/index.js +3 -2
- package/dist/access/libraries/index.js.map +1 -1
- package/dist/access/libraries/process.bulk.upload.item.list.js +1 -5
- package/dist/access/libraries/process.bulk.upload.item.list.js.map +1 -1
- package/dist/access/libraries/process.bulk.upload.list.js +1 -5
- package/dist/access/libraries/process.bulk.upload.list.js.map +1 -1
- package/dist/access/libraries/process.common.list.d.ts +2 -0
- package/dist/access/libraries/process.common.list.js +14 -1
- package/dist/access/libraries/process.common.list.js.map +1 -1
- package/dist/access/libraries/process.developer.entity.d.ts +11 -0
- package/dist/access/libraries/process.developer.entity.js +15 -4
- package/dist/access/libraries/process.developer.entity.js.map +1 -1
- package/dist/access/libraries/process.event.trigger.data.d.ts +5 -1
- package/dist/access/libraries/process.event.trigger.data.js +16 -1
- package/dist/access/libraries/process.event.trigger.data.js.map +1 -1
- package/dist/access/libraries/{send.slack.webhook.notification..js → send.slack.webhook.notification.js} +3 -3
- package/dist/access/libraries/send.slack.webhook.notification.js.map +1 -0
- package/dist/access/libraries/update.developer.business.js +3 -0
- package/dist/access/libraries/update.developer.business.js.map +1 -1
- package/dist/access/services/access.business.service.d.ts +2 -3
- package/dist/access/services/access.business.service.js +6 -6
- package/dist/access/services/access.business.service.js.map +1 -1
- package/dist/access/services/gmail.integration.service.d.ts +2 -3
- package/dist/access/services/gmail.integration.service.js +2 -4
- package/dist/access/services/gmail.integration.service.js.map +1 -1
- package/dist/access/services/index.d.ts +0 -2
- package/dist/access/services/index.js +0 -2
- package/dist/access/services/index.js.map +1 -1
- package/dist/access/services/notification.service.js +1 -1
- package/dist/access/services/notification.service.js.map +1 -1
- package/dist/access/services/overriding.script.service.d.ts +2 -0
- package/dist/access/services/overriding.script.service.js +14 -5
- package/dist/access/services/overriding.script.service.js.map +1 -1
- package/dist/accessUtility/controllers/index.d.ts +3 -0
- package/dist/accessUtility/controllers/index.js +3 -0
- package/dist/accessUtility/controllers/index.js.map +1 -1
- package/dist/accessUtility/controllers/remote.file.controller.d.ts +18 -0
- package/dist/accessUtility/controllers/remote.file.controller.js +83 -0
- package/dist/accessUtility/controllers/remote.file.controller.js.map +1 -0
- package/dist/accessUtility/controllers/remote.file.path.controller.d.ts +40 -0
- package/dist/accessUtility/controllers/remote.file.path.controller.js +216 -0
- package/dist/accessUtility/controllers/remote.file.path.controller.js.map +1 -0
- package/dist/accessUtility/controllers/remote.file.rule.controller.d.ts +36 -0
- package/dist/accessUtility/controllers/remote.file.rule.controller.js +81 -0
- package/dist/accessUtility/controllers/remote.file.rule.controller.js.map +1 -0
- package/dist/accessUtility/dtos/add.remote.file.path.dto.d.ts +12 -0
- package/dist/accessUtility/dtos/add.remote.file.path.dto.js +72 -0
- package/dist/accessUtility/dtos/add.remote.file.path.dto.js.map +1 -0
- package/dist/accessUtility/dtos/add.remote.file.rule.dto.d.ts +9 -0
- package/dist/accessUtility/dtos/add.remote.file.rule.dto.js +54 -0
- package/dist/accessUtility/dtos/add.remote.file.rule.dto.js.map +1 -0
- package/dist/accessUtility/dtos/bulk.upload.column.match.score.dto.d.ts +6 -0
- package/dist/accessUtility/dtos/bulk.upload.column.match.score.dto.js +4 -1
- package/dist/accessUtility/dtos/bulk.upload.column.match.score.dto.js.map +1 -1
- package/dist/accessUtility/dtos/check.remote.file.path.dto.d.ts +5 -0
- package/dist/accessUtility/dtos/check.remote.file.path.dto.js +37 -0
- package/dist/accessUtility/dtos/check.remote.file.path.dto.js.map +1 -0
- package/dist/accessUtility/dtos/index.d.ts +13 -1
- package/dist/accessUtility/dtos/index.js +13 -1
- package/dist/accessUtility/dtos/index.js.map +1 -1
- package/dist/accessUtility/dtos/poll.remote.file.paths.payload.dto.d.ts +4 -0
- package/dist/accessUtility/dtos/poll.remote.file.paths.payload.dto.js +7 -0
- package/dist/accessUtility/dtos/poll.remote.file.paths.payload.dto.js.map +1 -0
- package/dist/accessUtility/dtos/remote.file.attributes.dto.d.ts +10 -0
- package/dist/accessUtility/dtos/remote.file.attributes.dto.js +8 -0
- package/dist/accessUtility/dtos/remote.file.attributes.dto.js.map +1 -0
- package/dist/accessUtility/dtos/remote.file.list.filter.dto.d.ts +5 -0
- package/dist/accessUtility/dtos/remote.file.list.filter.dto.js +33 -0
- package/dist/accessUtility/dtos/remote.file.list.filter.dto.js.map +1 -0
- package/dist/accessUtility/dtos/remote.file.path.attributes.dto.d.ts +6 -0
- package/dist/accessUtility/dtos/remote.file.path.attributes.dto.js +8 -0
- package/dist/accessUtility/dtos/remote.file.path.attributes.dto.js.map +1 -0
- package/dist/accessUtility/dtos/remote.file.path.list.filter.dto.d.ts +4 -0
- package/dist/accessUtility/dtos/{lambda.zip.dto.js → remote.file.path.list.filter.dto.js} +10 -11
- package/dist/accessUtility/dtos/remote.file.path.list.filter.dto.js.map +1 -0
- package/dist/accessUtility/dtos/remote.file.path.setup.dto.d.ts +20 -0
- package/dist/accessUtility/dtos/remote.file.path.setup.dto.js +10 -0
- package/dist/accessUtility/dtos/remote.file.path.setup.dto.js.map +1 -0
- package/dist/accessUtility/dtos/remote.file.path.setup.query.dto.d.ts +4 -0
- package/dist/{access/dtos/add.business.app.integration.dto.js → accessUtility/dtos/remote.file.path.setup.query.dto.js} +10 -10
- package/dist/accessUtility/dtos/remote.file.path.setup.query.dto.js.map +1 -0
- package/dist/accessUtility/dtos/remote.file.path.verify.dto.d.ts +20 -0
- package/dist/accessUtility/dtos/remote.file.path.verify.dto.js +10 -0
- package/dist/accessUtility/dtos/remote.file.path.verify.dto.js.map +1 -0
- package/dist/accessUtility/dtos/remote.file.rule.attributes.dto.d.ts +3 -0
- package/dist/accessUtility/dtos/remote.file.rule.attributes.dto.js +8 -0
- package/dist/accessUtility/dtos/remote.file.rule.attributes.dto.js.map +1 -0
- package/dist/accessUtility/dtos/remote.file.rule.list.filter.dto.d.ts +3 -0
- package/dist/accessUtility/dtos/remote.file.rule.list.filter.dto.js +8 -0
- package/dist/accessUtility/dtos/remote.file.rule.list.filter.dto.js.map +1 -0
- package/dist/accessUtility/entities/index.d.ts +3 -0
- package/dist/accessUtility/entities/index.js +3 -0
- package/dist/accessUtility/entities/index.js.map +1 -1
- package/dist/accessUtility/entities/remote.file.entity.d.ts +25 -0
- package/dist/accessUtility/entities/remote.file.entity.js +100 -0
- package/dist/accessUtility/entities/remote.file.entity.js.map +1 -0
- package/dist/accessUtility/entities/remote.file.path.entity.d.ts +18 -0
- package/dist/accessUtility/entities/remote.file.path.entity.js +76 -0
- package/dist/accessUtility/entities/remote.file.path.entity.js.map +1 -0
- package/dist/accessUtility/entities/remote.file.rule.entity.d.ts +15 -0
- package/dist/accessUtility/entities/remote.file.rule.entity.js +65 -0
- package/dist/accessUtility/entities/remote.file.rule.entity.js.map +1 -0
- package/dist/accessUtility/enums/index.d.ts +1 -0
- package/dist/accessUtility/enums/index.js +1 -0
- package/dist/accessUtility/enums/index.js.map +1 -1
- package/dist/accessUtility/enums/remote.file.provider.enum.d.ts +6 -0
- package/dist/accessUtility/enums/remote.file.provider.enum.js +11 -0
- package/dist/accessUtility/enums/remote.file.provider.enum.js.map +1 -0
- package/dist/accessUtility/es6.classes.d.ts +39 -14
- package/dist/accessUtility/es6.classes.js +80 -6
- package/dist/accessUtility/es6.classes.js.map +1 -1
- package/dist/accessUtility/index.d.ts +0 -1
- package/dist/accessUtility/index.js +0 -1
- package/dist/accessUtility/index.js.map +1 -1
- package/dist/accessUtility/jobs/bulk.upload.job.d.ts +1 -4
- package/dist/accessUtility/jobs/bulk.upload.job.js +1 -12
- package/dist/accessUtility/jobs/bulk.upload.job.js.map +1 -1
- package/dist/accessUtility/jobs/evaluate.remote.file.rule.job.d.ts +11 -0
- package/dist/accessUtility/jobs/evaluate.remote.file.rule.job.js +37 -0
- package/dist/accessUtility/jobs/evaluate.remote.file.rule.job.js.map +1 -0
- package/dist/accessUtility/jobs/index.d.ts +3 -1
- package/dist/accessUtility/jobs/index.js +3 -1
- package/dist/accessUtility/jobs/index.js.map +1 -1
- package/dist/accessUtility/jobs/poll.remote.file.paths.job.d.ts +19 -0
- package/dist/accessUtility/jobs/poll.remote.file.paths.job.js +65 -0
- package/dist/accessUtility/jobs/poll.remote.file.paths.job.js.map +1 -0
- package/dist/accessUtility/jobs/remote.file.job.d.ts +9 -0
- package/dist/accessUtility/jobs/remote.file.job.js +38 -0
- package/dist/accessUtility/jobs/remote.file.job.js.map +1 -0
- package/dist/accessUtility/libraries/analyse.bulk.upload.js +1 -1
- package/dist/accessUtility/libraries/analyse.bulk.upload.js.map +1 -1
- package/dist/accessUtility/libraries/check.remote.file.path.access.d.ts +30 -0
- package/dist/accessUtility/libraries/check.remote.file.path.access.js +47 -0
- package/dist/accessUtility/libraries/check.remote.file.path.access.js.map +1 -0
- package/dist/accessUtility/libraries/evaluate.remote.file.rule.d.ts +13 -0
- package/dist/accessUtility/libraries/evaluate.remote.file.rule.js +76 -0
- package/dist/accessUtility/libraries/evaluate.remote.file.rule.js.map +1 -0
- package/dist/accessUtility/libraries/google.drive.remote.file.source.d.ts +17 -0
- package/dist/accessUtility/libraries/google.drive.remote.file.source.js +95 -0
- package/dist/accessUtility/libraries/google.drive.remote.file.source.js.map +1 -0
- package/dist/accessUtility/libraries/index.d.ts +13 -1
- package/dist/accessUtility/libraries/index.js +13 -1
- package/dist/accessUtility/libraries/index.js.map +1 -1
- package/dist/accessUtility/libraries/poll.remote.file.path.d.ts +12 -0
- package/dist/accessUtility/libraries/poll.remote.file.path.js +93 -0
- package/dist/accessUtility/libraries/poll.remote.file.path.js.map +1 -0
- package/dist/accessUtility/libraries/process.bulk.definition.list.js +1 -5
- package/dist/accessUtility/libraries/process.bulk.definition.list.js.map +1 -1
- package/dist/accessUtility/libraries/process.bulk.upload.column.list.js +1 -5
- package/dist/accessUtility/libraries/process.bulk.upload.column.list.js.map +1 -1
- package/dist/accessUtility/libraries/process.bulk.upload.definition.change.js +3 -2
- package/dist/accessUtility/libraries/process.bulk.upload.definition.change.js.map +1 -1
- package/dist/accessUtility/libraries/process.bulk.upload.type.list.js +1 -5
- package/dist/accessUtility/libraries/process.bulk.upload.type.list.js.map +1 -1
- package/dist/accessUtility/libraries/process.remote.file.list.d.ts +17 -0
- package/dist/accessUtility/libraries/process.remote.file.list.js +34 -0
- package/dist/accessUtility/libraries/process.remote.file.list.js.map +1 -0
- package/dist/accessUtility/libraries/process.remote.file.path.data.d.ts +18 -0
- package/dist/accessUtility/libraries/process.remote.file.path.data.js +71 -0
- package/dist/accessUtility/libraries/process.remote.file.path.data.js.map +1 -0
- package/dist/accessUtility/libraries/process.remote.file.path.list.d.ts +17 -0
- package/dist/accessUtility/libraries/process.remote.file.path.list.js +31 -0
- package/dist/accessUtility/libraries/process.remote.file.path.list.js.map +1 -0
- package/dist/accessUtility/libraries/process.remote.file.rule.data.d.ts +15 -0
- package/dist/accessUtility/libraries/process.remote.file.rule.data.js +60 -0
- package/dist/accessUtility/libraries/process.remote.file.rule.data.js.map +1 -0
- package/dist/accessUtility/libraries/process.remote.file.rule.list.d.ts +17 -0
- package/dist/accessUtility/libraries/process.remote.file.rule.list.js +29 -0
- package/dist/accessUtility/libraries/process.remote.file.rule.list.js.map +1 -0
- package/dist/accessUtility/libraries/remote.file.path.setup.d.ts +16 -0
- package/dist/accessUtility/libraries/remote.file.path.setup.js +83 -0
- package/dist/accessUtility/libraries/remote.file.path.setup.js.map +1 -0
- package/dist/accessUtility/libraries/remote.file.sources.d.ts +36 -0
- package/dist/accessUtility/libraries/remote.file.sources.js +22 -0
- package/dist/accessUtility/libraries/remote.file.sources.js.map +1 -0
- package/dist/accessUtility/libraries/storage.remote.file.source.d.ts +13 -0
- package/dist/accessUtility/libraries/storage.remote.file.source.js +42 -0
- package/dist/accessUtility/libraries/storage.remote.file.source.js.map +1 -0
- package/dist/accessUtility/libraries/verify.remote.file.path.d.ts +21 -0
- package/dist/accessUtility/libraries/verify.remote.file.path.js +154 -0
- package/dist/accessUtility/libraries/verify.remote.file.path.js.map +1 -0
- package/dist/accessUtility/services/aws.identity.service.d.ts +15 -0
- package/dist/accessUtility/services/aws.identity.service.js +56 -0
- package/dist/accessUtility/services/aws.identity.service.js.map +1 -0
- package/dist/accessUtility/services/index.d.ts +1 -0
- package/dist/accessUtility/services/index.js +1 -0
- package/dist/accessUtility/services/index.js.map +1 -1
- package/dist/accessUtility/services/lambda.service.d.ts +2 -3
- package/dist/accessUtility/services/lambda.service.js +2 -4
- package/dist/accessUtility/services/lambda.service.js.map +1 -1
- package/dist/accessUtility/services/match.bulk.upload.columns.service.d.ts +4 -0
- package/dist/accessUtility/services/match.bulk.upload.columns.service.js +28 -4
- package/dist/accessUtility/services/match.bulk.upload.columns.service.js.map +1 -1
- package/dist/accessUtility/subscribers/index.d.ts +3 -0
- package/dist/accessUtility/subscribers/index.js +3 -0
- package/dist/accessUtility/subscribers/index.js.map +1 -1
- package/dist/accessUtility/subscribers/remote.file.path.subscriber.d.ts +8 -0
- package/dist/accessUtility/subscribers/remote.file.path.subscriber.js +31 -0
- package/dist/accessUtility/subscribers/remote.file.path.subscriber.js.map +1 -0
- package/dist/accessUtility/subscribers/remote.file.rule.subscriber.d.ts +8 -0
- package/dist/accessUtility/subscribers/remote.file.rule.subscriber.js +31 -0
- package/dist/accessUtility/subscribers/remote.file.rule.subscriber.js.map +1 -0
- package/dist/accessUtility/subscribers/remote.file.subscriber.d.ts +8 -0
- package/dist/{access/services/request.log.service.js → accessUtility/subscribers/remote.file.subscriber.js} +18 -17
- package/dist/accessUtility/subscribers/remote.file.subscriber.js.map +1 -0
- package/dist/config/source.hash.d.ts +3 -0
- package/dist/config/source.hash.js +3 -0
- package/dist/config/source.hash.js.map +1 -1
- package/dist/development/dtos/material.view.catalog.attributes.dto.d.ts +0 -3
- package/dist/development/dtos/material.view.catalog.attributes.dto.js +0 -4
- package/dist/development/dtos/material.view.catalog.attributes.dto.js.map +1 -1
- package/dist/migrations/1790533017292-CreateRemoteFilePathTable.d.ts +5 -0
- package/dist/migrations/1790533017292-CreateRemoteFilePathTable.js +31 -0
- package/dist/migrations/1790533017292-CreateRemoteFilePathTable.js.map +1 -0
- package/dist/migrations/1790533017293-CreateRemoteFileRuleTable.d.ts +5 -0
- package/dist/migrations/1790533017293-CreateRemoteFileRuleTable.js +26 -0
- package/dist/migrations/1790533017293-CreateRemoteFileRuleTable.js.map +1 -0
- package/dist/migrations/1790533017294-CreateRemoteFileTable.d.ts +5 -0
- package/dist/migrations/1790533017294-CreateRemoteFileTable.js +33 -0
- package/dist/migrations/1790533017294-CreateRemoteFileTable.js.map +1 -0
- package/dist/migrations/1793722190500-EnsureUrlColumnBzBusinessDetailsTable.d.ts +5 -0
- package/dist/migrations/1793722190500-EnsureUrlColumnBzBusinessDetailsTable.js +13 -0
- package/dist/migrations/1793722190500-EnsureUrlColumnBzBusinessDetailsTable.js.map +1 -0
- package/dist/migrations/1793821797214-AddVersionColumnBzEventTriggersTable.d.ts +5 -0
- package/dist/migrations/1793821797214-AddVersionColumnBzEventTriggersTable.js +15 -0
- package/dist/migrations/1793821797214-AddVersionColumnBzEventTriggersTable.js.map +1 -0
- package/package.json +3 -2
- package/dist/access/dtos/add.business.app.integration.dto.d.ts +0 -4
- package/dist/access/dtos/add.business.app.integration.dto.js.map +0 -1
- package/dist/access/libraries/process.business.script.data.d.ts +0 -12
- package/dist/access/libraries/process.business.script.data.js +0 -36
- package/dist/access/libraries/process.business.script.data.js.map +0 -1
- package/dist/access/libraries/send.slack.webhook.notification..js.map +0 -1
- package/dist/access/services/app.integration.service.d.ts +0 -9
- package/dist/access/services/app.integration.service.js +0 -63
- package/dist/access/services/app.integration.service.js.map +0 -1
- package/dist/access/services/request.log.service.d.ts +0 -7
- package/dist/access/services/request.log.service.js.map +0 -1
- package/dist/accessUtility/accessUtility.module.d.ts +0 -2
- package/dist/accessUtility/accessUtility.module.js +0 -27
- package/dist/accessUtility/accessUtility.module.js.map +0 -1
- package/dist/accessUtility/dtos/lambda.zip.dto.d.ts +0 -4
- package/dist/accessUtility/dtos/lambda.zip.dto.js.map +0 -1
- package/dist/accessUtility/jobs/bulk.upload.column.match.job.d.ts +0 -13
- package/dist/accessUtility/jobs/bulk.upload.column.match.job.js +0 -61
- package/dist/accessUtility/jobs/bulk.upload.column.match.job.js.map +0 -1
- package/dist/accessUtility/libraries/process.report.listing.d.ts +0 -23
- package/dist/accessUtility/libraries/process.report.listing.js +0 -93
- package/dist/accessUtility/libraries/process.report.listing.js.map +0 -1
- package/dist/config/constants.d.ts +0 -10
- package/dist/config/constants.js +0 -12
- package/dist/config/constants.js.map +0 -1
- package/dist/config/redis.config.d.ts +0 -5
- package/dist/config/redis.config.js +0 -9
- package/dist/config/redis.config.js.map +0 -1
- /package/dist/access/libraries/{send.slack.webhook.notification..d.ts → send.slack.webhook.notification.d.ts} +0 -0
|
@@ -2,18 +2,15 @@ import { DatabaseEventDto, QueueService } from '@servicelabsco/nestjs-utility-se
|
|
|
2
2
|
import { CommonWorkflowJob } from '../../accessWorkflow/jobs/common.workflow.job';
|
|
3
3
|
import { BulkUploadEntity } from '../entities/bulk.upload.entity';
|
|
4
4
|
import { AnalyseBulkUploadJob } from './analyse.bulk.upload.job';
|
|
5
|
-
import { BulkUploadColumnMatchJob } from './bulk.upload.column.match.job';
|
|
6
5
|
import { SetBulkUploadStatusJob } from './set.bulk.upload.status.job';
|
|
7
6
|
export declare class BulkUploadJob extends CommonWorkflowJob {
|
|
8
7
|
protected readonly queueService: QueueService;
|
|
9
8
|
private readonly analyseBulkUploadJob;
|
|
10
|
-
private readonly bulkUploadColumnMatchJob;
|
|
11
9
|
private readonly setBulkUploadStatusJob;
|
|
12
|
-
constructor(queueService: QueueService, analyseBulkUploadJob: AnalyseBulkUploadJob,
|
|
10
|
+
constructor(queueService: QueueService, analyseBulkUploadJob: AnalyseBulkUploadJob, setBulkUploadStatusJob: SetBulkUploadStatusJob);
|
|
13
11
|
handle(evt: DatabaseEventDto<BulkUploadEntity>): Promise<void>;
|
|
14
12
|
private handleCreation;
|
|
15
13
|
private handleApproval;
|
|
16
|
-
private handleColumnMatch;
|
|
17
14
|
private setAnalysedAt;
|
|
18
15
|
private setProcessedAt;
|
|
19
16
|
}
|
|
@@ -18,14 +18,12 @@ const SourceHash = require("../../config/source.hash");
|
|
|
18
18
|
const bulk_upload_entity_1 = require("../entities/bulk.upload.entity");
|
|
19
19
|
const bulk_upload_status_type_enum_1 = require("../enums/bulk.upload.status.type.enum");
|
|
20
20
|
const analyse_bulk_upload_job_1 = require("./analyse.bulk.upload.job");
|
|
21
|
-
const bulk_upload_column_match_job_1 = require("./bulk.upload.column.match.job");
|
|
22
21
|
const set_bulk_upload_status_job_1 = require("./set.bulk.upload.status.job");
|
|
23
22
|
let BulkUploadJob = class BulkUploadJob extends common_workflow_job_1.CommonWorkflowJob {
|
|
24
|
-
constructor(queueService, analyseBulkUploadJob,
|
|
23
|
+
constructor(queueService, analyseBulkUploadJob, setBulkUploadStatusJob) {
|
|
25
24
|
super('42c644ec2f0a2c9bbe7dcb133575af17');
|
|
26
25
|
this.queueService = queueService;
|
|
27
26
|
this.analyseBulkUploadJob = analyseBulkUploadJob;
|
|
28
|
-
this.bulkUploadColumnMatchJob = bulkUploadColumnMatchJob;
|
|
29
27
|
this.setBulkUploadStatusJob = setBulkUploadStatusJob;
|
|
30
28
|
this.sourceType = SourceHash.bulkUpload;
|
|
31
29
|
}
|
|
@@ -35,7 +33,6 @@ let BulkUploadJob = class BulkUploadJob extends common_workflow_job_1.CommonWork
|
|
|
35
33
|
await this.handleApproval(evt);
|
|
36
34
|
await this.setProcessedAt(evt);
|
|
37
35
|
await this.setAnalysedAt(evt);
|
|
38
|
-
await this.handleColumnMatch(evt);
|
|
39
36
|
}
|
|
40
37
|
async handleCreation(evt) {
|
|
41
38
|
if (!this.isNewRecord(evt))
|
|
@@ -66,13 +63,6 @@ let BulkUploadJob = class BulkUploadJob extends common_workflow_job_1.CommonWork
|
|
|
66
63
|
return null;
|
|
67
64
|
return this.analyseBulkUploadJob.dispatch(evt.entity.id);
|
|
68
65
|
}
|
|
69
|
-
async handleColumnMatch(evt) {
|
|
70
|
-
if (!this.isColumnUpdated(evt, ['analysed_at']))
|
|
71
|
-
return null;
|
|
72
|
-
if (!evt.entity.analysed_at)
|
|
73
|
-
return null;
|
|
74
|
-
return this.bulkUploadColumnMatchJob.dispatch(evt.entity.id);
|
|
75
|
-
}
|
|
76
66
|
async setAnalysedAt(evt) {
|
|
77
67
|
if (!this.isColumnUpdated(evt, ['total_rows', 'analysed_rows']))
|
|
78
68
|
return;
|
|
@@ -116,7 +106,6 @@ exports.BulkUploadJob = BulkUploadJob = __decorate([
|
|
|
116
106
|
(0, common_1.Injectable)(),
|
|
117
107
|
__metadata("design:paramtypes", [nestjs_utility_services_1.QueueService,
|
|
118
108
|
analyse_bulk_upload_job_1.AnalyseBulkUploadJob,
|
|
119
|
-
bulk_upload_column_match_job_1.BulkUploadColumnMatchJob,
|
|
120
109
|
set_bulk_upload_status_job_1.SetBulkUploadStatusJob])
|
|
121
110
|
], BulkUploadJob);
|
|
122
111
|
//# sourceMappingURL=bulk.upload.job.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk.upload.job.js","sourceRoot":"","sources":["../../../src/accessUtility/jobs/bulk.upload.job.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAAsG;AACtG,+FAA0F;AAC1F,uFAAkF;AAClF,uDAAwD;AACxD,uEAAkE;AAClE,wFAAiF;AACjF,uEAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"bulk.upload.job.js","sourceRoot":"","sources":["../../../src/accessUtility/jobs/bulk.upload.job.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CommonJob, QueueService, StorageService } from '@servicelabsco/nestjs-utility-services';
|
|
2
|
+
import { GoogleDriveService } from '../services/google.drive.service';
|
|
3
|
+
export declare class EvaluateRemoteFileRuleJob extends CommonJob {
|
|
4
|
+
protected readonly queueService: QueueService;
|
|
5
|
+
private readonly storageService;
|
|
6
|
+
private readonly googleDriveService;
|
|
7
|
+
protected priority: number;
|
|
8
|
+
protected noDuplicate: boolean;
|
|
9
|
+
constructor(queueService: QueueService, storageService: StorageService, googleDriveService: GoogleDriveService);
|
|
10
|
+
handle(fileId: number): Promise<import("..").RemoteFileEntity>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
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.EvaluateRemoteFileRuleJob = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
|
|
15
|
+
const evaluate_remote_file_rule_1 = require("../libraries/evaluate.remote.file.rule");
|
|
16
|
+
const google_drive_service_1 = require("../services/google.drive.service");
|
|
17
|
+
let EvaluateRemoteFileRuleJob = class EvaluateRemoteFileRuleJob extends nestjs_utility_services_1.CommonJob {
|
|
18
|
+
constructor(queueService, storageService, googleDriveService) {
|
|
19
|
+
super('f397f24bf23a3e12f11f65ac36336881');
|
|
20
|
+
this.queueService = queueService;
|
|
21
|
+
this.storageService = storageService;
|
|
22
|
+
this.googleDriveService = googleDriveService;
|
|
23
|
+
this.priority = 10;
|
|
24
|
+
this.noDuplicate = true;
|
|
25
|
+
}
|
|
26
|
+
async handle(fileId) {
|
|
27
|
+
return new evaluate_remote_file_rule_1.EvaluateRemoteFileRule(this.storageService, this.googleDriveService).process(fileId);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
exports.EvaluateRemoteFileRuleJob = EvaluateRemoteFileRuleJob;
|
|
31
|
+
exports.EvaluateRemoteFileRuleJob = EvaluateRemoteFileRuleJob = __decorate([
|
|
32
|
+
(0, common_1.Injectable)(),
|
|
33
|
+
__metadata("design:paramtypes", [nestjs_utility_services_1.QueueService,
|
|
34
|
+
nestjs_utility_services_1.StorageService,
|
|
35
|
+
google_drive_service_1.GoogleDriveService])
|
|
36
|
+
], EvaluateRemoteFileRuleJob);
|
|
37
|
+
//# sourceMappingURL=evaluate.remote.file.rule.job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate.remote.file.rule.job.js","sourceRoot":"","sources":["../../../src/accessUtility/jobs/evaluate.remote.file.rule.job.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAAiG;AACjG,sFAAgF;AAChF,2EAAsE;AAM/D,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,mCAAS;IAIpD,YACuB,YAA0B,EAC5B,cAA8B,EAC9B,kBAAsC;QAEvD,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAJvB,iBAAY,GAAZ,YAAY,CAAc;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,uBAAkB,GAAlB,kBAAkB,CAAoB;QANjD,aAAQ,GAAG,EAAE,CAAC;QACd,gBAAW,GAAG,IAAI,CAAC;IAQ7B,CAAC;IAMD,KAAK,CAAC,MAAM,CAAC,MAAc;QACvB,OAAO,IAAI,kDAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpG,CAAC;CACJ,CAAA;AAnBY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAM4B,sCAAY;QACZ,wCAAc;QACV,yCAAkB;GAPlD,yBAAyB,CAmBrC"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
export * from './analyse.bulk.upload.job';
|
|
2
|
-
export * from './bulk.upload.column.match.job';
|
|
3
2
|
export * from './bulk.upload.item.job';
|
|
4
3
|
export * from './bulk.upload.job';
|
|
5
4
|
export * from './bulk.upload.stats.job';
|
|
6
5
|
export * from './business.policy.job';
|
|
7
6
|
export * from './data.violation.job';
|
|
7
|
+
export * from './evaluate.remote.file.rule.job';
|
|
8
8
|
export * from './pdfDocument.job';
|
|
9
|
+
export * from './poll.remote.file.paths.job';
|
|
9
10
|
export * from './push.to.bulk.item.job';
|
|
11
|
+
export * from './remote.file.job';
|
|
10
12
|
export * from './reset.business.policy.job';
|
|
11
13
|
export * from './sanitize.bulk.upload.job';
|
|
12
14
|
export * from './set.bulk.upload.status.job';
|
|
@@ -15,14 +15,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./analyse.bulk.upload.job"), exports);
|
|
18
|
-
__exportStar(require("./bulk.upload.column.match.job"), exports);
|
|
19
18
|
__exportStar(require("./bulk.upload.item.job"), exports);
|
|
20
19
|
__exportStar(require("./bulk.upload.job"), exports);
|
|
21
20
|
__exportStar(require("./bulk.upload.stats.job"), exports);
|
|
22
21
|
__exportStar(require("./business.policy.job"), exports);
|
|
23
22
|
__exportStar(require("./data.violation.job"), exports);
|
|
23
|
+
__exportStar(require("./evaluate.remote.file.rule.job"), exports);
|
|
24
24
|
__exportStar(require("./pdfDocument.job"), exports);
|
|
25
|
+
__exportStar(require("./poll.remote.file.paths.job"), exports);
|
|
25
26
|
__exportStar(require("./push.to.bulk.item.job"), exports);
|
|
27
|
+
__exportStar(require("./remote.file.job"), exports);
|
|
26
28
|
__exportStar(require("./reset.business.policy.job"), exports);
|
|
27
29
|
__exportStar(require("./sanitize.bulk.upload.job"), exports);
|
|
28
30
|
__exportStar(require("./set.bulk.upload.status.job"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/accessUtility/jobs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,4DAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/accessUtility/jobs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,4DAA0C;AAC1C,yDAAuC;AACvC,oDAAkC;AAClC,0DAAwC;AACxC,wDAAsC;AACtC,uDAAqC;AACrC,kEAAgD;AAChD,oDAAkC;AAClC,+DAA6C;AAC7C,0DAAwC;AACxC,oDAAkC;AAClC,8DAA4C;AAC5C,6DAA2C;AAC3C,+DAA6C"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CommonJob, QueueService, StorageService } from '@servicelabsco/nestjs-utility-services';
|
|
2
|
+
import { PollRemoteFilePathsPayloadDto } from '../dtos/poll.remote.file.paths.payload.dto';
|
|
3
|
+
import { RemoteFilePathEntity } from '../entities/remote.file.path.entity';
|
|
4
|
+
import { GoogleDriveService } from '../services/google.drive.service';
|
|
5
|
+
export declare class PollRemoteFilePathsJob extends CommonJob {
|
|
6
|
+
protected readonly queueService: QueueService;
|
|
7
|
+
private readonly storageService;
|
|
8
|
+
private readonly googleDriveService;
|
|
9
|
+
protected priority: number;
|
|
10
|
+
protected noDuplicate: boolean;
|
|
11
|
+
protected timeout: number;
|
|
12
|
+
constructor(queueService: QueueService, storageService: StorageService, googleDriveService: GoogleDriveService);
|
|
13
|
+
handle(payload?: PollRemoteFilePathsPayloadDto): Promise<{
|
|
14
|
+
paths: number;
|
|
15
|
+
discovered: number;
|
|
16
|
+
}>;
|
|
17
|
+
private loadPaths;
|
|
18
|
+
static isDue(path: RemoteFilePathEntity, now?: number): boolean;
|
|
19
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
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 PollRemoteFilePathsJob_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.PollRemoteFilePathsJob = void 0;
|
|
14
|
+
const common_1 = require("@nestjs/common");
|
|
15
|
+
const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
|
|
16
|
+
const typeorm_1 = require("typeorm");
|
|
17
|
+
const remote_file_path_entity_1 = require("../entities/remote.file.path.entity");
|
|
18
|
+
const poll_remote_file_path_1 = require("../libraries/poll.remote.file.path");
|
|
19
|
+
const remote_file_sources_1 = require("../libraries/remote.file.sources");
|
|
20
|
+
const google_drive_service_1 = require("../services/google.drive.service");
|
|
21
|
+
let PollRemoteFilePathsJob = PollRemoteFilePathsJob_1 = class PollRemoteFilePathsJob extends nestjs_utility_services_1.CommonJob {
|
|
22
|
+
constructor(queueService, storageService, googleDriveService) {
|
|
23
|
+
super('1f213050f120b57189f16015b27ae233');
|
|
24
|
+
this.queueService = queueService;
|
|
25
|
+
this.storageService = storageService;
|
|
26
|
+
this.googleDriveService = googleDriveService;
|
|
27
|
+
this.priority = 10;
|
|
28
|
+
this.noDuplicate = true;
|
|
29
|
+
this.timeout = 10 * 60 * 1000;
|
|
30
|
+
}
|
|
31
|
+
async handle(payload) {
|
|
32
|
+
const paths = await this.loadPaths(payload);
|
|
33
|
+
const poller = new poll_remote_file_path_1.PollRemoteFilePath(new remote_file_sources_1.RemoteFileSources(this.storageService, this.googleDriveService));
|
|
34
|
+
let discovered = 0;
|
|
35
|
+
for (const path of paths) {
|
|
36
|
+
const count = await poller.process(path);
|
|
37
|
+
discovered += count;
|
|
38
|
+
}
|
|
39
|
+
return { paths: paths.length, discovered };
|
|
40
|
+
}
|
|
41
|
+
async loadPaths(payload) {
|
|
42
|
+
if (payload?.path_id) {
|
|
43
|
+
const path = await remote_file_path_entity_1.RemoteFilePathEntity.findOne({ where: { id: payload.path_id, active: true, deleted_at: (0, typeorm_1.IsNull)() } });
|
|
44
|
+
return path ? [path] : [];
|
|
45
|
+
}
|
|
46
|
+
const where = { active: true, deleted_at: (0, typeorm_1.IsNull)() };
|
|
47
|
+
if (payload?.business_id)
|
|
48
|
+
where.business_id = payload.business_id;
|
|
49
|
+
const paths = await remote_file_path_entity_1.RemoteFilePathEntity.find({ where });
|
|
50
|
+
return paths.filter((path) => PollRemoteFilePathsJob_1.isDue(path));
|
|
51
|
+
}
|
|
52
|
+
static isDue(path, now = Date.now()) {
|
|
53
|
+
if (!path.poll_interval_seconds || !path.last_polled_at)
|
|
54
|
+
return true;
|
|
55
|
+
return now >= new Date(path.last_polled_at).getTime() + path.poll_interval_seconds * 1000;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
exports.PollRemoteFilePathsJob = PollRemoteFilePathsJob;
|
|
59
|
+
exports.PollRemoteFilePathsJob = PollRemoteFilePathsJob = PollRemoteFilePathsJob_1 = __decorate([
|
|
60
|
+
(0, common_1.Injectable)(),
|
|
61
|
+
__metadata("design:paramtypes", [nestjs_utility_services_1.QueueService,
|
|
62
|
+
nestjs_utility_services_1.StorageService,
|
|
63
|
+
google_drive_service_1.GoogleDriveService])
|
|
64
|
+
], PollRemoteFilePathsJob);
|
|
65
|
+
//# sourceMappingURL=poll.remote.file.paths.job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poll.remote.file.paths.job.js","sourceRoot":"","sources":["../../../src/accessUtility/jobs/poll.remote.file.paths.job.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAAiG;AACjG,qCAAiC;AAEjC,iFAA2E;AAC3E,8EAAwE;AACxE,0EAAqE;AACrE,2EAAsE;AAU/D,IAAM,sBAAsB,8BAA5B,MAAM,sBAAuB,SAAQ,mCAAS;IAKjD,YACuB,YAA0B,EAC5B,cAA8B,EAC9B,kBAAsC;QAEvD,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAJvB,iBAAY,GAAZ,YAAY,CAAc;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,uBAAkB,GAAlB,kBAAkB,CAAoB;QAPjD,aAAQ,GAAG,EAAE,CAAC;QACd,gBAAW,GAAG,IAAI,CAAC;QACnB,YAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAQnC,CAAC;IAMD,KAAK,CAAC,MAAM,CAAC,OAAuC;QAChD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,0CAAkB,CAAC,IAAI,uCAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC3G,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzC,UAAU,IAAI,KAAK,CAAC;QACxB,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,OAAuC;QAC3D,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,MAAM,8CAAoB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAA,gBAAM,GAAE,EAAE,EAAE,CAAC,CAAC;YACxH,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,KAAK,GAAwB,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAA,gBAAM,GAAE,EAAE,CAAC;QAC1E,IAAI,OAAO,EAAE,WAAW;YAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAElE,MAAM,KAAK,GAAG,MAAM,8CAAoB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAEzD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAQD,MAAM,CAAC,KAAK,CAAC,IAA0B,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QACrD,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAErE,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAC9F,CAAC;CACJ,CAAA;AAvDY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;qCAO4B,sCAAY;QACZ,wCAAc;QACV,yCAAkB;GARlD,sBAAsB,CAuDlC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CommonJob, DatabaseEventDto, QueueService } from '@servicelabsco/nestjs-utility-services';
|
|
2
|
+
import { RemoteFileEntity } from '../entities/remote.file.entity';
|
|
3
|
+
import { EvaluateRemoteFileRuleJob } from './evaluate.remote.file.rule.job';
|
|
4
|
+
export declare class RemoteFileJob extends CommonJob {
|
|
5
|
+
protected readonly queueService: QueueService;
|
|
6
|
+
private readonly evaluateRemoteFileRuleJob;
|
|
7
|
+
constructor(queueService: QueueService, evaluateRemoteFileRuleJob: EvaluateRemoteFileRuleJob);
|
|
8
|
+
handle(evt: DatabaseEventDto<RemoteFileEntity>): Promise<boolean>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
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.RemoteFileJob = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
|
|
15
|
+
const remote_file_entity_1 = require("../entities/remote.file.entity");
|
|
16
|
+
const evaluate_remote_file_rule_job_1 = require("./evaluate.remote.file.rule.job");
|
|
17
|
+
let RemoteFileJob = class RemoteFileJob extends nestjs_utility_services_1.CommonJob {
|
|
18
|
+
constructor(queueService, evaluateRemoteFileRuleJob) {
|
|
19
|
+
super('4a21508f4228b2a5e3fa4f58b0482728');
|
|
20
|
+
this.queueService = queueService;
|
|
21
|
+
this.evaluateRemoteFileRuleJob = evaluateRemoteFileRuleJob;
|
|
22
|
+
}
|
|
23
|
+
async handle(evt) {
|
|
24
|
+
const file = evt.entity;
|
|
25
|
+
if (!file?.id || file.deleted_at || file.processed_at)
|
|
26
|
+
return false;
|
|
27
|
+
await this.evaluateRemoteFileRuleJob.dispatch(file.id);
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.RemoteFileJob = RemoteFileJob;
|
|
32
|
+
exports.RemoteFileJob = RemoteFileJob = __decorate([
|
|
33
|
+
(0, nestjs_utility_services_1.SubscribeFor)(remote_file_entity_1.RemoteFileEntity),
|
|
34
|
+
(0, common_1.Injectable)(),
|
|
35
|
+
__metadata("design:paramtypes", [nestjs_utility_services_1.QueueService,
|
|
36
|
+
evaluate_remote_file_rule_job_1.EvaluateRemoteFileRuleJob])
|
|
37
|
+
], RemoteFileJob);
|
|
38
|
+
//# sourceMappingURL=remote.file.job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote.file.job.js","sourceRoot":"","sources":["../../../src/accessUtility/jobs/remote.file.job.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAAiH;AACjH,uEAAkE;AAClE,mFAA4E;AAOrE,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,mCAAS;IACxC,YACuB,YAA0B,EAC5B,yBAAoD;QAErE,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAHvB,iBAAY,GAAZ,YAAY,CAAc;QAC5B,8BAAyB,GAAzB,yBAAyB,CAA2B;IAGzE,CAAC;IAMD,KAAK,CAAC,MAAM,CAAC,GAAuC;QAChD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;QACxB,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAEpE,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AApBY,sCAAa;wBAAb,aAAa;IAFzB,IAAA,sCAAY,EAAC,qCAAgB,CAAC;IAC9B,IAAA,mBAAU,GAAE;qCAG4B,sCAAY;QACD,yDAAyB;GAHhE,aAAa,CAoBzB"}
|
|
@@ -22,7 +22,7 @@ class AnalyseBulkUpload extends read_xls_file_1.ReadXlsFile {
|
|
|
22
22
|
this.upload = entity;
|
|
23
23
|
try {
|
|
24
24
|
const types = await this.bulkUploadService.getUploadTypes(entity);
|
|
25
|
-
const score = await this.matchBulkUploadColumnsService.
|
|
25
|
+
const score = await this.matchBulkUploadColumnsService.scoreForAnalysis(entity);
|
|
26
26
|
score_bulk_upload_columns_1.ScoreBulkUploadColumns.assertMandatoryMatched(score);
|
|
27
27
|
await this.cleanExistingItems(entity);
|
|
28
28
|
const totalRows = await this.handle(types);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyse.bulk.upload.js","sourceRoot":"","sources":["../../../src/accessUtility/libraries/analyse.bulk.upload.ts"],"names":[],"mappings":";;;AAAA,oFAAsI;AACtI,uEAAkE;AAKlE,2EAAqE;AACrE,mDAA8C;AAgB9C,MAAa,iBAAkB,SAAQ,2BAAW;IAC9C,YACuB,aAA4B,EAC5B,iBAAoC,EACpC,iBAAoC,EACpC,eAAgC,EAChC,UAAsB,EACtB,YAA0B,EAC1B,0BAAsD,EACtD,6BAA4D;QAE/E,KAAK,EAAE,CAAC;QATW,kBAAa,GAAb,aAAa,CAAe;QAC5B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,oBAAe,GAAf,eAAe,CAAiB;QAChC,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,kCAA6B,GAA7B,6BAA6B,CAA+B;IAGnF,CAAC;IAQD,KAAK,CAAC,OAAO,CAAC,EAAU;QACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAElE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,
|
|
1
|
+
{"version":3,"file":"analyse.bulk.upload.js","sourceRoot":"","sources":["../../../src/accessUtility/libraries/analyse.bulk.upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { RemoteFileSources } from './remote.file.sources';
|
|
2
|
+
export interface CheckRemoteFilePathInput {
|
|
3
|
+
provider: string;
|
|
4
|
+
bucket: string;
|
|
5
|
+
path?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface CheckRemoteFilePathResult {
|
|
8
|
+
ok: boolean;
|
|
9
|
+
provider: string;
|
|
10
|
+
bucket: string;
|
|
11
|
+
path: string;
|
|
12
|
+
sample_count?: number;
|
|
13
|
+
sample_key?: string;
|
|
14
|
+
name?: string;
|
|
15
|
+
code?: string | null;
|
|
16
|
+
error?: string | null;
|
|
17
|
+
}
|
|
18
|
+
export declare class CheckRemoteFilePathAccess {
|
|
19
|
+
private readonly sources;
|
|
20
|
+
constructor(sources: RemoteFileSources);
|
|
21
|
+
process(input: CheckRemoteFilePathInput): Promise<CheckRemoteFilePathResult>;
|
|
22
|
+
static normalize(input: CheckRemoteFilePathInput): {
|
|
23
|
+
provider: string;
|
|
24
|
+
bucket: string;
|
|
25
|
+
path: string;
|
|
26
|
+
};
|
|
27
|
+
static normalizePath(path: string): string;
|
|
28
|
+
private extractCode;
|
|
29
|
+
private extractMessage;
|
|
30
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CheckRemoteFilePathAccess = void 0;
|
|
4
|
+
const remote_file_provider_enum_1 = require("../enums/remote.file.provider.enum");
|
|
5
|
+
const google_drive_remote_file_source_1 = require("./google.drive.remote.file.source");
|
|
6
|
+
class CheckRemoteFilePathAccess {
|
|
7
|
+
constructor(sources) {
|
|
8
|
+
this.sources = sources;
|
|
9
|
+
}
|
|
10
|
+
async process(input) {
|
|
11
|
+
const location = CheckRemoteFilePathAccess.normalize(input);
|
|
12
|
+
try {
|
|
13
|
+
const found = await this.sources.for(location.provider).check(location);
|
|
14
|
+
return { ...location, ok: true, ...found };
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
return { ...location, ok: false, code: this.extractCode(error), error: this.extractMessage(error) };
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
static normalize(input) {
|
|
21
|
+
const bucket = (input.bucket || '').trim();
|
|
22
|
+
if (input.provider === remote_file_provider_enum_1.RemoteFileProviderEnum.GOOGLE_DRIVE) {
|
|
23
|
+
return { provider: input.provider, bucket: google_drive_remote_file_source_1.GoogleDriveRemoteFileSource.folderId(bucket) ?? bucket, path: '' };
|
|
24
|
+
}
|
|
25
|
+
return { provider: input.provider, bucket, path: CheckRemoteFilePathAccess.normalizePath(input.path) };
|
|
26
|
+
}
|
|
27
|
+
static normalizePath(path) {
|
|
28
|
+
const trimmed = (path || '').trim().replace(/^\/+/, '');
|
|
29
|
+
if (!trimmed)
|
|
30
|
+
return '';
|
|
31
|
+
return trimmed.endsWith('/') ? trimmed : `${trimmed}/`;
|
|
32
|
+
}
|
|
33
|
+
extractCode(error) {
|
|
34
|
+
const name = error?.name && !/^(Error|.*Exception)$/.test(error.name) ? error.name : null;
|
|
35
|
+
const code = error?.Code || error?.code || name || error?.$metadata?.httpStatusCode || error?.response?.status;
|
|
36
|
+
return code != null ? String(code) : null;
|
|
37
|
+
}
|
|
38
|
+
extractMessage(error) {
|
|
39
|
+
const message = error?.message || error?.Message || String(error);
|
|
40
|
+
const code = this.extractCode(error);
|
|
41
|
+
if (code && message && !message.includes(code))
|
|
42
|
+
return `${code}: ${message}`;
|
|
43
|
+
return message || 'Unable to access remote path';
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.CheckRemoteFilePathAccess = CheckRemoteFilePathAccess;
|
|
47
|
+
//# sourceMappingURL=check.remote.file.path.access.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.remote.file.path.access.js","sourceRoot":"","sources":["../../../src/accessUtility/libraries/check.remote.file.path.access.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StorageService } from '@servicelabsco/nestjs-utility-services';
|
|
2
|
+
import { RemoteFileEntity } from '../entities/remote.file.entity';
|
|
3
|
+
import { GoogleDriveService } from '../services/google.drive.service';
|
|
4
|
+
export declare class EvaluateRemoteFileRule {
|
|
5
|
+
private readonly storageService?;
|
|
6
|
+
private readonly googleDriveService?;
|
|
7
|
+
constructor(storageService?: StorageService, googleDriveService?: GoogleDriveService);
|
|
8
|
+
process(fileId: number): Promise<RemoteFileEntity | null>;
|
|
9
|
+
private normalize;
|
|
10
|
+
private matchRule;
|
|
11
|
+
private matches;
|
|
12
|
+
private runRule;
|
|
13
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EvaluateRemoteFileRule = void 0;
|
|
4
|
+
const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
|
|
5
|
+
const typeorm_1 = require("typeorm");
|
|
6
|
+
const remote_file_entity_1 = require("../entities/remote.file.entity");
|
|
7
|
+
const remote_file_rule_entity_1 = require("../entities/remote.file.rule.entity");
|
|
8
|
+
const SCRIPT_TIMEOUT_MS = 5 * 60 * 1000;
|
|
9
|
+
class EvaluateRemoteFileRule {
|
|
10
|
+
constructor(storageService, googleDriveService) {
|
|
11
|
+
this.storageService = storageService;
|
|
12
|
+
this.googleDriveService = googleDriveService;
|
|
13
|
+
}
|
|
14
|
+
async process(fileId) {
|
|
15
|
+
const file = await remote_file_entity_1.RemoteFileEntity.findOne({ where: { id: fileId, deleted_at: (0, typeorm_1.IsNull)() }, relations: ['path', 'business'] });
|
|
16
|
+
if (!file?.path || file.path.deleted_at)
|
|
17
|
+
return null;
|
|
18
|
+
const data = this.normalize(file, file.path);
|
|
19
|
+
const rule = await this.matchRule(file.business_id, data);
|
|
20
|
+
const error = await this.runRule(rule, data);
|
|
21
|
+
const { evaluation_error: _previous, ...attributes } = file.attributes || {};
|
|
22
|
+
file.attributes = error ? { ...attributes, evaluation_error: error } : attributes;
|
|
23
|
+
file.rule_id = rule?.id ?? null;
|
|
24
|
+
file.processed_at = new Date();
|
|
25
|
+
return file.save();
|
|
26
|
+
}
|
|
27
|
+
normalize(file, path) {
|
|
28
|
+
return {
|
|
29
|
+
id: file.id,
|
|
30
|
+
name: file.name,
|
|
31
|
+
key: file.key,
|
|
32
|
+
url: file.url,
|
|
33
|
+
content_type: file.content_type,
|
|
34
|
+
extension: file.extension,
|
|
35
|
+
size: file.size,
|
|
36
|
+
etag: file.etag,
|
|
37
|
+
remote_updated_at: file.remote_updated_at,
|
|
38
|
+
discovered_at: file.discovered_at,
|
|
39
|
+
path: { id: path.id, name: path.name, identifier: path.identifier, provider: path.provider, bucket: path.bucket, path: path.path },
|
|
40
|
+
file,
|
|
41
|
+
business: file.business,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
async matchRule(businessId, data) {
|
|
45
|
+
const rules = await remote_file_rule_entity_1.RemoteFileRuleEntity.find({
|
|
46
|
+
where: { business_id: businessId, active: true, deleted_at: (0, typeorm_1.IsNull)() },
|
|
47
|
+
order: { priority: 'ASC', id: 'ASC' },
|
|
48
|
+
});
|
|
49
|
+
for (const rule of rules) {
|
|
50
|
+
if (this.matches(rule, data))
|
|
51
|
+
return rule;
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
matches(rule, data) {
|
|
56
|
+
try {
|
|
57
|
+
return Boolean(new nestjs_utility_services_1.JsonEvaluator().validate(rule.filter_condition, data));
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
async runRule(rule, data) {
|
|
64
|
+
if (!rule?.script_id)
|
|
65
|
+
return null;
|
|
66
|
+
const script = await nestjs_utility_services_1.SystemScriptEntity.findOne({ where: { id: rule.script_id, deleted_at: (0, typeorm_1.IsNull)() } });
|
|
67
|
+
if (!script?.script)
|
|
68
|
+
return null;
|
|
69
|
+
const outcome = await new nestjs_utility_services_1.CodeEvaluator().run(script.script, { data, fn: { storageService: this.storageService, googleDriveService: this.googleDriveService } }, { timeoutMs: SCRIPT_TIMEOUT_MS });
|
|
70
|
+
if (outcome.ok)
|
|
71
|
+
return null;
|
|
72
|
+
return { message: outcome.error || 'Script failed', timed_out: Boolean(outcome.timedOut), at: new Date().toISOString() };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.EvaluateRemoteFileRule = EvaluateRemoteFileRule;
|
|
76
|
+
//# sourceMappingURL=evaluate.remote.file.rule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate.remote.file.rule.js","sourceRoot":"","sources":["../../../src/accessUtility/libraries/evaluate.remote.file.rule.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { GoogleDriveService } from '../services/google.drive.service';
|
|
2
|
+
import { RemoteFileListPage, RemoteFileLocation, RemoteFileSourceInterface } from './remote.file.sources';
|
|
3
|
+
export declare class GoogleDriveRemoteFileSource implements RemoteFileSourceInterface {
|
|
4
|
+
private readonly googleDriveService;
|
|
5
|
+
constructor(googleDriveService: GoogleDriveService);
|
|
6
|
+
static folderId(input: string): string | null;
|
|
7
|
+
list(location: RemoteFileLocation, token?: string): Promise<RemoteFileListPage>;
|
|
8
|
+
check(location: RemoteFileLocation): Promise<{
|
|
9
|
+
name: string;
|
|
10
|
+
}>;
|
|
11
|
+
private start;
|
|
12
|
+
private newFolders;
|
|
13
|
+
private toObject;
|
|
14
|
+
private requireFolderId;
|
|
15
|
+
private encode;
|
|
16
|
+
private decode;
|
|
17
|
+
}
|