@salesforce/analytics 1.0.6 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +88 -49
  3. package/lib/commands/analytics/app/create.d.ts +1 -17
  4. package/lib/commands/analytics/app/create.js +7 -186
  5. package/lib/commands/analytics/app/create.js.map +1 -1
  6. package/lib/commands/analytics/app/update.d.ts +10 -1
  7. package/lib/commands/analytics/app/update.js +31 -5
  8. package/lib/commands/analytics/app/update.js.map +1 -1
  9. package/lib/commands/analytics/autoinstall/app/create.js +2 -2
  10. package/lib/commands/analytics/autoinstall/app/create.js.map +1 -1
  11. package/lib/commands/analytics/autoinstall/app/delete.js +2 -2
  12. package/lib/commands/analytics/autoinstall/app/delete.js.map +1 -1
  13. package/lib/commands/analytics/autoinstall/app/update.js +2 -2
  14. package/lib/commands/analytics/autoinstall/app/update.js.map +1 -1
  15. package/lib/commands/analytics/enable.js +2 -2
  16. package/lib/commands/analytics/enable.js.map +1 -1
  17. package/lib/commands/analytics/recipe/list.d.ts +17 -0
  18. package/lib/commands/analytics/recipe/list.js +41 -0
  19. package/lib/commands/analytics/recipe/list.js.map +1 -0
  20. package/lib/commands/analytics/template/create.d.ts +1 -0
  21. package/lib/commands/analytics/template/create.js +14 -3
  22. package/lib/commands/analytics/template/create.js.map +1 -1
  23. package/lib/commands/analytics/template/update.d.ts +1 -0
  24. package/lib/commands/analytics/template/update.js +13 -2
  25. package/lib/commands/analytics/template/update.js.map +1 -1
  26. package/lib/lib/analytics/constants.d.ts +2 -2
  27. package/lib/lib/analytics/constants.js +3 -3
  28. package/lib/lib/analytics/constants.js.map +1 -1
  29. package/lib/lib/analytics/event/appStreaming.d.ts +30 -0
  30. package/lib/lib/analytics/event/appStreaming.js +234 -0
  31. package/lib/lib/analytics/event/appStreaming.js.map +1 -0
  32. package/lib/lib/analytics/recipe/recipe.d.ts +14 -0
  33. package/lib/lib/analytics/recipe/recipe.js +20 -0
  34. package/lib/lib/analytics/recipe/recipe.js.map +1 -0
  35. package/lib/lib/analytics/template/wavetemplate.d.ts +4 -2
  36. package/lib/lib/analytics/template/wavetemplate.js +6 -3
  37. package/lib/lib/analytics/template/wavetemplate.js.map +1 -1
  38. package/messages/app.json +3 -0
  39. package/messages/recipe.json +5 -0
  40. package/messages/template.json +3 -1
  41. package/oclif.manifest.json +1 -1
  42. package/package.json +6 -3
@@ -24,6 +24,7 @@ class Update extends command_1.SfdxCommand {
24
24
  }
25
25
  let folderid = this.flags.folderid;
26
26
  const assetversion = this.flags.assetversion;
27
+ const recipeIds = this.flags.recipeids;
27
28
  const template = new wavetemplate_1.default(this.org);
28
29
  // no folder id provided, first see if we can find in on the folderSource of the template
29
30
  if (!folderid) {
@@ -56,7 +57,7 @@ class Update extends command_1.SfdxCommand {
56
57
  return;
57
58
  }
58
59
  }
59
- const result = await template.update(folderid, templateInput, assetversion);
60
+ const result = await template.update(folderid, templateInput, assetversion, recipeIds);
60
61
  this.ux.log(messages.getMessage('updateSuccess', [result === null || result === void 0 ? void 0 : result.name, result === null || result === void 0 ? void 0 : result.id, folderid]));
61
62
  return templateInput;
62
63
  }
