@transcend-io/cli 10.2.4 → 10.2.6
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 +2 -2
- package/dist/{app-DdtGj4sA.mjs → app-B3MFDzTT.mjs} +16 -16
- package/dist/{app-DdtGj4sA.mjs.map → app-B3MFDzTT.mjs.map} +1 -1
- package/dist/{approvePrivacyRequests-CqUKlHa4.mjs → approvePrivacyRequests-MI53s7Jb.mjs} +2 -2
- package/dist/{approvePrivacyRequests-CqUKlHa4.mjs.map → approvePrivacyRequests-MI53s7Jb.mjs.map} +1 -1
- package/dist/bin/bash-complete.mjs +1 -1
- package/dist/bin/cli.mjs +1 -1
- package/dist/bin/deprecated-command.mjs +1 -1
- package/dist/{buildXdiSyncEndpoint-DhdbHeHe.mjs → buildXdiSyncEndpoint-Bl9BXEOa.mjs} +2 -2
- package/dist/{buildXdiSyncEndpoint-DhdbHeHe.mjs.map → buildXdiSyncEndpoint-Bl9BXEOa.mjs.map} +1 -1
- package/dist/{bulkRestartRequests-QAn0rFaw.mjs → bulkRestartRequests-BwG2i-KE.mjs} +2 -2
- package/dist/{bulkRestartRequests-QAn0rFaw.mjs.map → bulkRestartRequests-BwG2i-KE.mjs.map} +1 -1
- package/dist/{bulkRetryEnrichers-CPPnW1fQ.mjs → bulkRetryEnrichers-C_atz2QS.mjs} +2 -2
- package/dist/{bulkRetryEnrichers-CPPnW1fQ.mjs.map → bulkRetryEnrichers-C_atz2QS.mjs.map} +1 -1
- package/dist/{cancelPrivacyRequests-61sB2Se7.mjs → cancelPrivacyRequests-oYHEGxUG.mjs} +2 -2
- package/dist/{cancelPrivacyRequests-61sB2Se7.mjs.map → cancelPrivacyRequests-oYHEGxUG.mjs.map} +1 -1
- package/dist/{command-CVLsKETz.mjs → command-D27esBYG.mjs} +2 -2
- package/dist/{command-CVLsKETz.mjs.map → command-D27esBYG.mjs.map} +1 -1
- package/dist/{constants-Bik1UuW_.mjs → constants-CSp8-HmP.mjs} +2 -2
- package/dist/{constants-Bik1UuW_.mjs.map → constants-CSp8-HmP.mjs.map} +1 -1
- package/dist/{createExtraKeyHandler-DjPEgjkg.mjs → createExtraKeyHandler-CEXxqoFG.mjs} +2 -2
- package/dist/{createExtraKeyHandler-DjPEgjkg.mjs.map → createExtraKeyHandler-CEXxqoFG.mjs.map} +1 -1
- package/dist/{downloadPrivacyRequestFiles-CQ0z5aPP.mjs → downloadPrivacyRequestFiles-DSSP9stK.mjs} +2 -2
- package/dist/{downloadPrivacyRequestFiles-CQ0z5aPP.mjs.map → downloadPrivacyRequestFiles-DSSP9stK.mjs.map} +1 -1
- package/dist/{generateCrossAccountApiKeys-Cx_XWjXi.mjs → generateCrossAccountApiKeys-BEJOnkVV.mjs} +2 -2
- package/dist/{generateCrossAccountApiKeys-Cx_XWjXi.mjs.map → generateCrossAccountApiKeys-BEJOnkVV.mjs.map} +1 -1
- package/dist/{impl-Beh6orFv.mjs → impl--eUXFpss.mjs} +2 -2
- package/dist/{impl-Beh6orFv.mjs.map → impl--eUXFpss.mjs.map} +1 -1
- package/dist/{impl-CTxNE7GU.mjs → impl-3rKkXydL.mjs} +2 -2
- package/dist/{impl-CTxNE7GU.mjs.map → impl-3rKkXydL.mjs.map} +1 -1
- package/dist/{impl-BYxHJDFB.mjs → impl-B-qEKYIT.mjs} +2 -2
- package/dist/{impl-BYxHJDFB.mjs.map → impl-B-qEKYIT.mjs.map} +1 -1
- package/dist/{impl-vsG9Uybc.mjs → impl-BDebHzUz.mjs} +2 -2
- package/dist/{impl-vsG9Uybc.mjs.map → impl-BDebHzUz.mjs.map} +1 -1
- package/dist/{impl-B4E8QqGG.mjs → impl-BIloNnKq.mjs} +2 -2
- package/dist/{impl-B4E8QqGG.mjs.map → impl-BIloNnKq.mjs.map} +1 -1
- package/dist/{impl-gl-o5T_e.mjs → impl-BQedMrGI.mjs} +2 -2
- package/dist/{impl-gl-o5T_e.mjs.map → impl-BQedMrGI.mjs.map} +1 -1
- package/dist/{impl-CLZ--p_f.mjs → impl-BUl5vA05.mjs} +2 -2
- package/dist/{impl-CLZ--p_f.mjs.map → impl-BUl5vA05.mjs.map} +1 -1
- package/dist/{impl-C6CC_TjJ.mjs → impl-BeuRY3yP.mjs} +2 -2
- package/dist/{impl-C6CC_TjJ.mjs.map → impl-BeuRY3yP.mjs.map} +1 -1
- package/dist/{impl-Dhg-JNhv.mjs → impl-Bx3WDdvB.mjs} +2 -2
- package/dist/{impl-Dhg-JNhv.mjs.map → impl-Bx3WDdvB.mjs.map} +1 -1
- package/dist/{impl-CuoeEgZk.mjs → impl-CKmQQ6Yx.mjs} +2 -2
- package/dist/{impl-CuoeEgZk.mjs.map → impl-CKmQQ6Yx.mjs.map} +1 -1
- package/dist/{impl-Br51CfjK.mjs → impl-CQDbfyvt.mjs} +2 -2
- package/dist/{impl-Br51CfjK.mjs.map → impl-CQDbfyvt.mjs.map} +1 -1
- package/dist/{impl-D5lauCTl.mjs → impl-CRYLt04E.mjs} +2 -2
- package/dist/{impl-D5lauCTl.mjs.map → impl-CRYLt04E.mjs.map} +1 -1
- package/dist/{impl-C7_seZ0N.mjs → impl-Cf79heiG.mjs} +2 -2
- package/dist/{impl-C7_seZ0N.mjs.map → impl-Cf79heiG.mjs.map} +1 -1
- package/dist/{impl-B1QvJC9L.mjs → impl-CfnEyve0.mjs} +2 -2
- package/dist/{impl-B1QvJC9L.mjs.map → impl-CfnEyve0.mjs.map} +1 -1
- package/dist/{impl-C9e9n_Ng.mjs → impl-CtkniS43.mjs} +2 -2
- package/dist/{impl-C9e9n_Ng.mjs.map → impl-CtkniS43.mjs.map} +1 -1
- package/dist/{impl-qrt_MXhw.mjs → impl-CwvCBI3m.mjs} +2 -2
- package/dist/{impl-qrt_MXhw.mjs.map → impl-CwvCBI3m.mjs.map} +1 -1
- package/dist/{impl-CskCNxmH.mjs → impl-D04kCOlO.mjs} +2 -2
- package/dist/{impl-CskCNxmH.mjs.map → impl-D04kCOlO.mjs.map} +1 -1
- package/dist/{impl-B4Fyqu0Q.mjs → impl-D3JniI03.mjs} +2 -2
- package/dist/{impl-B4Fyqu0Q.mjs.map → impl-D3JniI03.mjs.map} +1 -1
- package/dist/{impl-Df7nd4hn.mjs → impl-D93By8eN.mjs} +2 -2
- package/dist/{impl-Df7nd4hn.mjs.map → impl-D93By8eN.mjs.map} +1 -1
- package/dist/{impl-BGr1dEVa.mjs → impl-DI7GnxKr.mjs} +2 -2
- package/dist/{impl-BGr1dEVa.mjs.map → impl-DI7GnxKr.mjs.map} +1 -1
- package/dist/{impl-BeK88spw.mjs → impl-DSmvbowC.mjs} +2 -2
- package/dist/{impl-BeK88spw.mjs.map → impl-DSmvbowC.mjs.map} +1 -1
- package/dist/{impl-BsYKe8BO.mjs → impl-DTMS3RFJ.mjs} +2 -2
- package/dist/{impl-BsYKe8BO.mjs.map → impl-DTMS3RFJ.mjs.map} +1 -1
- package/dist/{impl-4HCYXDq9.mjs → impl-DUqB7eQC.mjs} +2 -2
- package/dist/{impl-4HCYXDq9.mjs.map → impl-DUqB7eQC.mjs.map} +1 -1
- package/dist/{impl-Bnc6DLZl.mjs → impl-DYahhI6P.mjs} +2 -2
- package/dist/{impl-Bnc6DLZl.mjs.map → impl-DYahhI6P.mjs.map} +1 -1
- package/dist/{impl-4RHDI3_h.mjs → impl-DbiN7x9v.mjs} +2 -2
- package/dist/{impl-4RHDI3_h.mjs.map → impl-DbiN7x9v.mjs.map} +1 -1
- package/dist/{impl-DyRF1Nni.mjs → impl-DdmEktfZ.mjs} +2 -2
- package/dist/{impl-DyRF1Nni.mjs.map → impl-DdmEktfZ.mjs.map} +1 -1
- package/dist/{impl-CXXF8UdW.mjs → impl-DfA7KJb1.mjs} +2 -2
- package/dist/{impl-CXXF8UdW.mjs.map → impl-DfA7KJb1.mjs.map} +1 -1
- package/dist/{impl-B4IMqA9E.mjs → impl-DsWomLZq.mjs} +2 -2
- package/dist/{impl-B4IMqA9E.mjs.map → impl-DsWomLZq.mjs.map} +1 -1
- package/dist/{impl-DES5HG-B.mjs → impl-DvbzcnBC.mjs} +2 -2
- package/dist/{impl-DES5HG-B.mjs.map → impl-DvbzcnBC.mjs.map} +1 -1
- package/dist/{impl-C7KwHAf6.mjs → impl-ZltSRhlW.mjs} +2 -2
- package/dist/{impl-C7KwHAf6.mjs.map → impl-ZltSRhlW.mjs.map} +1 -1
- package/dist/{impl-CZ8Hun3_.mjs → impl-k0fVtOaU.mjs} +2 -2
- package/dist/{impl-CZ8Hun3_.mjs.map → impl-k0fVtOaU.mjs.map} +1 -1
- package/dist/{impl-DKZUk3VC.mjs → impl-vfAnlh7r.mjs} +2 -2
- package/dist/{impl-DKZUk3VC.mjs.map → impl-vfAnlh7r.mjs.map} +1 -1
- package/dist/{impl-DQHOrUZI.mjs → impl-ys6BFhX4.mjs} +2 -2
- package/dist/{impl-DQHOrUZI.mjs.map → impl-ys6BFhX4.mjs.map} +1 -1
- package/dist/index.d.mts +10 -9
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{markRequestDataSiloIdsCompleted-D5vWs0S5.mjs → markRequestDataSiloIdsCompleted-Cxb3RMAg.mjs} +2 -2
- package/dist/{markRequestDataSiloIdsCompleted-D5vWs0S5.mjs.map → markRequestDataSiloIdsCompleted-Cxb3RMAg.mjs.map} +1 -1
- package/dist/{markSilentPrivacyRequests-CVC5nkzh.mjs → markSilentPrivacyRequests-D6c_1WUJ.mjs} +2 -2
- package/dist/{markSilentPrivacyRequests-CVC5nkzh.mjs.map → markSilentPrivacyRequests-D6c_1WUJ.mjs.map} +1 -1
- package/dist/{notifyPrivacyRequestsAdditionalTime-CQ7ZaFwg.mjs → notifyPrivacyRequestsAdditionalTime-DfM_Kp0E.mjs} +2 -2
- package/dist/{notifyPrivacyRequestsAdditionalTime-CQ7ZaFwg.mjs.map → notifyPrivacyRequestsAdditionalTime-DfM_Kp0E.mjs.map} +1 -1
- package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-Ck8iBBtw.mjs → pullChunkedCustomSiloOutstandingIdentifiers-Borhva_Y.mjs} +2 -2
- package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-Ck8iBBtw.mjs.map → pullChunkedCustomSiloOutstandingIdentifiers-Borhva_Y.mjs.map} +1 -1
- package/dist/{pullManualEnrichmentIdentifiersToCsv-B0n60ZK1.mjs → pullManualEnrichmentIdentifiersToCsv-Da-GF_JD.mjs} +2 -2
- package/dist/{pullManualEnrichmentIdentifiersToCsv-B0n60ZK1.mjs.map → pullManualEnrichmentIdentifiersToCsv-Da-GF_JD.mjs.map} +1 -1
- package/dist/{pushCronIdentifiersFromCsv-BOXGOpNx.mjs → pushCronIdentifiersFromCsv-CvglVVMd.mjs} +2 -2
- package/dist/{pushCronIdentifiersFromCsv-BOXGOpNx.mjs.map → pushCronIdentifiersFromCsv-CvglVVMd.mjs.map} +1 -1
- package/dist/{pushManualEnrichmentIdentifiersFromCsv-200odfU_.mjs → pushManualEnrichmentIdentifiersFromCsv-BKPueDy_.mjs} +2 -2
- package/dist/{pushManualEnrichmentIdentifiersFromCsv-200odfU_.mjs.map → pushManualEnrichmentIdentifiersFromCsv-BKPueDy_.mjs.map} +1 -1
- package/dist/{removeUnverifiedRequestIdentifiers-Dy4Qo3lg.mjs → removeUnverifiedRequestIdentifiers-BiVNL51u.mjs} +2 -2
- package/dist/{removeUnverifiedRequestIdentifiers-Dy4Qo3lg.mjs.map → removeUnverifiedRequestIdentifiers-BiVNL51u.mjs.map} +1 -1
- package/dist/{retryRequestDataSilos-C7-nj3TR.mjs → retryRequestDataSilos-BZRasoNu.mjs} +2 -2
- package/dist/{retryRequestDataSilos-C7-nj3TR.mjs.map → retryRequestDataSilos-BZRasoNu.mjs.map} +1 -1
- package/dist/{skipPreflightJobs-Bv3Gw_Bc.mjs → skipPreflightJobs-CKW-1xjF.mjs} +2 -2
- package/dist/{skipPreflightJobs-Bv3Gw_Bc.mjs.map → skipPreflightJobs-CKW-1xjF.mjs.map} +1 -1
- package/dist/{skipRequestDataSilos-DIA-u0FP.mjs → skipRequestDataSilos-CA4LoQ7F.mjs} +2 -2
- package/dist/{skipRequestDataSilos-DIA-u0FP.mjs.map → skipRequestDataSilos-CA4LoQ7F.mjs.map} +1 -1
- package/dist/{streamPrivacyRequestsToCsv-UH3U4WDE.mjs → streamPrivacyRequestsToCsv-CsK0TD4D.mjs} +2 -2
- package/dist/{streamPrivacyRequestsToCsv-UH3U4WDE.mjs.map → streamPrivacyRequestsToCsv-CsK0TD4D.mjs.map} +1 -1
- package/dist/{updateConsentManagerVersionToLatest-CTJTDkj2.mjs → updateConsentManagerVersionToLatest-B39zbN5N.mjs} +2 -2
- package/dist/{updateConsentManagerVersionToLatest-CTJTDkj2.mjs.map → updateConsentManagerVersionToLatest-B39zbN5N.mjs.map} +1 -1
- package/dist/{uploadConsents-BAk_ie3Q.mjs → uploadConsents-vQugGiOo.mjs} +2 -2
- package/dist/{uploadConsents-BAk_ie3Q.mjs.map → uploadConsents-vQugGiOo.mjs.map} +1 -1
- package/dist/{uploadCookiesFromCsv-B-0YNTqu.mjs → uploadCookiesFromCsv-D4CuZMYG.mjs} +2 -2
- package/dist/{uploadCookiesFromCsv-B-0YNTqu.mjs.map → uploadCookiesFromCsv-D4CuZMYG.mjs.map} +1 -1
- package/dist/{uploadDataFlowsFromCsv-c21CfwHU.mjs → uploadDataFlowsFromCsv-D-ufYmev.mjs} +2 -2
- package/dist/{uploadDataFlowsFromCsv-c21CfwHU.mjs.map → uploadDataFlowsFromCsv-D-ufYmev.mjs.map} +1 -1
- package/dist/{uploadPrivacyRequestsFromCsv-B4czamxh.mjs → uploadPrivacyRequestsFromCsv-BihsSFuF.mjs} +2 -2
- package/dist/{uploadPrivacyRequestsFromCsv-B4czamxh.mjs.map → uploadPrivacyRequestsFromCsv-BihsSFuF.mjs.map} +1 -1
- package/package.json +4 -4
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./markSilentPrivacyRequests-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./markSilentPrivacyRequests-D6c_1WUJ.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";async function n({auth:n,transcendUrl:r,actions:i,statuses:a,requestIds:o,createdAtBefore:s,createdAtAfter:c,updatedAtBefore:l,updatedAtAfter:u,concurrency:d}){t(this.process.exit),await e({transcendUrl:r,requestActions:i,auth:n,requestIds:o,statuses:a,concurrency:d,createdAtBefore:s,createdAtAfter:c,updatedAtBefore:l,updatedAtAfter:u})}export{n as markSilent};
|
|
2
|
+
//# sourceMappingURL=impl-DYahhI6P.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-DYahhI6P.mjs","names":[],"sources":["../src/commands/request/mark-silent/impl.ts"],"sourcesContent":["import type { RequestAction, RequestStatus } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { markSilentPrivacyRequests } from '../../../lib/requests/index.js';\n\nexport interface MarkSilentCommandFlags {\n auth: string;\n actions: RequestAction[];\n statuses?: RequestStatus[];\n requestIds?: string[];\n createdAtBefore?: Date;\n createdAtAfter?: Date;\n updatedAtBefore?: Date;\n updatedAtAfter?: Date;\n transcendUrl: string;\n concurrency: number;\n}\n\nexport async function markSilent(\n this: LocalContext,\n {\n auth,\n transcendUrl,\n actions,\n statuses,\n requestIds,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n concurrency,\n }: MarkSilentCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await markSilentPrivacyRequests({\n transcendUrl,\n requestActions: actions,\n auth,\n requestIds,\n statuses,\n concurrency,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n });\n}\n"],"mappings":"iHAmBA,eAAsB,EAEpB,CACE,OACA,eACA,UACA,WACA,aACA,kBACA,iBACA,kBACA,iBACA,eAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAA0B,CAC9B,eACA,eAAgB,EAChB,OACA,aACA,WACA,cACA,kBACA,iBACA,kBACA,iBACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./pushCronIdentifiersFromCsv-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./pushCronIdentifiersFromCsv-CvglVVMd.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";async function n({file:n,transcendUrl:r,auth:i,sombraAuth:a,dataSiloId:o}){t(this.process.exit),await e({file:n,transcendUrl:r,auth:i,sombraAuth:a,dataSiloId:o})}export{n as markIdentifiersCompleted};
|
|
2
|
+
//# sourceMappingURL=impl-DbiN7x9v.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-DbiN7x9v.mjs","names":[],"sources":["../src/commands/request/cron/mark-identifiers-completed/impl.ts"],"sourcesContent":["import type { LocalContext } from '../../../../context.js';\nimport { doneInputValidation } from '../../../../lib/cli/done-input-validation.js';\nimport { pushCronIdentifiersFromCsv } from '../../../../lib/cron/index.js';\n\nexport interface MarkIdentifiersCompletedCommandFlags {\n file: string;\n transcendUrl: string;\n auth: string;\n sombraAuth?: string;\n dataSiloId: string;\n}\n\nexport async function markIdentifiersCompleted(\n this: LocalContext,\n { file, transcendUrl, auth, sombraAuth, dataSiloId }: MarkIdentifiersCompletedCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await pushCronIdentifiersFromCsv({\n file,\n transcendUrl,\n auth,\n sombraAuth,\n dataSiloId,\n });\n}\n"],"mappings":"kHAYA,eAAsB,EAEpB,CAAE,OAAM,eAAc,OAAM,aAAY,cACzB,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAA2B,CAC/B,OACA,eACA,OACA,aACA,aACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./pullManualEnrichmentIdentifiersToCsv-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./pullManualEnrichmentIdentifiersToCsv-Da-GF_JD.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";async function n({auth:n,transcendUrl:r,file:i,concurrency:a,actions:o,sombraAuth:s}){t(this.process.exit),await e({file:i,transcendUrl:r,concurrency:a,requestActions:o,auth:n,sombraAuth:s})}export{n as pullIdentifiers};
|
|
2
|
+
//# sourceMappingURL=impl-DdmEktfZ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-DdmEktfZ.mjs","names":[],"sources":["../src/commands/request/preflight/pull-identifiers/impl.ts"],"sourcesContent":["import type { RequestAction } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../../context.js';\nimport { doneInputValidation } from '../../../../lib/cli/done-input-validation.js';\nimport { pullManualEnrichmentIdentifiersToCsv } from '../../../../lib/manual-enrichment/index.js';\n\nexport interface PullIdentifiersCommandFlags {\n auth: string;\n sombraAuth?: string;\n transcendUrl: string;\n file: string;\n actions?: RequestAction[];\n concurrency: number;\n}\n\nexport async function pullIdentifiers(\n this: LocalContext,\n { auth, transcendUrl, file, concurrency, actions, sombraAuth }: PullIdentifiersCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await pullManualEnrichmentIdentifiersToCsv({\n file,\n transcendUrl,\n concurrency,\n requestActions: actions,\n auth,\n sombraAuth,\n });\n}\n"],"mappings":"4HAeA,eAAsB,EAEpB,CAAE,OAAM,eAAc,OAAM,cAAa,UAAS,cACnC,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAAqC,CACzC,OACA,eACA,cACA,eAAgB,EAChB,OACA,aACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./downloadPrivacyRequestFiles-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./downloadPrivacyRequestFiles-DSSP9stK.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";import{RequestStatus as n}from"@transcend-io/privacy-types";async function r({auth:r,transcendUrl:i,folderPath:a,requestIds:o,statuses:s=[n.Approving,n.Downloadable],concurrency:c,createdAtBefore:l,createdAtAfter:u,updatedAtBefore:d,updatedAtAfter:f,approveAfterDownload:p}){t(this.process.exit),await e({transcendUrl:i,auth:r,folderPath:a,requestIds:o,statuses:s,concurrency:c,createdAtBefore:l,createdAtAfter:u,updatedAtBefore:d,updatedAtAfter:f,approveAfterDownload:p})}export{r as downloadFiles};
|
|
2
|
+
//# sourceMappingURL=impl-DfA7KJb1.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-DfA7KJb1.mjs","names":[],"sources":["../src/commands/request/download-files/impl.ts"],"sourcesContent":["import { RequestStatus } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { downloadPrivacyRequestFiles } from '../../../lib/requests/index.js';\n\nexport interface DownloadFilesCommandFlags {\n auth: string;\n sombraAuth?: string;\n concurrency: number;\n requestIds?: string[];\n statuses?: RequestStatus[];\n folderPath: string;\n createdAtBefore?: Date;\n createdAtAfter?: Date;\n updatedAtBefore?: Date;\n updatedAtAfter?: Date;\n approveAfterDownload: boolean;\n transcendUrl: string;\n}\n\nexport async function downloadFiles(\n this: LocalContext,\n {\n auth,\n transcendUrl,\n folderPath,\n requestIds,\n statuses = [RequestStatus.Approving, RequestStatus.Downloadable],\n concurrency,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n approveAfterDownload,\n }: DownloadFilesCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await downloadPrivacyRequestFiles({\n transcendUrl,\n auth,\n folderPath,\n requestIds,\n statuses,\n concurrency,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n approveAfterDownload,\n });\n}\n"],"mappings":"+KAqBA,eAAsB,EAEpB,CACE,OACA,eACA,aACA,aACA,WAAW,CAAC,EAAc,UAAW,EAAc,aAAa,CAChE,cACA,kBACA,iBACA,kBACA,iBACA,wBAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAA4B,CAChC,eACA,OACA,aACA,aACA,WACA,cACA,kBACA,iBACA,kBACA,iBACA,uBACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./constants-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{n as e}from"./constants-CSp8-HmP.mjs";import{t}from"./logger-Bj782ZYD.mjs";import{s as n}from"./writeCsv-C4pjXGsD.mjs";import{t as r}from"./pullAllDatapoints-Bbmky50p.mjs";import{t as i}from"./done-input-validation-BcNBxhEs.mjs";import{groupBy as a,uniq as o}from"lodash-es";import s from"colors";import{buildTranscendGraphQLClient as c}from"@transcend-io/sdk";async function l({auth:l,file:u,transcendUrl:d,dataSiloIds:f,includeAttributes:p,includeGuessedCategories:m,parentCategories:h,subCategories:g=[]}){i(this.process.exit);try{let e=await r(c(d,l),{dataSiloIds:f,includeGuessedCategories:m,parentCategories:h,includeAttributes:p,subCategories:g});t.info(s.magenta(`Writing datapoints to file "${u}"...`));let i=[];await n(u,e.map(e=>{let t={"Property ID":e.id,"Data Silo":e.dataSilo.title,Object:e.dataPoint.name,"Object Path":e.dataPoint.path.join(`.`),Property:e.name,"Property Description":e.description,"Data Categories":e.categories.map(e=>`${e.category}:${e.name}`).join(`, `),"Guessed Category":e.pendingCategoryGuesses?.[0]?`${e.pendingCategoryGuesses[0].category.category}:${e.pendingCategoryGuesses[0].category.name}`:``,"Processing Purposes":e.purposes.map(e=>`${e.purpose}:${e.name}`).join(`, `),...Object.entries(a(e.attributeValues||[],({attributeKey:e})=>e.name)).reduce((e,[t,n])=>(e[t]=n.map(e=>e.name).join(`,`),e),{})};return i=o([...i,...Object.keys(t)]),t}),i)}catch(e){t.error(s.red(`An error occurred syncing the datapoints: ${e.message}`)),this.process.exit(1)}t.info(s.green(`Successfully synced datapoints to disk at ${u}! View at ${e}`))}export{l as pullDatapoints};
|
|
2
|
+
//# sourceMappingURL=impl-DsWomLZq.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-DsWomLZq.mjs","names":[],"sources":["../src/commands/inventory/pull-datapoints/impl.ts"],"sourcesContent":["import { DataCategoryType } from '@transcend-io/privacy-types';\nimport { buildTranscendGraphQLClient } from '@transcend-io/sdk';\nimport colors from 'colors';\nimport { uniq, groupBy } from 'lodash-es';\n\nimport { ADMIN_DASH_DATAPOINTS } from '../../../constants.js';\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { pullAllDatapoints } from '../../../lib/data-inventory/index.js';\nimport { writeLargeCsv } from '../../../lib/helpers/index.js';\nimport { logger } from '../../../logger.js';\n\nexport interface PullDatapointsCommandFlags {\n auth: string;\n file: string;\n transcendUrl: string;\n dataSiloIds?: string[];\n includeAttributes: boolean;\n includeGuessedCategories: boolean;\n parentCategories?: DataCategoryType[];\n subCategories?: string[];\n}\n\nexport async function pullDatapoints(\n this: LocalContext,\n {\n auth,\n file,\n transcendUrl,\n dataSiloIds,\n includeAttributes,\n includeGuessedCategories,\n parentCategories,\n subCategories = [],\n }: PullDatapointsCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n try {\n // Create a GraphQL client\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n\n const dataPoints = await pullAllDatapoints(client, {\n dataSiloIds,\n includeGuessedCategories,\n parentCategories,\n includeAttributes,\n subCategories, // TODO: https://transcend.height.app/T-40482 - do by name not ID\n });\n\n logger.info(colors.magenta(`Writing datapoints to file \"${file}\"...`));\n let headers: string[] = [];\n const inputs = dataPoints.map((point) => {\n const result = {\n 'Property ID': point.id,\n 'Data Silo': point.dataSilo.title,\n Object: point.dataPoint.name,\n 'Object Path': point.dataPoint.path.join('.'),\n Property: point.name,\n 'Property Description': point.description,\n 'Data Categories': point.categories\n .map((category) => `${category.category}:${category.name}`)\n .join(', '),\n 'Guessed Category': point.pendingCategoryGuesses?.[0]\n ? `${point.pendingCategoryGuesses![0]!.category.category}:${\n point.pendingCategoryGuesses![0]!.category.name\n }`\n : '',\n 'Processing Purposes': point.purposes\n .map((purpose) => `${purpose.purpose}:${purpose.name}`)\n .join(', '),\n ...Object.entries(\n groupBy(point.attributeValues || [], ({ attributeKey }) => attributeKey.name),\n ).reduce(\n (acc, [key, values]) => {\n acc[key] = values.map((value) => value.name).join(',');\n return acc;\n },\n {} as Record<string, string>,\n ),\n };\n headers = uniq([...headers, ...Object.keys(result)]);\n return result;\n });\n await writeLargeCsv(file, inputs, headers);\n } catch (err) {\n logger.error(colors.red(`An error occurred syncing the datapoints: ${err.message}`));\n this.process.exit(1);\n }\n\n // Indicate success\n logger.info(\n colors.green(\n `Successfully synced datapoints to disk at ${file}! View at ${ADMIN_DASH_DATAPOINTS}`,\n ),\n );\n}\n"],"mappings":"gXAuBA,eAAsB,EAEpB,CACE,OACA,OACA,eACA,cACA,oBACA,2BACA,mBACA,gBAAgB,EAAE,EAEL,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,GAAI,CAIF,IAAM,EAAa,MAAM,EAFV,EAA4B,EAAc,EAAK,CAEX,CACjD,cACA,2BACA,mBACA,oBACA,gBACD,CAAC,CAEF,EAAO,KAAK,EAAO,QAAQ,+BAA+B,EAAK,MAAM,CAAC,CACtE,IAAI,EAAoB,EAAE,CAiC1B,MAAM,EAAc,EAhCL,EAAW,IAAK,GAAU,CACvC,IAAM,EAAS,CACb,cAAe,EAAM,GACrB,YAAa,EAAM,SAAS,MAC5B,OAAQ,EAAM,UAAU,KACxB,cAAe,EAAM,UAAU,KAAK,KAAK,IAAI,CAC7C,SAAU,EAAM,KAChB,uBAAwB,EAAM,YAC9B,kBAAmB,EAAM,WACtB,IAAK,GAAa,GAAG,EAAS,SAAS,GAAG,EAAS,OAAO,CAC1D,KAAK,KAAK,CACb,mBAAoB,EAAM,yBAAyB,GAC/C,GAAG,EAAM,uBAAwB,GAAI,SAAS,SAAS,GACrD,EAAM,uBAAwB,GAAI,SAAS,OAE7C,GACJ,sBAAuB,EAAM,SAC1B,IAAK,GAAY,GAAG,EAAQ,QAAQ,GAAG,EAAQ,OAAO,CACtD,KAAK,KAAK,CACb,GAAG,OAAO,QACR,EAAQ,EAAM,iBAAmB,EAAE,EAAG,CAAE,kBAAmB,EAAa,KAAK,CAC9E,CAAC,QACC,EAAK,CAAC,EAAK,MACV,EAAI,GAAO,EAAO,IAAK,GAAU,EAAM,KAAK,CAAC,KAAK,IAAI,CAC/C,GAET,EAAE,CACH,CACF,CAED,MADA,GAAU,EAAK,CAAC,GAAG,EAAS,GAAG,OAAO,KAAK,EAAO,CAAC,CAAC,CAC7C,GACP,CACgC,EAAQ,OACnC,EAAK,CACZ,EAAO,MAAM,EAAO,IAAI,6CAA6C,EAAI,UAAU,CAAC,CACpF,KAAK,QAAQ,KAAK,EAAE,CAItB,EAAO,KACL,EAAO,MACL,6CAA6C,EAAK,YAAY,IAC/D,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./logger-Bj782ZYD.mjs";import{t}from"./pullChunkedCustomSiloOutstandingIdentifiers-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./logger-Bj782ZYD.mjs";import{t}from"./pullChunkedCustomSiloOutstandingIdentifiers-Borhva_Y.mjs";import{i as n,s as r}from"./writeCsv-C4pjXGsD.mjs";import{t as i}from"./done-input-validation-BcNBxhEs.mjs";import{uniq as a}from"lodash-es";import o from"colors";async function s({file:s,transcendUrl:c,auth:l,sombraAuth:u,dataSiloId:d,actions:f,pageLimit:p,skipRequestCount:m,chunkSize:h}){m&&e.info(o.yellow(`Skipping request count as requested. This may help speed up the call.`)),(Number.isNaN(h)||h<=0||h%p!==0)&&(e.error(o.red(`Invalid chunk size: "${h}". Must be a positive integer that is a multiple of ${p}.`)),this.process.exit(1)),i(this.process.exit);let{baseName:g,extension:_}=n(s),v=0;await t({transcendUrl:c,apiPageSize:p,savePageSize:h,onSave:async t=>{let n=`${g}-${v}${_}`;return e.info(o.blue(`Saving ${t.length} identifiers to file "${n}"`)),await r(n,t,a(t.map(e=>Object.keys(e)).flat())),e.info(o.green(`Successfully wrote ${t.length} identifiers to file "${n}"`)),v+=1,Promise.resolve()},actions:f,auth:l,sombraAuth:u,dataSiloId:d,skipRequestCount:m})}export{s as pullIdentifiers};
|
|
2
|
+
//# sourceMappingURL=impl-DvbzcnBC.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-DvbzcnBC.mjs","names":[],"sources":["../src/commands/request/cron/pull-identifiers/impl.ts"],"sourcesContent":["import { RequestAction } from '@transcend-io/privacy-types';\nimport colors from 'colors';\nimport { uniq } from 'lodash-es';\n\nimport type { LocalContext } from '../../../../context.js';\nimport { doneInputValidation } from '../../../../lib/cli/done-input-validation.js';\nimport {\n CsvFormattedIdentifier,\n pullChunkedCustomSiloOutstandingIdentifiers,\n} from '../../../../lib/cron/index.js';\nimport { parseFilePath, writeLargeCsv } from '../../../../lib/helpers/index.js';\nimport { logger } from '../../../../logger.js';\n\nexport interface PullIdentifiersCommandFlags {\n file: string;\n transcendUrl: string;\n auth: string;\n sombraAuth?: string;\n dataSiloId: string;\n actions: RequestAction[];\n pageLimit: number;\n skipRequestCount: boolean;\n chunkSize: number;\n}\n\nexport async function pullIdentifiers(\n this: LocalContext,\n {\n file,\n transcendUrl,\n auth,\n sombraAuth,\n dataSiloId,\n actions,\n pageLimit,\n skipRequestCount,\n chunkSize,\n }: PullIdentifiersCommandFlags,\n): Promise<void> {\n if (skipRequestCount) {\n logger.info(\n colors.yellow('Skipping request count as requested. This may help speed up the call.'),\n );\n }\n\n if (Number.isNaN(chunkSize) || chunkSize <= 0 || chunkSize % pageLimit !== 0) {\n logger.error(\n colors.red(\n `Invalid chunk size: \"${chunkSize}\". Must be a positive integer that is a multiple of ${pageLimit}.`,\n ),\n );\n this.process.exit(1);\n }\n\n doneInputValidation(this.process.exit);\n\n const { baseName, extension } = parseFilePath(file);\n let fileCount = 0;\n\n const onSave = async (chunk: CsvFormattedIdentifier[]): Promise<void> => {\n const numberedFileName = `${baseName}-${fileCount}${extension}`;\n logger.info(colors.blue(`Saving ${chunk.length} identifiers to file \"${numberedFileName}\"`));\n\n const headers = uniq(chunk.map((d) => Object.keys(d)).flat());\n await writeLargeCsv(numberedFileName, chunk, headers);\n logger.info(\n colors.green(`Successfully wrote ${chunk.length} identifiers to file \"${numberedFileName}\"`),\n );\n fileCount += 1;\n return Promise.resolve();\n };\n\n // Pull down outstanding identifiers\n await pullChunkedCustomSiloOutstandingIdentifiers({\n transcendUrl,\n apiPageSize: pageLimit,\n savePageSize: chunkSize,\n onSave,\n actions,\n auth,\n sombraAuth,\n dataSiloId,\n skipRequestCount,\n });\n}\n"],"mappings":"uRAyBA,eAAsB,EAEpB,CACE,OACA,eACA,OACA,aACA,aACA,UACA,YACA,mBACA,aAEa,CACX,GACF,EAAO,KACL,EAAO,OAAO,wEAAwE,CACvF,EAGC,OAAO,MAAM,EAAU,EAAI,GAAa,GAAK,EAAY,IAAc,KACzE,EAAO,MACL,EAAO,IACL,wBAAwB,EAAU,sDAAsD,EAAU,GACnG,CACF,CACD,KAAK,QAAQ,KAAK,EAAE,EAGtB,EAAoB,KAAK,QAAQ,KAAK,CAEtC,GAAM,CAAE,WAAU,aAAc,EAAc,EAAK,CAC/C,EAAY,EAgBhB,MAAM,EAA4C,CAChD,eACA,YAAa,EACb,aAAc,EACd,OAlBa,KAAO,IAAmD,CACvE,IAAM,EAAmB,GAAG,EAAS,GAAG,IAAY,IASpD,OARA,EAAO,KAAK,EAAO,KAAK,UAAU,EAAM,OAAO,wBAAwB,EAAiB,GAAG,CAAC,CAG5F,MAAM,EAAc,EAAkB,EADtB,EAAK,EAAM,IAAK,GAAM,OAAO,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CACR,CACrD,EAAO,KACL,EAAO,MAAM,sBAAsB,EAAM,OAAO,wBAAwB,EAAiB,GAAG,CAC7F,CACD,GAAa,EACN,QAAQ,SAAS,EASxB,UACA,OACA,aACA,aACA,mBACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./logger-Bj782ZYD.mjs";import{n as t}from"./buildXdiSyncEndpoint-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./logger-Bj782ZYD.mjs";import{n as t}from"./buildXdiSyncEndpoint-Bl9BXEOa.mjs";import{t as n}from"./validateTranscendAuth-Cuh2Qfdl.mjs";import{t as r}from"./done-input-validation-BcNBxhEs.mjs";import{writeFileSync as i}from"node:fs";import a from"colors";async function o({auth:o,xdiLocation:s,file:c,removeIpAddresses:l,domainBlockList:u,xdiAllowedCommands:d,transcendUrl:f}){r(this.process.exit);let{syncGroups:p,html:m}=await t(await n(o),{xdiLocation:s,transcendUrl:f,removeIpAddresses:l,domainBlockList:u.length>0?u:void 0,xdiAllowedCommands:d});e.info(a.green(`Successfully constructed sync endpoint for sync groups: ${JSON.stringify(p,null,2)}`)),i(c,m),e.info(a.green(`Wrote configuration to file "${c}"!`))}export{o as buildXdiSyncEndpoint};
|
|
2
|
+
//# sourceMappingURL=impl-ZltSRhlW.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-ZltSRhlW.mjs","names":["buildXdiSyncEndpointHelper"],"sources":["../src/commands/consent/build-xdi-sync-endpoint/impl.ts"],"sourcesContent":["import { writeFileSync } from 'node:fs';\n\nimport colors from 'colors';\n\nimport type { LocalContext } from '../../../context.js';\nimport { validateTranscendAuth } from '../../../lib/api-keys/index.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { buildXdiSyncEndpoint as buildXdiSyncEndpointHelper } from '../../../lib/consent-manager/index.js';\nimport { logger } from '../../../logger.js';\n\nexport interface BuildXdiSyncEndpointCommandFlags {\n auth: string;\n xdiLocation: string;\n file: string;\n removeIpAddresses: boolean;\n domainBlockList: string[];\n xdiAllowedCommands: string;\n transcendUrl: string;\n}\n\nexport async function buildXdiSyncEndpoint(\n this: LocalContext,\n {\n auth,\n xdiLocation,\n file,\n removeIpAddresses,\n domainBlockList,\n xdiAllowedCommands,\n transcendUrl,\n }: BuildXdiSyncEndpointCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n // Parse authentication as API key or path to list of API keys\n const apiKeyOrList = await validateTranscendAuth(auth);\n\n // Build the sync endpoint\n const { syncGroups, html } = await buildXdiSyncEndpointHelper(apiKeyOrList, {\n xdiLocation,\n transcendUrl,\n removeIpAddresses,\n domainBlockList: domainBlockList.length > 0 ? domainBlockList : undefined,\n xdiAllowedCommands,\n });\n\n // Log success\n logger.info(\n colors.green(\n `Successfully constructed sync endpoint for sync groups: ${JSON.stringify(\n syncGroups,\n null,\n 2,\n )}`,\n ),\n );\n\n // Write to disk\n writeFileSync(file, html);\n logger.info(colors.green(`Wrote configuration to file \"${file}\"!`));\n}\n"],"mappings":"kRAoBA,eAAsB,EAEpB,CACE,OACA,cACA,OACA,oBACA,kBACA,qBACA,gBAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAMtC,GAAM,CAAE,aAAY,QAAS,MAAMA,EAHd,MAAM,EAAsB,EAAK,CAGsB,CAC1E,cACA,eACA,oBACA,gBAAiB,EAAgB,OAAS,EAAI,EAAkB,IAAA,GAChE,qBACD,CAAC,CAGF,EAAO,KACL,EAAO,MACL,2DAA2D,KAAK,UAC9D,EACA,KACA,EACD,GACF,CACF,CAGD,EAAc,EAAM,EAAK,CACzB,EAAO,KAAK,EAAO,MAAM,gCAAgC,EAAK,IAAI,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./uploadCookiesFromCsv-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./uploadCookiesFromCsv-D4CuZMYG.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";async function n({auth:n,trackerStatus:r,file:i,transcendUrl:a}){t(this.process.exit),await e({auth:n,trackerStatus:r,file:i,transcendUrl:a})}export{n as uploadCookiesFromCsv};
|
|
2
|
+
//# sourceMappingURL=impl-k0fVtOaU.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-k0fVtOaU.mjs","names":["uploadCookiesFromCsvHelper"],"sources":["../src/commands/consent/upload-cookies-from-csv/impl.ts"],"sourcesContent":["import { ConsentTrackerStatus } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { uploadCookiesFromCsv as uploadCookiesFromCsvHelper } from '../../../lib/consent-manager/index.js';\n\nexport interface UploadCookiesFromCsvCommandFlags {\n auth: string;\n trackerStatus: ConsentTrackerStatus;\n file: string;\n transcendUrl: string;\n}\n\nexport async function uploadCookiesFromCsv(\n this: LocalContext,\n { auth, trackerStatus, file, transcendUrl }: UploadCookiesFromCsvCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n // Upload cookies\n await uploadCookiesFromCsvHelper({\n auth,\n trackerStatus,\n file,\n transcendUrl,\n });\n}\n"],"mappings":"4GAaA,eAAsB,EAEpB,CAAE,OAAM,gBAAe,OAAM,gBACd,CACf,EAAoB,KAAK,QAAQ,KAAK,CAGtC,MAAMA,EAA2B,CAC/B,OACA,gBACA,OACA,eACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./skipRequestDataSilos-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./skipRequestDataSilos-CA4LoQ7F.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";async function n({auth:n,dataSiloId:r,status:i,statuses:a,transcendUrl:o,actionTypes:s}){t(this.process.exit),await e({transcendUrl:o,auth:n,status:i,dataSiloId:r,requestStatuses:a,actionTypes:s})}export{n as skipRequestDataSilos};
|
|
2
|
+
//# sourceMappingURL=impl-vfAnlh7r.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-vfAnlh7r.mjs","names":["skipRequestDataSilosHelper"],"sources":["../src/commands/request/system/skip-request-data-silos/impl.ts"],"sourcesContent":["import type {\n RequestAction,\n RequestDataSiloStatus,\n RequestStatus,\n} from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../../context.js';\nimport { doneInputValidation } from '../../../../lib/cli/done-input-validation.js';\nimport { skipRequestDataSilos as skipRequestDataSilosHelper } from '../../../../lib/requests/index.js';\n\nexport interface SkipRequestDataSilosCommandFlags {\n auth: string;\n dataSiloId: string;\n transcendUrl: string;\n statuses: RequestStatus[];\n status: (typeof RequestDataSiloStatus)['Skipped'] | (typeof RequestDataSiloStatus)['Resolved'];\n actionTypes?: RequestAction[];\n}\n\nexport async function skipRequestDataSilos(\n this: LocalContext,\n {\n auth,\n dataSiloId,\n status,\n statuses,\n transcendUrl,\n actionTypes,\n }: SkipRequestDataSilosCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await skipRequestDataSilosHelper({\n transcendUrl,\n auth,\n status,\n dataSiloId,\n requestStatuses: statuses,\n actionTypes,\n });\n}\n"],"mappings":"4GAmBA,eAAsB,EAEpB,CACE,OACA,aACA,SACA,WACA,eACA,eAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAMA,EAA2B,CAC/B,eACA,OACA,SACA,aACA,gBAAiB,EACjB,cACD,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{r as e}from"./constants-
|
|
1
|
+
import{r as e}from"./constants-CSp8-HmP.mjs";import{t}from"./logger-Bj782ZYD.mjs";import{a as n}from"./writeCsv-C4pjXGsD.mjs";import{t as r}from"./pullConsentManagerMetrics-zKgjc3Ap.mjs";import{t as i}from"./validateTranscendAuth-Cuh2Qfdl.mjs";import{t as a}from"./done-input-validation-BcNBxhEs.mjs";import o,{existsSync as s,mkdirSync as c}from"node:fs";import{join as l}from"node:path";import u from"colors";import{ConsentManagerMetricBin as d,buildTranscendGraphQLClient as f}from"@transcend-io/sdk";import{map as p,mapSeries as m}from"@transcend-io/utils";async function h({auth:h,start:g,end:_,folder:v,bin:y,transcendUrl:b}){let x=y;Object.values(d).includes(x)||(t.error(u.red(`Failed to parse argument "bin" with value "${y}"\nExpected one of: \n${Object.values(d).join(`
|
|
2
2
|
`)}`)),this.process.exit(1));let S=new Date(g),C=_?new Date(_):new Date;Number.isNaN(S.getTime())&&(t.error(u.red(`Start date provided is invalid date. Got --start="${g}" expected --start="01/01/2023"`)),this.process.exit(1)),Number.isNaN(C.getTime())&&(t.error(u.red(`End date provided is invalid date. Got --end="${_}" expected --end="01/01/2023"`)),this.process.exit(1)),S>C&&(t.error(u.red(`Got a start date "${S.toISOString()}" that was larger than the end date "${C.toISOString()}". Start date must be before end date.`)),this.process.exit(1)),a(this.process.exit);let w=await i(h);if(o.existsSync(v)&&!o.lstatSync(v).isDirectory()&&(t.error(u.red(`The provided argument "folder" was passed a file. expected: folder="./consent-metrics/"`)),this.process.exit(1)),s(v)||c(v),t.info(u.magenta(`Pulling consent metrics from start=${S.toString()} to end=${C.toISOString()} with bin size "${y}"`)),typeof w==`string`){try{let e=await r(f(b,w),{bin:x,start:S,end:C});await p(Object.entries(e),async([e,r])=>{await p(r,async({points:r,name:i})=>{let a=l(v,`${e}_${i}.csv`);t.info(u.magenta(`Writing configuration to file "${a}"...`)),await n(a,r.map(({key:e,value:t})=>({timestamp:e,value:t})))},{concurrency:5})},{concurrency:5})}catch(e){t.error(u.red(`An error occurred syncing the schema: ${e.message}`)),this.process.exit(1)}t.info(u.green(`Successfully synced consent metrics to disk in folder "${v}"! View at ${e}`))}else{let i=[];await m(w,async(e,a)=>{let o=`[${a+1}/${w.length}][${e.organizationName}] `;t.info(u.magenta(`~~~\n\n${o}Attempting to pull consent metrics...\n\n~~~`));let d=f(b,e.apiKey);try{let i=await r(d,{bin:x,start:S,end:C}),a=l(v,e.organizationName);s(a)||c(a),Object.entries(i).forEach(([e,r])=>{r.forEach(({points:r,name:i})=>{let o=l(a,`${e}_${i}.csv`);t.info(u.magenta(`Writing configuration to file "${o}"...`)),n(o,r.map(({key:e,value:t})=>({timestamp:e,value:t})))})}),t.info(u.green(`${o}Successfully pulled configuration!`))}catch(n){t.error(u.red(`${o}Failed to sync configuration.`),n),i.push(e.organizationName)}}),i.length>0&&(t.info(u.red(`Sync encountered errors for "${i.join(`,`)}". View output above for more information, or check out ${e}`)),this.process.exit(1))}}export{h as pullConsentMetrics};
|
|
3
|
-
//# sourceMappingURL=impl-
|
|
3
|
+
//# sourceMappingURL=impl-ys6BFhX4.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-ys6BFhX4.mjs","names":[],"sources":["../src/commands/consent/pull-consent-metrics/impl.ts"],"sourcesContent":["import fs, { existsSync, mkdirSync } from 'node:fs';\nimport { join } from 'node:path';\n\nimport { buildTranscendGraphQLClient, ConsentManagerMetricBin } from '@transcend-io/sdk';\nimport { map, mapSeries } from '@transcend-io/utils';\nimport colors from 'colors';\n\nimport { ADMIN_DASH_INTEGRATIONS } from '../../../constants.js';\nimport type { LocalContext } from '../../../context.js';\nimport { validateTranscendAuth } from '../../../lib/api-keys/index.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { pullConsentManagerMetrics } from '../../../lib/consent-manager/index.js';\nimport { writeCsv } from '../../../lib/helpers/index.js';\nimport { logger } from '../../../logger.js';\n\nexport interface PullConsentMetricsCommandFlags {\n auth: string;\n start: Date;\n end?: Date;\n folder: string;\n bin: string;\n transcendUrl: string;\n}\n\nexport async function pullConsentMetrics(\n this: LocalContext,\n { auth, start, end, folder, bin, transcendUrl }: PullConsentMetricsCommandFlags,\n): Promise<void> {\n // Validate bin\n const parsedBin = bin as ConsentManagerMetricBin;\n if (!Object.values(ConsentManagerMetricBin).includes(parsedBin)) {\n logger.error(\n colors.red(\n `Failed to parse argument \"bin\" with value \"${bin}\"\\n` +\n `Expected one of: \\n${Object.values(ConsentManagerMetricBin).join('\\n')}`,\n ),\n );\n this.process.exit(1);\n }\n\n // Parse the dates\n const startDate = new Date(start);\n const endDate = end ? new Date(end) : new Date();\n if (Number.isNaN(startDate.getTime())) {\n logger.error(\n colors.red(\n `Start date provided is invalid date. Got --start=\"${start}\" expected --start=\"01/01/2023\"`,\n ),\n );\n this.process.exit(1);\n }\n if (Number.isNaN(endDate.getTime())) {\n logger.error(\n colors.red(\n `End date provided is invalid date. Got --end=\"${end}\" expected --end=\"01/01/2023\"`,\n ),\n );\n this.process.exit(1);\n }\n if (startDate > endDate) {\n logger.error(\n colors.red(\n `Got a start date \"${startDate.toISOString()}\" that was larger than the end date \"${endDate.toISOString()}\". ` +\n 'Start date must be before end date.',\n ),\n );\n this.process.exit(1);\n }\n\n doneInputValidation(this.process.exit);\n\n // Parse authentication as API key or path to list of API keys\n const apiKeyOrList = await validateTranscendAuth(auth);\n\n // Ensure folder either does not exist or is not a file\n if (fs.existsSync(folder) && !fs.lstatSync(folder).isDirectory()) {\n logger.error(\n colors.red(\n 'The provided argument \"folder\" was passed a file. expected: folder=\"./consent-metrics/\"',\n ),\n );\n this.process.exit(1);\n }\n\n // Create the folder if it does not exist\n if (!existsSync(folder)) {\n mkdirSync(folder);\n }\n\n logger.info(\n colors.magenta(\n `Pulling consent metrics from start=${startDate.toString()} to end=${endDate.toISOString()} with bin size \"${bin}\"`,\n ),\n );\n\n // Sync to Disk\n if (typeof apiKeyOrList === 'string') {\n try {\n // Create a GraphQL client\n const client = buildTranscendGraphQLClient(transcendUrl, apiKeyOrList);\n\n // Pull the metrics\n const configuration = await pullConsentManagerMetrics(client, {\n bin: parsedBin,\n start: startDate,\n end: endDate,\n });\n\n // Write to file\n await map(\n Object.entries(configuration),\n async ([metricName, metrics]) => {\n await map(\n metrics,\n async ({ points, name }) => {\n const file = join(folder, `${metricName}_${name}.csv`);\n logger.info(colors.magenta(`Writing configuration to file \"${file}\"...`));\n await writeCsv(\n file,\n points.map(({ key, value }: { key: string; value: string }) => ({\n timestamp: key,\n value,\n })),\n );\n },\n {\n concurrency: 5,\n },\n );\n },\n { concurrency: 5 },\n );\n } catch (err) {\n logger.error(colors.red(`An error occurred syncing the schema: ${err.message}`));\n this.process.exit(1);\n }\n\n // Indicate success\n logger.info(\n colors.green(\n `Successfully synced consent metrics to disk in folder \"${folder}\"! View at ${ADMIN_DASH_INTEGRATIONS}`,\n ),\n );\n } else {\n const encounteredErrors: string[] = [];\n await mapSeries(apiKeyOrList, async (apiKey, ind) => {\n const prefix = `[${ind + 1}/${apiKeyOrList.length}][${apiKey.organizationName}] `;\n logger.info(colors.magenta(`~~~\\n\\n${prefix}Attempting to pull consent metrics...\\n\\n~~~`));\n\n // Create a GraphQL client\n const client = buildTranscendGraphQLClient(transcendUrl, apiKey.apiKey);\n\n try {\n const configuration = await pullConsentManagerMetrics(client, {\n bin: parsedBin,\n start: startDate,\n end: endDate,\n });\n\n // ensure folder exists for that organization\n const subFolder = join(folder, apiKey.organizationName);\n if (!existsSync(subFolder)) {\n mkdirSync(subFolder);\n }\n\n // Write to file\n Object.entries(configuration).forEach(([metricName, metrics]) => {\n metrics.forEach(({ points, name }) => {\n const file = join(subFolder, `${metricName}_${name}.csv`);\n logger.info(colors.magenta(`Writing configuration to file \"${file}\"...`));\n writeCsv(\n file,\n points.map(({ key, value }: { key: string; value: string }) => ({\n timestamp: key,\n value,\n })),\n );\n });\n });\n\n logger.info(colors.green(`${prefix}Successfully pulled configuration!`));\n } catch (err) {\n logger.error(colors.red(`${prefix}Failed to sync configuration.`), err);\n encounteredErrors.push(apiKey.organizationName);\n }\n });\n\n if (encounteredErrors.length > 0) {\n logger.info(\n colors.red(\n `Sync encountered errors for \"${encounteredErrors.join(\n ',',\n )}\". View output above for more information, or check out ${ADMIN_DASH_INTEGRATIONS}`,\n ),\n );\n\n this.process.exit(1);\n }\n }\n}\n"],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -133688,11 +133688,11 @@ declare const CachedFileState: t.TypeC<{
|
|
|
133688
133688
|
}>>; /** Mapping between request status in import to Transcend request status */
|
|
133689
133689
|
statusToRequestStatus: t.RecordC<t.StringC, t.KeyofC<{
|
|
133690
133690
|
CANCELED: unknown;
|
|
133691
|
+
"[NONE]": unknown;
|
|
133691
133692
|
FAILED_VERIFICATION: unknown;
|
|
133692
133693
|
COMPLETED: unknown;
|
|
133693
133694
|
SECONDARY_COMPLETED: unknown;
|
|
133694
133695
|
REVOKED: unknown;
|
|
133695
|
-
"[NONE]": unknown;
|
|
133696
133696
|
}>>;
|
|
133697
133697
|
}>;
|
|
133698
133698
|
/** Type override */
|
|
@@ -139594,20 +139594,20 @@ declare const PrivacyRequestResponse: t.TypeC<{
|
|
|
139594
139594
|
status: t.KeyofC<{
|
|
139595
139595
|
CANCELED: unknown;
|
|
139596
139596
|
ON_HOLD: unknown;
|
|
139597
|
-
REQUEST_MADE: unknown;
|
|
139598
139597
|
FAILED_VERIFICATION: unknown;
|
|
139598
|
+
COMPLETED: unknown;
|
|
139599
|
+
SECONDARY_COMPLETED: unknown;
|
|
139600
|
+
REVOKED: unknown;
|
|
139601
|
+
REQUEST_MADE: unknown;
|
|
139599
139602
|
ENRICHING: unknown;
|
|
139600
139603
|
WAITING: unknown;
|
|
139601
139604
|
COMPILING: unknown;
|
|
139602
139605
|
APPROVING: unknown;
|
|
139603
139606
|
DELAYED: unknown;
|
|
139604
|
-
COMPLETED: unknown;
|
|
139605
139607
|
DOWNLOADABLE: unknown;
|
|
139606
139608
|
VIEW_CATEGORIES: unknown;
|
|
139607
139609
|
SECONDARY: unknown;
|
|
139608
|
-
SECONDARY_COMPLETED: unknown;
|
|
139609
139610
|
SECONDARY_APPROVING: unknown;
|
|
139610
|
-
REVOKED: unknown;
|
|
139611
139611
|
}>;
|
|
139612
139612
|
type: t.KeyofC<{
|
|
139613
139613
|
AUTOMATED_DECISION_MAKING_OPT_OUT: unknown;
|
|
@@ -145287,6 +145287,7 @@ declare const PrivacyRequest: t.IntersectionC<[t.TypeC<{
|
|
|
145287
145287
|
ADMIN_DASHBOARD: unknown;
|
|
145288
145288
|
API: unknown;
|
|
145289
145289
|
SHOPIFY: unknown;
|
|
145290
|
+
DROP: unknown;
|
|
145290
145291
|
}>; /** Whether request is a test request */
|
|
145291
145292
|
isTest: t.BooleanC; /** The core identifier of the request */
|
|
145292
145293
|
coreIdentifier: t.StringC; /** Request details */
|
|
@@ -145486,20 +145487,20 @@ declare const PrivacyRequest: t.IntersectionC<[t.TypeC<{
|
|
|
145486
145487
|
status: t.KeyofC<{
|
|
145487
145488
|
CANCELED: unknown;
|
|
145488
145489
|
ON_HOLD: unknown;
|
|
145489
|
-
REQUEST_MADE: unknown;
|
|
145490
145490
|
FAILED_VERIFICATION: unknown;
|
|
145491
|
+
COMPLETED: unknown;
|
|
145492
|
+
SECONDARY_COMPLETED: unknown;
|
|
145493
|
+
REVOKED: unknown;
|
|
145494
|
+
REQUEST_MADE: unknown;
|
|
145491
145495
|
ENRICHING: unknown;
|
|
145492
145496
|
WAITING: unknown;
|
|
145493
145497
|
COMPILING: unknown;
|
|
145494
145498
|
APPROVING: unknown;
|
|
145495
145499
|
DELAYED: unknown;
|
|
145496
|
-
COMPLETED: unknown;
|
|
145497
145500
|
DOWNLOADABLE: unknown;
|
|
145498
145501
|
VIEW_CATEGORIES: unknown;
|
|
145499
145502
|
SECONDARY: unknown;
|
|
145500
|
-
SECONDARY_COMPLETED: unknown;
|
|
145501
145503
|
SECONDARY_APPROVING: unknown;
|
|
145502
|
-
REVOKED: unknown;
|
|
145503
145504
|
}>; /** Type of data subject */
|
|
145504
145505
|
subjectType: t.StringC; /** Country of request */
|
|
145505
145506
|
country: t.UnionC<[t.NullC, t.KeyofC<{
|