@esri/solution-velocity 1.1.4 → 1.3.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.
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { IItemTemplate, UserSession } from "@esri/solution-common";
16
+ import { IItemTemplate, IVelocityTitle, UserSession } from "@esri/solution-common";
17
17
  /**
18
18
  * Common function to build urls for reading and interacting with the velocity api
19
19
  *
@@ -54,7 +54,7 @@ export declare function postVelocityData(authentication: UserSession, template:
54
54
  * @return a promise that will resolve a unique title
55
55
  *
56
56
  */
57
- export declare function getTitle(authentication: UserSession, label: string, url: string): Promise<string>;
57
+ export declare function getTitle(authentication: UserSession, label: string, url: string): Promise<IVelocityTitle>;
58
58
  /**
59
59
  * Validate the data that will be used and handle any reported issues with the outputs.
60
60
  * The output names must be unique across the organization.
@@ -65,12 +65,32 @@ export declare function getTitle(authentication: UserSession, label: string, url
65
65
  * @param templateDictionary Hash of facts: folder id, org URL, adlib replacements
66
66
  * @param type The type of velocity item
67
67
  * @param data The data used to construct the velocity item
68
- * @param dataOutputs The velocity items output objects.
68
+ * @param titles The list of know titles that exist in the org
69
+ * @param dataOutputs The velocity items output objects
70
+ * @param feeds The velocity items feed objects
69
71
  *
70
72
  * @return a promise that will resolve the data object passed in with any necessary changes.
71
73
  *
72
74
  */
73
- export declare function _validateOutputs(authentication: UserSession, templateDictionary: any, type: string, data: any, dataOutputs: any[]): Promise<any>;
75
+ export declare function _validateOutputs(authentication: UserSession, templateDictionary: any, type: string, data: any, titles: any[], dataOutputs?: any[], feeds?: any[]): Promise<any>;
76
+ /**
77
+ * Check the validate results for any name conflicts and store the conflicting names.
78
+ *
79
+ * @param validateResults The results object to check for name conflict errors
80
+ *
81
+ * @return a list of names that already exist in the org
82
+ *
83
+ */
84
+ export declare function _validateMessages(validateResults: any): string[];
85
+ /**
86
+ * Updates the feed object with a new name when validation fails.
87
+ *
88
+ * @param feeds The feed objects from the velocity item.
89
+ * @param data The full data object used for deploying the velocity item.
90
+ * @param names The names that failed due to duplicate error in validation.
91
+ *
92
+ */
93
+ export declare function _updateFeed(feeds: any[], data: any, names: string[]): void;
74
94
  /**
75
95
  * Updates the data object with a new name when validation fails.
76
96
  *
@@ -65,17 +65,24 @@ export function getVelocityUrl(authentication, templateDictionary, type, id = ""
65
65
  export function postVelocityData(authentication, template, data, templateDictionary, autoStart = false) {
66
66
  return getVelocityUrl(authentication, templateDictionary, template.type, undefined, true).then(url => {
67
67
  if (url) {
68
- return getTitle(authentication, data.label, url).then(title => {
69
- data.label = title;
68
+ return getTitle(authentication, data.label, url).then((titleInfo) => {
69
+ const titles = titleInfo.titles;
70
+ data.label = titleInfo.label;
70
71
  data.id = "";
71
72
  const body = replaceInTemplate(data, templateDictionary);
72
- const dataOutputs = (data.outputs || []).map((o) => {
73
+ const dataOutputs = (data.outputs ? data.outputs : data.output ? [data.output] : []).map((o) => {
73
74
  return {
74
75
  id: o.id,
75
76
  name: o.properties[`${o.name}.name`]
76
77
  };
77
78
  });
78
- return _validateOutputs(authentication, templateDictionary, template.type, body, dataOutputs).then(updatedBody => {
79
+ const feeds = (body.feeds ? body.feeds : body.feed ? [body.feed] : []).map((o) => {
80
+ return {
81
+ id: o.id ? o.id : o.properties[`${o.name}.portalItemId`] || "",
82
+ name: o.label ? o.label : data.label
83
+ };
84
+ });
85
+ return _validateOutputs(authentication, templateDictionary, template.type, body, titles, dataOutputs, feeds).then(updatedBody => {
79
86
  return _fetch(authentication, url, "POST", updatedBody).then(rr => {
80
87
  template.item.url = `${url}/${rr.id}`;
81
88
  template.item.title = data.label;
@@ -124,7 +131,7 @@ export function getTitle(authentication, label, url) {
124
131
  return { title: item.label };
125
132
  })
126
133
  : [];
127
- return Promise.resolve(getUniqueTitle(label, { titles }, "titles"));
134
+ return Promise.resolve({ label: getUniqueTitle(label, { titles }, "titles"), titles: titles.map(t => t.title) });
128
135
  });
129
136
  }
130
137
  /**
@@ -137,42 +144,27 @@ export function getTitle(authentication, label, url) {
137
144
  * @param templateDictionary Hash of facts: folder id, org URL, adlib replacements
138
145
  * @param type The type of velocity item
139
146
  * @param data The data used to construct the velocity item
140
- * @param dataOutputs The velocity items output objects.
147
+ * @param titles The list of know titles that exist in the org
148
+ * @param dataOutputs The velocity items output objects
149
+ * @param feeds The velocity items feed objects
141
150
  *
142
151
  * @return a promise that will resolve the data object passed in with any necessary changes.
143
152
  *
144
153
  */
