@transcend-io/cli 6.21.0 → 6.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -13
- package/build/cli-upload-preferences.js +3 -0
- package/build/cli-upload-preferences.js.map +1 -1
- package/build/codecs.d.ts +8 -0
- package/build/codecs.d.ts.map +1 -1
- package/build/codecs.js +4 -0
- package/build/codecs.js.map +1 -1
- package/build/enums.d.ts +2 -2
- package/build/enums.d.ts.map +1 -1
- package/build/graphql/gqls/dataSilo.d.ts.map +1 -1
- package/build/graphql/gqls/dataSilo.js +6 -0
- package/build/graphql/gqls/dataSilo.js.map +1 -1
- package/build/graphql/pullTranscendConfiguration.d.ts.map +1 -1
- package/build/graphql/pullTranscendConfiguration.js +9 -1
- package/build/graphql/pullTranscendConfiguration.js.map +1 -1
- package/build/graphql/syncDataSilos.d.ts +14 -0
- package/build/graphql/syncDataSilos.d.ts.map +1 -1
- package/build/graphql/syncDataSilos.js +1 -0
- package/build/graphql/syncDataSilos.js.map +1 -1
- package/build/preference-management/parsePreferenceAndPurposeValuesFromCsv.d.ts +3 -1
- package/build/preference-management/parsePreferenceAndPurposeValuesFromCsv.d.ts.map +1 -1
- package/build/preference-management/parsePreferenceAndPurposeValuesFromCsv.js +4 -1
- package/build/preference-management/parsePreferenceAndPurposeValuesFromCsv.js.map +1 -1
- package/build/preference-management/parsePreferenceManagementCsv.d.ts +3 -1
- package/build/preference-management/parsePreferenceManagementCsv.d.ts.map +1 -1
- package/build/preference-management/parsePreferenceManagementCsv.js +8 -2
- package/build/preference-management/parsePreferenceManagementCsv.js.map +1 -1
- package/build/preference-management/uploadPreferenceManagementPreferencesInteractive.d.ts +3 -1
- package/build/preference-management/uploadPreferenceManagementPreferencesInteractive.d.ts.map +1 -1
- package/build/preference-management/uploadPreferenceManagementPreferencesInteractive.js +9 -4
- package/build/preference-management/uploadPreferenceManagementPreferencesInteractive.js.map +1 -1
- package/build/tsbuildinfo +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2469,19 +2469,24 @@ In order to use this cli, you will first need to follow [this guide](https://doc
|
|
|
2469
2469
|
|
|
2470
2470
|
#### Arguments
|
|
2471
2471
|
|
|
2472
|
-
| Argument
|
|
2473
|
-
|
|
|
2474
|
-
| auth
|
|
2475
|
-
| partition
|
|
2476
|
-
| sombraAuth
|
|
2477
|
-
| transcendUrl
|
|
2478
|
-
| file
|
|
2479
|
-
|
|
|
2480
|
-
|
|
|
2481
|
-
|
|
|
2482
|
-
|
|
|
2483
|
-
|
|
|
2484
|
-
|
|
|
2472
|
+
| Argument | Description | Type | Default | Required |
|
|
2473
|
+
| ----------------------- | ------------------------------------------------------------------------------------------------- | ----------------------- | -------------------------------------------- | -------- |
|
|
2474
|
+
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2475
|
+
| partition | The partition key to download consent preferences to | string | N/A | true |
|
|
2476
|
+
| sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
|
|
2477
|
+
| transcendUrl | URL of the Transcend backend. Use https://consent.us.transcend.io for US hosting. | string - URL | https://consent.transcend.io | false |
|
|
2478
|
+
| file | Path to the CSV file to load preferences from | string - file-path | N/A | true |
|
|
2479
|
+
| directory | Path to the directory of CSV files to load preferences from | string - directory-path | N/A | true |
|
|
2480
|
+
| csv | false |
|
|
2481
|
+
| dryRun | Whether to do a dry run only - will write results ti receiptFilepath without updating Transcend | boolean | false | false |
|
|
2482
|
+
| skipExistingRecordCheck | Whether to skip the check for existing records. SHOULD ONLY BE USED FOR INITIAL UPLOAD | boolean | false | false |
|
|
2483
|
+
| receiptFileDir | Directory path where the response receipts should be saved | string - directory-path | ./receipts' | false |
|
|
2484
|
+
| skipWorkflowTriggers | Whether to skip workflow triggers when uploading to preference store | boolean | false | false |
|
|
2485
|
+
| forceTriggerWorkflows | Whether to force trigger workflows for existing consent records | boolean | false | false |
|
|
2486
|
+
| skipConflictUpdates | Whether to skip uploading of any records where the preference store and file have a hard conflict | boolean | false | false |
|
|
2487
|
+
| isSilent | Whether to skip sending emails in workflows | boolean | true | false |
|
|
2488
|
+
| attributes | Attributes to add to any DSR request if created | string | Tags:transcend-cli,Source:transcend-cli | false |
|
|
2489
|
+
| receiptFilepath | Store resulting, continuing where left off | string - file-path | ./preference-management-upload-receipts.json | false |
|
|
2485
2490
|
|
|
2486
2491
|
#### Usage
|
|
2487
2492
|
|
|
@@ -46,6 +46,8 @@ async function main() {
|
|
|
46
46
|
dryRun = 'false',
|
|
47
47
|
/** Whether to skip workflow triggers */
|
|
48
48
|
skipWorkflowTriggers = 'false',
|
|
49
|
+
/** Whether to force trigger workflows */
|
|
50
|
+
forceTriggerWorkflows = 'false',
|
|
49
51
|
/** Whether to skip conflict updates */
|
|
50
52
|
skipConflictUpdates = 'false',
|
|
51
53
|
/** Whether to skip the check for existing records. SHOULD ONLY BE USED FOR INITIAL UPLOAD */
|
|
@@ -132,6 +134,7 @@ async function main() {
|
|
|
132
134
|
isSilent: isSilent !== 'false',
|
|
133
135
|
dryRun: dryRun !== 'false',
|
|
134
136
|
attributes: (0, requests_1.splitCsvToList)(attributes),
|
|
137
|
+
forceTriggerWorkflows: forceTriggerWorkflows !== 'false',
|
|
135
138
|
});
|
|
136
139
|
}, { concurrency: parseInt(concurrency, 10) });
|
|
137
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-upload-preferences.js","sourceRoot":"","sources":["../src/cli-upload-preferences.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli-upload-preferences.js","sourceRoot":"","sources":["../src/cli-upload-preferences.ts"],"names":[],"mappings":"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"}
|
package/build/codecs.d.ts
CHANGED
|
@@ -46973,6 +46973,10 @@ export declare const DataSiloInput: t.IntersectionC<[t.TypeC<{
|
|
|
46973
46973
|
/** Attribute values */
|
|
46974
46974
|
values: t.ArrayC<t.StringC>;
|
|
46975
46975
|
}>>;
|
|
46976
|
+
/**
|
|
46977
|
+
* The business entities associated with this data silo
|
|
46978
|
+
*/
|
|
46979
|
+
businessEntityTitles: t.ArrayC<t.StringC>;
|
|
46976
46980
|
}>]>;
|
|
46977
46981
|
/** Type override */
|
|
46978
46982
|
export type DataSiloInput = t.TypeOf<typeof DataSiloInput>;
|
|
@@ -81703,6 +81707,10 @@ export declare const TranscendInput: t.PartialC<{
|
|
|
81703
81707
|
/** Attribute values */
|
|
81704
81708
|
values: t.ArrayC<t.StringC>;
|
|
81705
81709
|
}>>;
|
|
81710
|
+
/**
|
|
81711
|
+
* The business entities associated with this data silo
|
|
81712
|
+
*/
|
|
81713
|
+
businessEntityTitles: t.ArrayC<t.StringC>;
|
|
81706
81714
|
}>]>>;
|
|
81707
81715
|
/**
|
|
81708
81716
|
* Data flow definitions
|