@@ -64,7 +65,10 @@ class Update extends command_1.SfdxCommand {
64
65
  exports.default = Update;
65
66
  Update.description = messages.getMessage('updateCommandDescription');
66
67
  Update.longDescription = messages.getMessage('updateCommandLongDescription');
67
- Update.examples = ['$ sfdx analytics:template:update -t templateid -f folderid'];
68
+ Update.examples = [
69
+ '$ sfdx analytics:template:update -t templateid -f folderid',
70
+ '$ sfdx analytics:template:update -t templateid -f folderid -r "recipeid1, recipeid2"'
71
+ ];
68
72
  Update.flagsConfig = {
69
73
  templateid: command_1.flags.id({
70
74
  char: 't',
@@ -83,6 +87,13 @@ Update.flagsConfig = {
83
87
  description: messages.getMessage('folderidFlagDescription'),
84
88
  longDescription: messages.getMessage('folderidFlagLongDescription')
85
89
  }),
90
+ // recipeids only work in 238+, they are silently ignored on the server in 236-
91
+ recipeids: command_1.flags.array({
92
+ char: 'r',
93
+ required: false,
94
+ description: messages.getMessage('recipeidsFlagDescription'),
95
+ longDescription: messages.getMessage('recipeidsFlagLongDescription')
96
+ }),
86
97
  assetversion: command_1.flags.integer({
87
98
  char: 'v',
88
99
  description: messages.getMessage('assetVersionFlagDescription'),
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/analytics/template/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/analytics/template/update.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- /** Default timeout to wait for app creation commands, in minutes. */
2
- export declare const DEF_APP_CREATE_TIMEOUT = 10;
1
+ /** Default timeout to wait for app creation/update commands, in minutes. */
2
+ export declare const DEF_APP_CREATE_UPDATE_TIMEOUT = 10;
3
3
  /** Default server polling interval, in milliseconds. */
4
4
  export declare const DEF_POLLING_INTERVAL = 5000;
5
5
  /** The shortest polling interval we'll let people specify, in milliseconds */
@@ -6,9 +6,9 @@
6
6
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.MIN_POLLING_INTERVAL = exports.DEF_POLLING_INTERVAL = exports.DEF_APP_CREATE_TIMEOUT = void 0;
10
- /** Default timeout to wait for app creation commands, in minutes. */
11
- exports.DEF_APP_CREATE_TIMEOUT = 10;
9
+ exports.MIN_POLLING_INTERVAL = exports.DEF_POLLING_INTERVAL = exports.DEF_APP_CREATE_UPDATE_TIMEOUT = void 0;
10
+ /** Default timeout to wait for app creation/update commands, in minutes. */
11
+ exports.DEF_APP_CREATE_UPDATE_TIMEOUT = 10;
12
12
  /** Default server polling interval, in milliseconds. */
13
13
  // the md commands in force: default to 5000ms. polling interval so use the same here
14
14
  exports.DEF_POLLING_INTERVAL = 5000;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/analytics/constants.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qEAAqE;AACxD,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAEzC,wDAAwD;AACxD,qFAAqF;AACxE,QAAA,oBAAoB,GAAG,IAAI,CAAC;AAEzC,8EAA8E;AACjE,QAAA,oBAAoB,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/analytics/constants.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,4EAA4E;AAC/D,QAAA,6BAA6B,GAAG,EAAE,CAAC;AAEhD,wDAAwD;AACxD,qFAAqF;AACxE,QAAA,oBAAoB,GAAG,IAAI,CAAC;AAEzC,8EAA8E;AACjE,QAAA,oBAAoB,GAAG,IAAI,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { UX } from '@salesforce/command';
2
+ import { Logger, Org } from '@salesforce/core';
3
+ import Folder, { CreateAppBody } from '../app/folder';
4
+ export declare type StreamingResult = {
5
+ EventType: string;
6
+ Status: string;
7
+ Index: number;
8
+ Total: number;
9
+ ItemLabel: string;
10
+ Message: string;
11
+ };
12
+ export default class AppStreaming {
13
+ streamingResults: StreamingResult[];
14
+ protected logger: Logger | undefined;
15
+ protected ux: UX;
16
+ protected allEvents: boolean;
17
+ protected org: Org;
18
+ protected wait: number;
19
+ constructor(organization: Org, allEvents: boolean, wait: number, ux: UX);
20
+ createApp(folder: Folder, body: CreateAppBody): Promise<string | undefined>;
21
+ updateApp(folder: Folder, folderId: string, templateId: string): Promise<string | undefined>;
22
+ getStreamingResults(): StreamingResult[];
23
+ streamCreateEvent(folder: Folder, body: CreateAppBody): Promise<string | undefined>;
24
+ streamUpdateEvent(folder: Folder, folderId: string, templateId: string): Promise<string>;
25
+ private streamProcessor;
26
+ private logEvent;
27
+ private createStreamingClient;
28
+ private createEventJson;
29
+ private getStreamResultMark;
30
+ }
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022, salesforce.com, inc.
4
+ * All rights reserved.
5
+ * Licensed under the BSD 3-Clause license.
6
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const core_1 = require("@salesforce/core");
13
+ const chalk_1 = __importDefault(require("chalk"));
14
+ const kit_1 = require("@salesforce/kit");
15
+ const utils_1 = require("../utils");
16
+ const waveAssetEvent_1 = __importDefault(require("./waveAssetEvent"));
17
+ core_1.Messages.importMessagesDirectory(__dirname);
18
+ const messages = core_1.Messages.loadMessages('@salesforce/analytics', 'app');
19
+ class AppStreaming {
20
+ constructor(organization, allEvents, wait, ux) {
21
+ this.streamingResults = [];
22
+ this.allEvents = false;
23
+ this.allEvents = allEvents;
24
+ this.org = organization;
25
+ this.wait = wait;
26
+ this.ux = ux;
27
+ }
28
+ async createApp(folder, body) {
29
+ const waveAppId = await folder.create(body);
30
+ this.ux.styledHeader(messages.getMessage('startAppCreation', [waveAppId]));
31
+ return waveAppId;
32
+ }
33
+ async updateApp(folder, folderId, templateId) {
34
+ const waveAppId = await folder.update(folderId, templateId);
35
+ this.ux.styledHeader(messages.getMessage('startAppUpdate', [waveAppId]));
36
+ return waveAppId;
37
+ }
38
+ getStreamingResults() {
39
+ return this.streamingResults;
40
+ }
41
+ async streamCreateEvent(folder, body) {
42
+ let folderId;
43
+ const options = new core_1.StreamingClient.DefaultOptions(this.org, '/event/WaveAssetEvent', message => this.streamProcessor(folderId, message));
44
+ const asyncStatusClient = await this.createStreamingClient(options);
45
+ try {
46
+ await asyncStatusClient.subscribe(async () => {
47
+ folderId = await this.createApp(folder, body);
48
+ });
49
+ }
50
+ catch (error) {
51
+ if (error.code === 'genericTimeoutMessage') {
52
+ // include the app id in the error if we timeout waiting, since the app got created
53
+ (0, utils_1.throwWithData)(messages.getMessage('timeoutMessage', [error.message]), {
54
+ id: folderId
55
+ });
56
+ }
57
+ throw error;
58
+ }
59
+ return folderId;
60
+ }
61
+ async streamUpdateEvent(folder, folderId, templateId) {
62
+ const options = new core_1.StreamingClient.DefaultOptions(this.org, '/event/WaveAssetEvent', message => this.streamProcessor(folderId, message));
63
+ const asyncStatusClient = await this.createStreamingClient(options);
64
+ try {
65
+ await asyncStatusClient.subscribe(async () => {
66
+ await this.updateApp(folder, folderId, templateId);
67
+ });
68
+ }
69
+ catch (error) {
70
+ if (error.code === 'genericTimeoutMessage') {
71
+ // include the app id in the error if we timeout waiting, since the app got created
72
+ (0, utils_1.throwWithData)(messages.getMessage('timeoutMessage', [error.message]), {
73
+ id: folderId
74
+ });
75
+ }
76
+ throw error;
77
+ }
78
+ return folderId;
79
+ }
80
+ streamProcessor(folderId, event) {
81
+ const waveAssetEvent = new waveAssetEvent_1.default(event);
82
+ // Only handle events for the newly created folder id and ignore for tests
83
+ if (folderId !== waveAssetEvent.folderId && waveAssetEvent.folderId !== 'test') {
84
+ return { completed: false };
85
+ }
86
+ switch (waveAssetEvent.eventType) {
87
+ case 'ExternalData': {
88
+ this.logEvent('External Data', 'created', waveAssetEvent);
89
+ break;
90
+ }
91
+ case 'Dataset': {
92
+ this.logEvent('Datasets', 'created', waveAssetEvent);
93
+ break;
94
+ }
95
+ case 'Lens': {
96
+ this.logEvent('Lenses', 'created', waveAssetEvent);
97
+ break;
98
+ }
99
+ case 'Dashboard': {
100
+ this.logEvent('Dashboards', 'created', waveAssetEvent);
101
+ break;
102
+ }
103
+ case 'Dataflow': {
104
+ this.logEvent('Dataflows', 'created', waveAssetEvent);
105
+ break;
106
+ }
107
+ case 'Recipe': {
108
+ this.logEvent('Recipes', 'created', waveAssetEvent);
109
+ break;
110
+ }
111
+ case 'ExecutionPlan': {
112
+ this.logEvent('Execution Plan', 'created', waveAssetEvent);
113
+ break;
114
+ }
115
+ case 'UserDataflowInstance': {
116
+ this.logEvent('User Dataflow Instructions', 'executed', waveAssetEvent);
117
+ break;
118
+ }
119
+ case 'ExtendedType': {
120
+ this.logEvent('Template Extensions', 'created', waveAssetEvent);
121
+ break;
122
+ }
123
+ case 'SystemDataflowInstance': {
124
+ this.logEvent('System Dataflow Instructions', 'executed', waveAssetEvent);
125
+ break;
126
+ }
127
+ case 'ReplicationDataflowInstance': {
128
+ this.logEvent('Replication Dataflow Instructions', 'executed', waveAssetEvent);
129
+ break;
130
+ }
131
+ case 'UserXmd': {
132
+ this.logEvent('User XMDs', 'created', waveAssetEvent);
133
+ break;
134
+ }
135
+ case 'AssetPruning': {
136
+ this.logEvent('Asset', 'deleted', waveAssetEvent);
137
+ break;
138
+ }
139
+ case 'Image': {
140
+ this.logEvent('Images', 'created', waveAssetEvent);
141
+ break;
142
+ }
143
+ case 'Application': {
144
+ this.createEventJson(waveAssetEvent);
145
+ if (waveAssetEvent.status === 'Success') {
146
+ this.ux.log(this.getStreamResultMark(true), messages.getMessage('finishAppCreation', [waveAssetEvent.label]));
147
+ }
148
+ else {
149
+ // failed or cancelled
150
+ this.ux.log(this.getStreamResultMark(false), messages.getMessage('finishAppCreationFailure', [waveAssetEvent.message]));
151
+ (0, utils_1.throwWithData)(messages.getMessage('finishAppCreationFailure', [waveAssetEvent.message]), {
152
+ id: folderId,
153
+ events: this.streamingResults
154
+ });
155
+ }
156
+ return { completed: true };
157
+ }
158
+ }
159
+ return { completed: false };
160
+ }
161
+ logEvent(eventDisplayName, action, event) {
162
+ if (this.allEvents && event.total > 0) {
163
+ this.createEventJson(event);
164
+ if (event.status === 'Success') {
165
+ this.ux.log(this.getStreamResultMark(true), messages.getMessage('verboseAppCreateEventSuccess', [
166
+ messages.getMessage('appCreateSuccessfulLabel'),
167
+ eventDisplayName,
168
+ event.index,
169
+ event.total,
170
+ event.label
171
+ ]));
172
+ }
173
+ else {
174
+ this.ux.log(this.getStreamResultMark(false), messages.getMessage('appCreateEventFail', [
175
+ messages.getMessage('appCreateEventFailureLabel'),
176
+ eventDisplayName,
177
+ event.index,
178
+ event.total,
179
+ event.label,
180
+ event.message
181
+ ]));
182
+ }
183
+ }
184
+ else {
185
+ if (event.status === 'Success' && event.total > 0 && event.total === event.index) {
186
+ this.createEventJson(event);
187
+ this.ux.log(this.getStreamResultMark(true), messages.getMessage('appCreateEvent', [event.total, eventDisplayName, action]));
188
+ }
189
+ if (event.status !== 'Success') {
190
+ this.createEventJson(event);
191
+ this.ux.log(this.getStreamResultMark(true), messages.getMessage('appCreateEventFail', [
192
+ messages.getMessage('appCreateEventFailureLabel'),
193
+ eventDisplayName,
194
+ event.index,
195
+ event.total,
196
+ event.label,
197
+ event.message
198
+ ]));
199
+ }
200
+ }
201
+ }
202
+ async createStreamingClient(options) {
203
+ const timeout = kit_1.Duration.minutes(this.wait);
204
+ options.setHandshakeTimeout(timeout);
205
+ options.setSubscribeTimeout(timeout);
206
+ const asyncStatusClient = await core_1.StreamingClient.create(options);
207
+ await asyncStatusClient.handshake();
208
+ // Stream all WaveAssetEvents events for this org
209
+ asyncStatusClient.replay(-1);
210
+ return asyncStatusClient;
211
+ }
212
+ createEventJson(event) {
213
+ const entry = {
214
+ EventType: event.eventType,
215
+ Status: event.status,
216
+ Index: event.index,
217
+ Total: event.total,
218
+ ItemLabel: event.label,
219
+ Message: event.message
220
+ };
221
+ this.streamingResults.push(entry);
222
+ }
223
+ getStreamResultMark(success) {
224
+ if (process.platform === 'win32') {
225
+ return '';
226
+ }
227
+ if (success) {
228
+ return chalk_1.default.green('✔');
229
+ }
230
+ return chalk_1.default.red('✖');
231
+ }
232
+ }
233
+ exports.default = AppStreaming;
234
+ //# sourceMappingURL=appStreaming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appStreaming.js","sourceRoot":"","sources":["../../../../src/lib/analytics/event/appStreaming.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Org } from '@salesforce/core';
2
+ export declare type RecipeType = {
3
+ id?: string;
4
+ name?: string;
5
+ namespace?: string;
6
+ label?: string;
7
+ status?: string;
8
+ };
9
+ export default class Recipe {
10
+ private readonly connection;
11
+ private readonly recipesUrl;
12
+ constructor(organization: Org);
13
+ list(): Promise<RecipeType[]>;
14
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2016, salesforce.com, inc.
4
+ * All rights reserved.
5
+ * Licensed under the BSD 3-Clause license.
6
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const request_1 = require("../request");
10
+ class Recipe {
11
+ constructor(organization) {
12
+ this.connection = organization.getConnection();
13
+ this.recipesUrl = `${this.connection.baseUrl()}/wave/recipes/`;
14
+ }
15
+ list() {
16
+ return (0, request_1.fetchAllPages)(this.connection, this.recipesUrl, 'recipes');
17
+ }
18
+ }
19
+ exports.default = Recipe;
20
+ //# sourceMappingURL=recipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../../src/lib/analytics/recipe/recipe.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAGH,wCAA2C;AAU3C,MAAqB,MAAM;IAIzB,YAAmB,YAAiB;QAClC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACjE,CAAC;IAEM,IAAI;QACT,OAAO,IAAA,uBAAa,EAAa,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChF,CAAC;CACF;AAZD,yBAYC"}
@@ -10,6 +10,7 @@ export declare type TemplateType = Record<string, unknown> & {
10
10
  };
11
11
  templateType?: string;
12
12
  assetVersion?: string;
13
+ recipeIds?: string[];
13
14
  };
14
15
  export default class WaveTemplate {
15
16
  readonly serverVersion: number;
@@ -17,11 +18,12 @@ export default class WaveTemplate {
17
18
  private readonly templatesUrl;
18
19
  constructor(organization: Org);
19
20
  fetch(templateNameOrId: string, viewOnly?: boolean): Promise<TemplateType>;
20
- create(folderid: string, { label, description }?: {
21
+ create(folderid: string, { label, description, recipeIds }?: {
21
22
  label?: string;
22
23
  description?: string;
24
+ recipeIds?: string[];
23
25
  }): Promise<string | undefined>;
24
- update(folderid: string, templateIdOrName: string, templateAssetVersion: number | unknown): Promise<{
26
+ update(folderid: string, templateIdOrName: string, templateAssetVersion: number | unknown, recipeIds: string[] | unknown): Promise<{
25
27
  id: string | undefined;
26
28
  name: string | undefined;
27
29
  } | undefined>;
@@ -20,8 +20,8 @@ class WaveTemplate {
20
20
  (0, utils_1.throwError)(response);
21
21
  }
22
22
  }
23
- async create(folderid, { label, description } = {}) {
24
- const body = JSON.stringify({ folderSource: { id: folderid }, label, description });
23
+ async create(folderid, { label, description, recipeIds } = {}) {
24
+ const body = JSON.stringify({ folderSource: { id: folderid }, label, description, recipeIds });
25
25
  const response = await (0, request_1.connectRequest)(this.connection, {
26
26
  method: 'POST',
27
27
  url: this.templatesUrl,
@@ -34,11 +34,14 @@ class WaveTemplate {
34
34
  (0, utils_1.throwError)(response);
35
35
  }
36
36
  }
37
- async update(folderid, templateIdOrName, templateAssetVersion) {
37
+ async update(folderid, templateIdOrName, templateAssetVersion, recipeIds) {
38
38
  const opts = { folderSource: { id: folderid } };
39
39
  if (templateAssetVersion && this.serverVersion >= 54.0) {
40
40
  opts.assetVersion = templateAssetVersion;
41
41
  }
42
+ if (recipeIds && this.serverVersion >= 55.0) {
43
+ opts.recipeIds = recipeIds;
44
+ }
42
45
  const body = JSON.stringify(opts);
43
46
  const wtUrl = this.templatesUrl + encodeURIComponent(templateIdOrName);
44
47
  const response = await (0, request_1.connectRequest)(this.connection, {
@@ -1 +1 @@
1
- {"version":3,"file":"wavetemplate.js","sourceRoot":"","sources":["../../../../src/lib/analytics/template/wavetemplate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wavetemplate.js","sourceRoot":"","sources":["../../../../src/lib/analytics/template/wavetemplate.ts"],"names":[],"mappings":"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"}
package/messages/app.json CHANGED
@@ -25,12 +25,15 @@
25
25
  "applogFlagLongDescription": "Specify to include app creation log details.",
26
26
  "appCreateAsyncDescription": "create app asynchronously",
27
27
  "appCreateAsyncLongDescription": "Create app asynchronously.",
28
+ "appUpdateAsyncDescription": "update app asynchronously",
29
+ "appUpdateAsyncLongDescription": "Update app asynchronously.",
28
30
  "appCreateAllEventsDescription": "verbose display of all app create events",
29
31
  "appCreateAllEventsLongDescription": "Verbose display of all app create events.",
30
32
  "appDefinitionFileFlagDescription": "Tableau CRM template definition file; required unless --templateid is specified",
31
33
  "appDefinitionFileFlagLongDescription": "Tableau CRM template definition file; required unless a --templateid value is specified.",
32
34
  "appsFound": "Found [%s] Tableau CRM apps.",
33
35
  "startAppCreation": "Successfully started the creation process for Tableau CRM app [%s].",
36
+ "startAppUpdate": "Successfully started the update process for Tableau CRM app [%s].",
34
37
  "appCreateEvent": "%s %s %s, 0 failed",
35
38
  "verboseAppCreateEventSuccess": "%s %s %s of %s [%s]",
36
39
  "appCreateEventFail": "%s %s %s of %s [%s] with message [%s]",
@@ -0,0 +1,5 @@
1
+ {
2
+ "listCommandDescription": "list Tableau CRM recipes",
3
+ "listCommandLongDescription": "Lists Tableau CRM recipes in the specified target org.",
4
+ "recipesFound": "Found [%s] Tableau CRM recipes."
5
+ }
@@ -44,5 +44,7 @@
44
44
  "displayDetailHeader": "Template Details",
45
45
  "missingRequiredField": "Missing Required Field: templateid or templatename",
46
46
  "assetVersionFlagDescription": "version number for upgrading the template (available in api version 54.0)",
47
- "assetVersionFlagLongDescription": "Version number for upgrading the template."
47
+ "assetVersionFlagLongDescription": "Version number for upgrading the template.",
48
+ "recipeidsFlagDescription": "comma-separated list of recipe IDs",
49
+ "recipeidsFlagLongDescription": "comma-separated list of recipe IDs to be included with the template. "
48
50
  }