145
- export function _validateOutputs(authentication, templateDictionary, type, data, dataOutputs) {
146
- if (dataOutputs.length > 0) {
154
+ export function _validateOutputs(authentication, templateDictionary, type, data, titles, dataOutputs = [], feeds = []) {
155
+ if (dataOutputs.length > 0 || feeds.length > 0) {
147
156
  return validate(authentication, templateDictionary, type, "", data).then((validateResults) => {
148
- let messages = getProp(validateResults, "validation.messages");
149
- const nodes = getProp(validateResults, "nodes");
150
- /* istanbul ignore else */
151
- if (nodes && Array.isArray(nodes)) {
152
- nodes.forEach(node => {
153
- messages = messages.concat(getProp(node, "validation.messages") || []);
154
- });
155
- }
156
- let names = [];
157
- /* istanbul ignore else */
158
- if (messages && Array.isArray(messages)) {
159
- messages.forEach(message => {
160
- // I don't see a way to ask for all output names that exist
161
- // velocityUrl + /outputs/ just gives you generic defaults not what currently exists
162
- const nameErrors = [
163
- "VALIDATION_ANALYTICS__MULTIPLE_CREATE_FEATURE_LAYER_OUTPUTS_REFERENCE_SAME_LAYER_NAME",
164
- "ITEM_MANAGER__CREATE_ANALYTIC_FAILED_DUPLICATE_OUTPUT_NAMES_IN_ORGANIZATION_NOT_ALLOWED"
165
- ];
166
- // The names returned here seem to replace " " with "_" so they do not match exactly
167
- /* istanbul ignore else */
168
- if (nameErrors.indexOf(message.key) > -1) {
169
- names = names.concat(message.args);
170
- }
171
- });
172
- }
157
+ const names = _validateMessages(validateResults);
173
158
  if (names.length > 0) {
174
- _updateDataOutput(dataOutputs, data, names);
175
- return _validateOutputs(authentication, templateDictionary, type, data, dataOutputs);
159
+ /* istanbul ignore else */
160
+ if (dataOutputs.length > 0) {
161
+ _updateDataOutput(dataOutputs, data, names);
162
+ }
163
+ /* istanbul ignore else */
164
+ if (feeds.length > 0) {
165
+ _updateFeed(feeds, data, names.concat(titles));
166
+ }
167
+ return _validateOutputs(authentication, templateDictionary, type, data, titles, dataOutputs, feeds);
176
168
  }
177
169
  else {
178
170
  return Promise.resolve(data);
@@ -183,6 +175,64 @@ export function _validateOutputs(authentication, templateDictionary, type, data,
183
175
  return Promise.resolve(data);
184
176
  }
185
177
  }
178
+ /**
179
+ * Check the validate results for any name conflicts and store the conflicting names.
180
+ *
181
+ * @param validateResults The results object to check for name conflict errors
182
+ *
183
+ * @return a list of names that already exist in the org
184
+ *
185
+ */
186
+ export function _validateMessages(validateResults) {
187
+ let messages = getProp(validateResults, "validation.messages");
188
+ const nodes = getProp(validateResults, "nodes");
189
+ /* istanbul ignore else */
190
+ if (nodes && Array.isArray(nodes)) {
191
+ nodes.forEach(node => {
192
+ messages = messages.concat(getProp(node, "validation.messages") || []);
193
+ });
194
+ }
195
+ let names = [];
196
+ /* istanbul ignore else */
197
+ if (messages && Array.isArray(messages)) {
198
+ messages.forEach(message => {
199
+ // I don't see a way to ask for all output names that exist
200
+ // velocityUrl + /outputs/ just gives you generic defaults not what currently exists
201
+ const nameErrors = [
202
+ "VALIDATION_ANALYTICS__MULTIPLE_CREATE_FEATURE_LAYER_OUTPUTS_REFERENCE_SAME_LAYER_NAME",
203
+ "VALIDATION_ANALYTICS__MULTIPLE_CREATE_STREAM_LAYER_OUTPUTS_REFERENCE_SAME_LAYER_NAME",
204
+ "ITEM_MANAGER__CREATE_ANALYTIC_FAILED_DUPLICATE_OUTPUT_NAMES_IN_ORGANIZATION_NOT_ALLOWED",
205
+ "ITEM_MANAGER__CREATE_BIG_DATA_ANALYTIC_FAILED_DUPLICATE_NAMES_NOT_ALLOWED",
206
+ "ITEM_MANAGER__CREATE_REAL_TIME_ANALYTIC_FAILED_DUPLICATE_NAMES_NOT_ALLOWED",
207
+ "ITEM_MANAGER__CREATE_FEED_FAILED_DUPLICATE_NAME"
208
+ ];
209
+ // The names returned here seem to replace " " with "_" so they do not match exactly
210
+ /* istanbul ignore else */
211
+ if (nameErrors.indexOf(message.key) > -1) {
212
+ names = names.concat(message.args);
213
+ }
214
+ });
215
+ }
216
+ return names;
217
+ }
218
+ /**
219
+ * Updates the feed object with a new name when validation fails.
220
+ *
221
+ * @param feeds The feed objects from the velocity item.
222
+ * @param data The full data object used for deploying the velocity item.
223
+ * @param names The names that failed due to duplicate error in validation.
224
+ *
225
+ */
226
+ export function _updateFeed(feeds, data, names) {
227
+ feeds.forEach(f => {
228
+ const update = _getOutputLabel(names, f);
229
+ /* istanbul ignore else */
230
+ if (update) {
231
+ data.label = update.label;
232
+ f.name = update.label;
233
+ }
234
+ });
235
+ }
186
236
  /**
187
237
  * Updates the data object with a new name when validation fails.
188
238
  *
@@ -197,7 +247,7 @@ export function _updateDataOutput(dataOutputs, data, names) {
197
247
  const update = _getOutputLabel(names, dataOutput);
198
248
  /* istanbul ignore else */
199
249
  if (update) {
200
- data.outputs = data.outputs.map((_dataOutput) => {
250
+ const _outputs = (data.outputs ? data.outputs : data.output ? [data.output] : []).map((_dataOutput) => {
201
251
  /* istanbul ignore else */
202
252
  if (_dataOutput.id === update.id) {
203
253
  /* istanbul ignore else */
@@ -211,6 +261,14 @@ export function _updateDataOutput(dataOutputs, data, names) {
211
261
  }
212
262
  return _dataOutput;
213
263
  });
264
+ /* istanbul ignore else */
265
+ if (data.outputs) {
266
+ data.outputs = _outputs;
267
+ }
268
+ /* istanbul ignore else */
269
+ if (data.output) {
270
+ data.output = _outputs[0];
271
+ }
214
272
  }
215
273
  });
216
274
  }
@@ -1 +1 @@
1
- {"version":3,"file":"velocity-helpers.js","sourceRoot":"","sources":["../../../src/helpers/velocity-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"velocity-helpers.js","sourceRoot":"","sources":["../../../src/helpers/velocity-helpers.ts"],"names":[],"mappings":"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"}
@@ -24,13 +24,14 @@ import { UserSession, IItemProgressCallback, IItemTemplate, ICreateItemFromTempl
24
24
  *
25
25
  * @param solutionItemId The solution to contain the item
26
26
  * @param itemInfo The basic item info
27
- * @param authentication The credentials for requests
27
+ * @param destAuthentication Credentials for requests to the destination organization
28
+ * @param srcAuthentication Credentials for requests to source items
28
29
  * @param templateDictionary Hash of facts: folder id, org URL, adlib replacements
29
30
  *
30
31
  * @return a promise that will resolve the constructed IItemTemplate from the input itemInfo
31
32
  *
32
33
  */
33
- export declare function convertItemToTemplate(solutionItemId: string, itemInfo: any, authentication: UserSession, templateDictionary: any): Promise<IItemTemplate>;
34
+ export declare function convertItemToTemplate(solutionItemId: string, itemInfo: any, destAuthentication: UserSession, srcAuthentication: UserSession, templateDictionary: any): Promise<IItemTemplate>;
34
35
  /**
35
36
  * Create Velocity analytics and feeds from a Template
36
37
  *
@@ -18,7 +18,7 @@
18
18
  *
19
19
  * @module velocity
20
20
  */
21
- import { EItemProgressStatus, generateEmptyCreationResponse, createInitializedItemTemplate, fail, removeItem, updateVelocityReferences } from "@esri/solution-common";
21
+ import { EItemProgressStatus, generateEmptyCreationResponse, createInitializedItemTemplate, fail, removeItem, updateVelocityReferences, updateItem } from "@esri/solution-common";
22
22
  import { templatizeVelocity } from "./helpers/velocity-templatize";
23
23
  import { getVelocityDependencies } from "./helpers/get-velocity-dependencies";
24
24
  import { cleanDataSourcesAndFeeds, getVelocityUrl, postVelocityData } from "./helpers/velocity-helpers";
@@ -28,22 +28,23 @@ import { moveItem } from "@esri/arcgis-rest-portal";
28
28
  *
29
29
  * @param solutionItemId The solution to contain the item
30
30
  * @param itemInfo The basic item info
31
- * @param authentication The credentials for requests
31
+ * @param destAuthentication Credentials for requests to the destination organization
32
+ * @param srcAuthentication Credentials for requests to source items
32
33
  * @param templateDictionary Hash of facts: folder id, org URL, adlib replacements
33
34
  *
34
35
  * @return a promise that will resolve the constructed IItemTemplate from the input itemInfo
35
36
  *
36
37
  */
37
- export function convertItemToTemplate(solutionItemId, itemInfo, authentication, templateDictionary) {
38
+ export function convertItemToTemplate(solutionItemId, itemInfo, destAuthentication, srcAuthentication, templateDictionary) {
38
39
  const template = createInitializedItemTemplate(itemInfo);
39
- return getVelocityUrl(authentication, templateDictionary, itemInfo.type, itemInfo.id).then((url) => {
40
+ return getVelocityUrl(srcAuthentication, templateDictionary, itemInfo.type, itemInfo.id).then((url) => {
40
41
  if (url) {
41
42
  return fetch(url)
42
43
  .then(data => data.json())
43
44
  .then(data_json => {
44
45
  template.item.title = data_json.label;
45
46
  template.data = data_json;
46
- return getVelocityDependencies(template, authentication).then(deps => {
47
+ return getVelocityDependencies(template, srcAuthentication).then(deps => {
47
48
  template.dependencies = deps;
48
49
  cleanDataSourcesAndFeeds(template, templateDictionary.velocityUrl);
49
50
  templatizeVelocity(template);
@@ -113,11 +114,17 @@ export function createItemFromTemplate(template, templateDictionary, destination
113
114
  * @returns Promise resolving to successfulness of update
114
115
  */
115
116
  export function postProcess(itemId, type, itemInfos, template, templates, templateDictionary, authentication) {
116
- return moveItem({
117
- owner: authentication.username,
118
- itemId,
119
- folderId: templateDictionary.folderId,
120
- authentication
117
+ const itemUpdate = itemInfos.filter(ii => ii.id === itemId);
118
+ const item = itemUpdate[0].item.item;
119
+ delete item.url;
120
+ delete item.origUrl;
121
+ return updateItem(item, authentication).then(() => {
122
+ return moveItem({
123
+ owner: authentication.username,
124
+ itemId,
125
+ folderId: templateDictionary.folderId,
126
+ authentication
127
+ });
121
128
  });
122
129
  }
123
130
  //# sourceMappingURL=velocity-processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"velocity-processor.js","sourceRoot":"","sources":["../../src/velocity-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AAEH,OAAO,EAKL,mBAAmB,EACnB,6BAA6B,EAC7B,6BAA6B,EAC7B,IAAI,EACJ,UAAU,EACV,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,QAAQ,EACT,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CACnC,cAAsB,EACtB,QAAa,EACb,cAA2B,EAC3B,kBAAuB;IAEvB,MAAM,QAAQ,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IACzD,OAAO,cAAc,CACnB,cAAc,EACd,kBAAkB,EAClB,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,EAAE,CACZ,CAAC,IAAI,CACJ,CAAC,GAAW,EAAE,EAAE;QACd,IAAI,GAAG,EAAE;YACP,OAAO,KAAK,CAAC,GAAG,CAAC;iBACd,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;iBACzB,IAAI,CAAC,SAAS,CAAC,EAAE;gBAChB,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;gBACtC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;gBAC1B,OAAO,uBAAuB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,IAAI,CAC3D,IAAI,CAAC,EAAE;oBACL,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;oBAC7B,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBACnE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;oBAC7B,QAAQ,CAAC,IAAI,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;oBAC3F,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnC,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;SACN;aAAM;YACL,kEAAkE;YAClE,OAAO,OAAO,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC;SACjE;IACH,CAAC,EACD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC7B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAuB,EACvB,kBAAuB,EACvB,yBAAsC,EACtC,oBAA2C;IAE3C,gDAAgD;IAChD,MAAM,WAAW,GAAG,oBAAoB,CACtC,QAAQ,CAAC,MAAM,EACf,mBAAmB,CAAC,OAAO,EAC3B,CAAC,CACF,CAAC;IAEF,6CAA6C;IAC7C,0BAA0B;IAC1B,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;KACtE;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE9B,OAAO,gBAAgB,CACrB,yBAAyB,EACzB,QAAQ,EACR,QAAQ,CAAC,IAAI,EACb,kBAAkB,CACnB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACd,MAAM,WAAW,GAAG,oBAAoB,CACtC,KAAK,EACL,mBAAmB,CAAC,QAAQ,EAC5B,QAAQ,CAAC,6BAA6B,IAAI,CAAC,EAC3C,MAAM,CAAC,EAAE,CACV,CAAC;QAEF,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC,IAAI,CAC1D,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EACnE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;SACH;aAAM;YACL,MAAM,QAAQ,GAAoC;gBAChD,IAAI,EAAE;oBACJ,GAAG,QAAQ;oBACX,GAAG,MAAM;iBACV;gBACD,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;gBAClB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,WAAW,EAAE,IAAI;aAClB,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAC;SACjB;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAGD;;;;;;;;;;;;;GAaG;AACF,MAAM,UAAU,WAAW,CAC1B,MAAc,EACd,IAAY,EACZ,SAAgB,EAChB,QAAuB,EACvB,SAA0B,EAC1B,kBAAuB,EACvB,cAA2B;IAE3B,OAAO,QAAQ,CAAC;QACd,KAAK,EAAE,cAAc,CAAC,QAAQ;QAC9B,MAAM;QACN,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;QACrC,cAAc;KACf,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"velocity-processor.js","sourceRoot":"","sources":["../../src/velocity-processor.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { IItemTemplate, UserSession } from "@esri/solution-common";
16
+ import { IItemTemplate, IVelocityTitle, UserSession } from "@esri/solution-common";
17
17
  /**
18
18
  * Common function to build urls for reading and interacting with the velocity api
19
19
  *
@@ -54,7 +54,7 @@ export declare function postVelocityData(authentication: UserSession, template:
54
54
  * @return a promise that will resolve a unique title
55
55
  *
56
56
  */
57
- export declare function getTitle(authentication: UserSession, label: string, url: string): Promise<string>;
57
+ export declare function getTitle(authentication: UserSession, label: string, url: string): Promise<IVelocityTitle>;
58
58
  /**
59
59
  * Validate the data that will be used and handle any reported issues with the outputs.
60
60
  * The output names must be unique across the organization.
@@ -65,12 +65,32 @@ export declare function getTitle(authentication: UserSession, label: string, url
65
65
  * @param templateDictionary Hash of facts: folder id, org URL, adlib replacements
66
66
  * @param type The type of velocity item
67
67
  * @param data The data used to construct the velocity item
68
- * @param dataOutputs The velocity items output objects.
68
+ * @param titles The list of know titles that exist in the org
69
+ * @param dataOutputs The velocity items output objects
70
+ * @param feeds The velocity items feed objects
69
71
  *
70
72
  * @return a promise that will resolve the data object passed in with any necessary changes.
71
73
  *
72
74
  */
73
- export declare function _validateOutputs(authentication: UserSession, templateDictionary: any, type: string, data: any, dataOutputs: any[]): Promise<any>;
75
+ export declare function _validateOutputs(authentication: UserSession, templateDictionary: any, type: string, data: any, titles: any[], dataOutputs?: any[], feeds?: any[]): Promise<any>;
76
+ /**
77
+ * Check the validate results for any name conflicts and store the conflicting names.
78
+ *
79
+ * @param validateResults The results object to check for name conflict errors
80
+ *
81
+ * @return a list of names that already exist in the org
82
+ *
83
+ */
84
+ export declare function _validateMessages(validateResults: any): string[];
85
+ /**
86
+ * Updates the feed object with a new name when validation fails.
87
+ *
88
+ * @param feeds The feed objects from the velocity item.
89
+ * @param data The full data object used for deploying the velocity item.
90
+ * @param names The names that failed due to duplicate error in validation.
91
+ *
92
+ */
93
+ export declare function _updateFeed(feeds: any[], data: any, names: string[]): void;
74
94
  /**
75
95
  * Updates the data object with a new name when validation fails.
76
96
  *
@@ -15,7 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports._updateName = exports._removeProp = exports._removeIdPropsAndSetName = exports._removeIdProps = exports.cleanDataSourcesAndFeeds = exports._fetch = exports._getRequestOpts = exports.start = exports.validate = exports._validateAndStart = exports.getUniqueTitle = exports._getOutputLabel = exports._updateDataOutput = exports._validateOutputs = exports.getTitle = exports.postVelocityData = exports.getVelocityUrl = void 0;
18
+ exports._updateName = exports._removeProp = exports._removeIdPropsAndSetName = exports._removeIdProps = exports.cleanDataSourcesAndFeeds = exports._fetch = exports._getRequestOpts = exports.start = exports.validate = exports._validateAndStart = exports.getUniqueTitle = exports._getOutputLabel = exports._updateDataOutput = exports._updateFeed = exports._validateMessages = exports._validateOutputs = exports.getTitle = exports.postVelocityData = exports.getVelocityUrl = void 0;
19
19
  const solution_common_1 = require("@esri/solution-common");
20
20
  /**
21
21
  * Common function to build urls for reading and interacting with the velocity api
@@ -69,17 +69,24 @@ exports.getVelocityUrl = getVelocityUrl;
69
69
  function postVelocityData(authentication, template, data, templateDictionary, autoStart = false) {
70
70
  return getVelocityUrl(authentication, templateDictionary, template.type, undefined, true).then(url => {
71
71
  if (url) {
72
- return getTitle(authentication, data.label, url).then(title => {
73
- data.label = title;
72
+ return getTitle(authentication, data.label, url).then((titleInfo) => {
73
+ const titles = titleInfo.titles;
74
+ data.label = titleInfo.label;
74
75
  data.id = "";
75
76
  const body = (0, solution_common_1.replaceInTemplate)(data, templateDictionary);
76
- const dataOutputs = (data.outputs || []).map((o) => {
77
+ const dataOutputs = (data.outputs ? data.outputs : data.output ? [data.output] : []).map((o) => {
77
78
  return {
78
79
  id: o.id,
79
80
  name: o.properties[`${o.name}.name`]
80
81
  };
81
82
  });
82
- return _validateOutputs(authentication, templateDictionary, template.type, body, dataOutputs).then(updatedBody => {
83
+ const feeds = (body.feeds ? body.feeds : body.feed ? [body.feed] : []).map((o) => {
84
+ return {
85
+ id: o.id ? o.id : o.properties[`${o.name}.portalItemId`] || "",
86
+ name: o.label ? o.label : data.label
87
+ };
88
+ });
89
+ return _validateOutputs(authentication, templateDictionary, template.type, body, titles, dataOutputs, feeds).then(updatedBody => {
83
90
  return _fetch(authentication, url, "POST", updatedBody).then(rr => {
84
91
  template.item.url = `${url}/${rr.id}`;
85
92
  template.item.title = data.label;
@@ -129,7 +136,7 @@ function getTitle(authentication, label, url) {
129
136
  return { title: item.label };
130
137
  })
131
138
  : [];
132
- return Promise.resolve(getUniqueTitle(label, { titles }, "titles"));
139
+ return Promise.resolve({ label: getUniqueTitle(label, { titles }, "titles"), titles: titles.map(t => t.title) });
133
140
  });
134
141
  }
135
142
  exports.getTitle = getTitle;
@@ -143,42 +150,27 @@ exports.getTitle = getTitle;
143
150
  * @param templateDictionary Hash of facts: folder id, org URL, adlib replacements
144
151
  * @param type The type of velocity item
145
152
  * @param data The data used to construct the velocity item
146
- * @param dataOutputs The velocity items output objects.
153
+ * @param titles The list of know titles that exist in the org
154
+ * @param dataOutputs The velocity items output objects
155
+ * @param feeds The velocity items feed objects
147
156
  *
148
157
  * @return a promise that will resolve the data object passed in with any necessary changes.
149
158
  *
150
159
  */
151
- function _validateOutputs(authentication, templateDictionary, type, data, dataOutputs) {
152
- if (dataOutputs.length > 0) {
160
+ function _validateOutputs(authentication, templateDictionary, type, data, titles, dataOutputs = [], feeds = []) {
161
+ if (dataOutputs.length > 0 || feeds.length > 0) {
153
162
  return validate(authentication, templateDictionary, type, "", data).then((validateResults) => {
154
- let messages = (0, solution_common_1.getProp)(validateResults, "validation.messages");
155
- const nodes = (0, solution_common_1.getProp)(validateResults, "nodes");
156
- /* istanbul ignore else */
157
- if (nodes && Array.isArray(nodes)) {
158
- nodes.forEach(node => {
159
- messages = messages.concat((0, solution_common_1.getProp)(node, "validation.messages") || []);
160
- });
161
- }
162
- let names = [];
163
- /* istanbul ignore else */
164
- if (messages && Array.isArray(messages)) {
165
- messages.forEach(message => {
166
- // I don't see a way to ask for all output names that exist
167
- // velocityUrl + /outputs/ just gives you generic defaults not what currently exists
168
- const nameErrors = [
169
- "VALIDATION_ANALYTICS__MULTIPLE_CREATE_FEATURE_LAYER_OUTPUTS_REFERENCE_SAME_LAYER_NAME",
170
- "ITEM_MANAGER__CREATE_ANALYTIC_FAILED_DUPLICATE_OUTPUT_NAMES_IN_ORGANIZATION_NOT_ALLOWED"
171
- ];
172
- // The names returned here seem to replace " " with "_" so they do not match exactly
173
- /* istanbul ignore else */
174
- if (nameErrors.indexOf(message.key) > -1) {
175
- names = names.concat(message.args);
176
- }
177
- });
178
- }
163
+ const names = _validateMessages(validateResults);
179
164
  if (names.length > 0) {
180
- _updateDataOutput(dataOutputs, data, names);
181
- return _validateOutputs(authentication, templateDictionary, type, data, dataOutputs);
165
+ /* istanbul ignore else */
166
+ if (dataOutputs.length > 0) {
167
+ _updateDataOutput(dataOutputs, data, names);
168
+ }
169
+ /* istanbul ignore else */
170
+ if (feeds.length > 0) {
171
+ _updateFeed(feeds, data, names.concat(titles));
172
+ }
173
+ return _validateOutputs(authentication, templateDictionary, type, data, titles, dataOutputs, feeds);
182
174
  }
183
175
  else {
184
176
  return Promise.resolve(data);
@@ -190,6 +182,66 @@ function _validateOutputs(authentication, templateDictionary, type, data, dataOu
190
182
  }
191
183
  }
192
184
  exports._validateOutputs = _validateOutputs;
185
+ /**
186
+ * Check the validate results for any name conflicts and store the conflicting names.
187
+ *
188
+ * @param validateResults The results object to check for name conflict errors
189
+ *
190
+ * @return a list of names that already exist in the org
191
+ *
192
+ */
193
+ function _validateMessages(validateResults) {
194
+ let messages = (0, solution_common_1.getProp)(validateResults, "validation.messages");
195
+ const nodes = (0, solution_common_1.getProp)(validateResults, "nodes");
196
+ /* istanbul ignore else */
197
+ if (nodes && Array.isArray(nodes)) {
198
+ nodes.forEach(node => {
199
+ messages = messages.concat((0, solution_common_1.getProp)(node, "validation.messages") || []);
200
+ });
201
+ }
202
+ let names = [];
203
+ /* istanbul ignore else */
204
+ if (messages && Array.isArray(messages)) {
205
+ messages.forEach(message => {
206
+ // I don't see a way to ask for all output names that exist
207
+ // velocityUrl + /outputs/ just gives you generic defaults not what currently exists
208
+ const nameErrors = [
209
+ "VALIDATION_ANALYTICS__MULTIPLE_CREATE_FEATURE_LAYER_OUTPUTS_REFERENCE_SAME_LAYER_NAME",
210
+ "VALIDATION_ANALYTICS__MULTIPLE_CREATE_STREAM_LAYER_OUTPUTS_REFERENCE_SAME_LAYER_NAME",
211
+ "ITEM_MANAGER__CREATE_ANALYTIC_FAILED_DUPLICATE_OUTPUT_NAMES_IN_ORGANIZATION_NOT_ALLOWED",
212
+ "ITEM_MANAGER__CREATE_BIG_DATA_ANALYTIC_FAILED_DUPLICATE_NAMES_NOT_ALLOWED",
213
+ "ITEM_MANAGER__CREATE_REAL_TIME_ANALYTIC_FAILED_DUPLICATE_NAMES_NOT_ALLOWED",
214
+ "ITEM_MANAGER__CREATE_FEED_FAILED_DUPLICATE_NAME"
215
+ ];
216
+ // The names returned here seem to replace " " with "_" so they do not match exactly
217
+ /* istanbul ignore else */
218
+ if (nameErrors.indexOf(message.key) > -1) {
219
+ names = names.concat(message.args);
220
+ }
221
+ });
222
+ }
223
+ return names;
224
+ }
225
+ exports._validateMessages = _validateMessages;
226
+ /**
227
+ * Updates the feed object with a new name when validation fails.
228
+ *
229
+ * @param feeds The feed objects from the velocity item.
230
+ * @param data The full data object used for deploying the velocity item.
231
+ * @param names The names that failed due to duplicate error in validation.
232
+ *
233
+ */
234
+ function _updateFeed(feeds, data, names) {
235
+ feeds.forEach(f => {
236
+ const update = _getOutputLabel(names, f);
237
+ /* istanbul ignore else */
238
+ if (update) {
239
+ data.label = update.label;
240
+ f.name = update.label;
241
+ }
242
+ });
243
+ }
244
+ exports._updateFeed = _updateFeed;
193
245
  /**
194
246
  * Updates the data object with a new name when validation fails.
195
247
  *
@@ -204,7 +256,7 @@ function _updateDataOutput(dataOutputs, data, names) {
204
256
  const update = _getOutputLabel(names, dataOutput);
205
257
  /* istanbul ignore else */
206
258
  if (update) {
207
- data.outputs = data.outputs.map((_dataOutput) => {
259
+ const _outputs = (data.outputs ? data.outputs : data.output ? [data.output] : []).map((_dataOutput) => {
208
260
  /* istanbul ignore else */
209
261
  if (_dataOutput.id === update.id) {
210
262
  /* istanbul ignore else */
@@ -218,6 +270,14 @@ function _updateDataOutput(dataOutputs, data, names) {
218
270
  }
219
271
  return _dataOutput;
220
272
  });
273
+ /* istanbul ignore else */
274
+ if (data.outputs) {
275
+ data.outputs = _outputs;
276
+ }
277
+ /* istanbul ignore else */
278
+ if (data.output) {
279
+ data.output = _outputs[0];
280
+ }
221
281
  }
222
282
  });
223
283
  }