@esri/solution-creator 1.1.2 → 1.2.0
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/dist/esm/createItemTemplate.js +56 -63
- package/dist/esm/createItemTemplate.js.map +1 -1
- package/dist/esm/creator.js +54 -47
- package/dist/esm/creator.js.map +1 -1
- package/dist/esm/helpers/add-content-to-solution.js +72 -78
- package/dist/esm/helpers/add-content-to-solution.js.map +1 -1
- package/dist/esm/module-map.js +2 -2
- package/dist/esm/module-map.js.map +1 -1
- package/dist/node/createItemTemplate.js +59 -66
- package/dist/node/createItemTemplate.js.map +1 -1
- package/dist/node/creator.js +56 -49
- package/dist/node/creator.js.map +1 -1
- package/dist/node/helpers/add-content-to-solution.js +75 -81
- package/dist/node/helpers/add-content-to-solution.js.map +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/module-map.js +9 -9
- package/dist/node/module-map.js.map +1 -1
- package/dist/umd/creator.umd.js +1263 -1271
- package/dist/umd/creator.umd.js.map +1 -1
- package/dist/umd/creator.umd.min.js +3 -3
- package/dist/umd/creator.umd.min.js.map +1 -1
- package/package.json +33 -33
|
@@ -16,15 +16,14 @@
|
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports._getWebMapFSDependencies = exports._addMapLayerIds = exports._addLayerIdToDatasourceUrl = exports._updateWebMapHashInfo = exports._getTemplateTypeHash = exports._getDatasourceInfos = exports.postProcessFieldReferences = exports.createItemTemplate = void 0;
|
|
19
|
-
var tslib_1 = require("tslib");
|
|
20
19
|
/**
|
|
21
20
|
* Manages creation of the template of a Solution item via the REST API.
|
|
22
21
|
*
|
|
23
22
|
* @module createItemTemplate
|
|
24
23
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
const solution_common_1 = require("@esri/solution-common");
|
|
25
|
+
const hub_common_1 = require("@esri/hub-common");
|
|
26
|
+
const module_map_1 = require("./module-map");
|
|
28
27
|
// ------------------------------------------------------------------------------------------------------------------ //
|
|
29
28
|
/**
|
|
30
29
|
* Creates template for an AGO item and its dependencies
|
|
@@ -39,7 +38,7 @@ var module_map_1 = require("./module-map");
|
|
|
39
38
|
* @protected
|
|
40
39
|
*/
|
|
41
40
|
function createItemTemplate(solutionItemId, itemId, templateDictionary, srcAuthentication, destAuthentication, existingTemplates, itemProgressCallback) {
|
|
42
|
-
return new Promise(
|
|
41
|
+
return new Promise(resolve => {
|
|
43
42
|
// Check if item and its dependents are already in list or are queued
|
|
44
43
|
if ((0, solution_common_1.findTemplateInList)(existingTemplates, itemId)) {
|
|
45
44
|
resolve([]);
|
|
@@ -50,36 +49,32 @@ function createItemTemplate(solutionItemId, itemId, templateDictionary, srcAuthe
|
|
|
50
49
|
itemProgressCallback(itemId, solution_common_1.EItemProgressStatus.Started, 0);
|
|
51
50
|
// Fetch the item
|
|
52
51
|
(0, solution_common_1.getItemBase)(itemId, srcAuthentication)
|
|
53
|
-
.catch(
|
|
52
|
+
.catch(() => {
|
|
54
53
|
// If item query fails, try fetching item as a group
|
|
55
54
|
// Change its placeholder from an empty type to the Group type so that we can later distinguish
|
|
56
55
|
// between items and groups (the base info for a group doesn't include a type property)
|
|
57
56
|
(0, solution_common_1.replaceTemplate)(existingTemplates, itemId, (0, solution_common_1.createPlaceholderTemplate)(itemId, "Group"));
|
|
58
57
|
return (0, solution_common_1.getGroupBase)(itemId, srcAuthentication);
|
|
59
58
|
})
|
|
60
|
-
.then(
|
|
59
|
+
.then(itemInfo => {
|
|
61
60
|
itemInfo = (0, solution_common_1.sanitizeJSONAndReportChanges)(itemInfo);
|
|
62
61
|
// Save the URL as a symbol
|
|
63
62
|
if (itemInfo.url) {
|
|
64
63
|
templateDictionary[itemInfo.url] = "{{" + itemInfo.id + ".url}}";
|
|
65
64
|
itemInfo.origUrl = itemInfo.url;
|
|
66
65
|
}
|
|
67
|
-
|
|
66
|
+
const idTest = /^source-[0-9A-F]{32}/i;
|
|
68
67
|
// Remove any source-itemId type keywords
|
|
69
68
|
if (Array.isArray(itemInfo.typeKeywords)) {
|
|
70
|
-
itemInfo.typeKeywords = itemInfo.typeKeywords.filter(
|
|
71
|
-
return idTest.test(v) ? false : true;
|
|
72
|
-
});
|
|
69
|
+
itemInfo.typeKeywords = itemInfo.typeKeywords.filter(v => idTest.test(v) ? false : true);
|
|
73
70
|
}
|
|
74
71
|
// Remove any source-itemId tags
|
|
75
72
|
/* istanbul ignore else */
|
|
76
73
|
if (Array.isArray(itemInfo.tags)) {
|
|
77
|
-
itemInfo.tags = itemInfo.tags.filter(
|
|
78
|
-
return idTest.test(v) ? false : true;
|
|
79
|
-
});
|
|
74
|
+
itemInfo.tags = itemInfo.tags.filter(v => idTest.test(v) ? false : true);
|
|
80
75
|
}
|
|
81
|
-
|
|
82
|
-
|
|
76
|
+
const placeholder = (0, solution_common_1.findTemplateInList)(existingTemplates, itemId);
|
|
77
|
+
let itemType = placeholder.type;
|
|
83
78
|
if (!itemType) {
|
|
84
79
|
// Groups have this defined when their placeholder is created
|
|
85
80
|
itemType = itemInfo.type;
|
|
@@ -88,14 +83,16 @@ function createItemTemplate(solutionItemId, itemId, templateDictionary, srcAuthe
|
|
|
88
83
|
if (!itemInfo.type) {
|
|
89
84
|
itemInfo.type = itemType; // Groups don't have this property, so we'll patch it in
|
|
90
85
|
}
|
|
91
|
-
placeholder.item =
|
|
86
|
+
placeholder.item = {
|
|
87
|
+
...itemInfo
|
|
88
|
+
};
|
|
92
89
|
// Interrupt process if progress callback returns `false`
|
|
93
90
|
if (!itemProgressCallback(itemId, solution_common_1.EItemProgressStatus.Created, 1)) {
|
|
94
91
|
itemProgressCallback(itemId, solution_common_1.EItemProgressStatus.Cancelled, 1);
|
|
95
92
|
resolve((0, solution_common_1.fail)("Cancelled"));
|
|
96
93
|
return;
|
|
97
94
|
}
|
|
98
|
-
|
|
95
|
+
const itemHandler = module_map_1.moduleMap[itemType];
|
|
99
96
|
if (!itemHandler || itemHandler === module_map_1.UNSUPPORTED) {
|
|
100
97
|
if (itemHandler === module_map_1.UNSUPPORTED) {
|
|
101
98
|
itemProgressCallback(itemId, solution_common_1.EItemProgressStatus.Ignored, 1);
|
|
@@ -121,17 +118,15 @@ function createItemTemplate(solutionItemId, itemId, templateDictionary, srcAuthe
|
|
|
121
118
|
} */
|
|
122
119
|
// Delegate the creation of the item to the handler
|
|
123
120
|
itemHandler
|
|
124
|
-
.convertItemToTemplate(solutionItemId, itemInfo, destAuthentication, templateDictionary)
|
|
125
|
-
.then(
|
|
121
|
+
.convertItemToTemplate(solutionItemId, itemInfo, destAuthentication, srcAuthentication, templateDictionary)
|
|
122
|
+
.then(itemTemplate => {
|
|
126
123
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
127
|
-
(0, solution_common_1.getItemResourcesPaths)(itemTemplate, solutionItemId, srcAuthentication, solution_common_1.SolutionTemplateFormatVersion).then(
|
|
124
|
+
(0, solution_common_1.getItemResourcesPaths)(itemTemplate, solutionItemId, srcAuthentication, solution_common_1.SolutionTemplateFormatVersion).then((resourceItemFilePaths) => {
|
|
128
125
|
itemTemplate.item.thumbnail = null; // not needed in this property; handled as a resource
|
|
129
126
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
130
|
-
(0, solution_common_1.getItemResourcesFilesFromPaths)(resourceItemFilePaths, srcAuthentication).then(
|
|
127
|
+
(0, solution_common_1.getItemResourcesFilesFromPaths)(resourceItemFilePaths, srcAuthentication).then((resourceItemFiles) => {
|
|
131
128
|
// update the template's resources
|
|
132
|
-
itemTemplate.resources = itemTemplate.resources.concat(resourceItemFiles.map(
|
|
133
|
-
return file.folder + "/" + file.filename;
|
|
134
|
-
}));
|
|
129
|
+
itemTemplate.resources = itemTemplate.resources.concat(resourceItemFiles.map((file) => file.folder + "/" + file.filename));
|
|
135
130
|
// Set the value keyed by the id to the created template, replacing the placeholder template
|
|
136
131
|
(0, solution_common_1.replaceTemplate)(existingTemplates, itemTemplate.itemId, itemTemplate);
|
|
137
132
|
// Trace item dependencies
|
|
@@ -142,25 +137,23 @@ function createItemTemplate(solutionItemId, itemId, templateDictionary, srcAuthe
|
|
|
142
137
|
else {
|
|
143
138
|
// Get its dependencies, asking each to get its dependents via
|
|
144
139
|
// recursive calls to this function
|
|
145
|
-
|
|
146
|
-
itemTemplate.dependencies.forEach(
|
|
140
|
+
const dependentDfds = [];
|
|
141
|
+
itemTemplate.dependencies.forEach(dependentId => {
|
|
147
142
|
if (!(0, solution_common_1.findTemplateInList)(existingTemplates, dependentId)) {
|
|
148
|
-
|
|
143
|
+
dependentDfds.push(createItemTemplate(solutionItemId, dependentId, templateDictionary, srcAuthentication, destAuthentication, existingTemplates, itemProgressCallback));
|
|
149
144
|
}
|
|
150
145
|
});
|
|
151
146
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
152
|
-
Promise.all(
|
|
147
|
+
Promise.all(dependentDfds).then((dependentResourceItemFiles) => {
|
|
153
148
|
// Templatization of item and its dependencies done
|
|
154
149
|
itemProgressCallback(itemId, solution_common_1.EItemProgressStatus.Finished, 1);
|
|
155
|
-
resourceItemFiles = dependentResourceItemFiles.reduce(
|
|
156
|
-
return accumulator.concat(currentValue);
|
|
157
|
-
}, resourceItemFiles);
|
|
150
|
+
resourceItemFiles = dependentResourceItemFiles.reduce((accumulator, currentValue) => accumulator.concat(currentValue), resourceItemFiles);
|
|
158
151
|
resolve(resourceItemFiles);
|
|
159
152
|
});
|
|
160
153
|
}
|
|
161
154
|
});
|
|
162
155
|
});
|
|
163
|
-
},
|
|
156
|
+
}, error => {
|
|
164
157
|
placeholder.properties["error"] = JSON.stringify(error);
|
|
165
158
|
(0, solution_common_1.replaceTemplate)(existingTemplates, itemId, placeholder);
|
|
166
159
|
itemProgressCallback(itemId, solution_common_1.EItemProgressStatus.Failed, 1);
|
|
@@ -169,7 +162,7 @@ function createItemTemplate(solutionItemId, itemId, templateDictionary, srcAuthe
|
|
|
169
162
|
}
|
|
170
163
|
},
|
|
171
164
|
// Id not found or item is not accessible
|
|
172
|
-
|
|
165
|
+
() => {
|
|
173
166
|
itemProgressCallback(itemId, solution_common_1.EItemProgressStatus.Failed, 1);
|
|
174
167
|
itemProgressCallback(itemId, solution_common_1.EItemProgressStatus.Failed, 1);
|
|
175
168
|
resolve([]);
|
|
@@ -186,20 +179,20 @@ exports.createItemTemplate = createItemTemplate;
|
|
|
186
179
|
* @return A list of templates that have templatized field references
|
|
187
180
|
*/
|
|
188
181
|
function postProcessFieldReferences(templates) {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
return templates.map(
|
|
182
|
+
const datasourceInfos = _getDatasourceInfos(templates);
|
|
183
|
+
const templateTypeHash = _getTemplateTypeHash(templates);
|
|
184
|
+
return templates.map(template => {
|
|
192
185
|
/* istanbul ignore else */
|
|
193
186
|
if (template.type === "Web Mapping Application" ||
|
|
194
187
|
template.type === "Dashboard" ||
|
|
195
188
|
template.type === "Web Map") {
|
|
196
|
-
|
|
197
|
-
|
|
189
|
+
const webMapFSDependencies = _getWebMapFSDependencies(template, templateTypeHash);
|
|
190
|
+
const itemHandler = module_map_1.moduleMap[template.item.type];
|
|
198
191
|
/* istanbul ignore else */
|
|
199
192
|
if (itemHandler) {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
if (
|
|
193
|
+
const dependencies = webMapFSDependencies.concat(template.dependencies);
|
|
194
|
+
let dependantDatasources = datasourceInfos.filter(ds => {
|
|
195
|
+
if (dependencies.indexOf(ds.itemId) > -1) {
|
|
203
196
|
return ds;
|
|
204
197
|
}
|
|
205
198
|
});
|
|
@@ -221,13 +214,13 @@ exports.postProcessFieldReferences = postProcessFieldReferences;
|
|
|
221
214
|
* @return A list of IDataSourceInfo objects with key properties
|
|
222
215
|
*/
|
|
223
216
|
function _getDatasourceInfos(templates) {
|
|
224
|
-
|
|
225
|
-
templates.forEach(
|
|
217
|
+
const datasourceInfos = [];
|
|
218
|
+
templates.forEach(t => {
|
|
226
219
|
if (t.type === "Feature Service") {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
layersAndTables.forEach(
|
|
220
|
+
const layers = (0, hub_common_1.getProp)(t, "properties.layers") || [];
|
|
221
|
+
const tables = (0, hub_common_1.getProp)(t, "properties.tables") || [];
|
|
222
|
+
const layersAndTables = layers.concat(tables);
|
|
223
|
+
layersAndTables.forEach(obj => {
|
|
231
224
|
/* istanbul ignore else */
|
|
232
225
|
if (!(0, solution_common_1.hasDatasource)(datasourceInfos, t.itemId, obj.id)) {
|
|
233
226
|
datasourceInfos.push({
|
|
@@ -255,8 +248,8 @@ exports._getDatasourceInfos = _getDatasourceInfos;
|
|
|
255
248
|
* @return The lookup object with type, dependencies, and webmap layer info
|
|
256
249
|
*/
|
|
257
250
|
function _getTemplateTypeHash(templates) {
|
|
258
|
-
|
|
259
|
-
templates.forEach(
|
|
251
|
+
const templateTypeHash = {};
|
|
252
|
+
templates.forEach(template => {
|
|
260
253
|
templateTypeHash[template.itemId] = {
|
|
261
254
|
type: template.type,
|
|
262
255
|
dependencies: template.dependencies
|
|
@@ -276,14 +269,14 @@ exports._getTemplateTypeHash = _getTemplateTypeHash;
|
|
|
276
269
|
* @return The lookup object with webmap layer info added
|
|
277
270
|
*/
|
|
278
271
|
function _updateWebMapHashInfo(template, hashItem) {
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
272
|
+
const operationalLayers = (0, hub_common_1.getProp)(template, "data.operationalLayers") || [];
|
|
273
|
+
const tables = (0, hub_common_1.getProp)(template, "data.tables") || [];
|
|
274
|
+
const layersAndTables = operationalLayers.concat(tables);
|
|
282
275
|
if (layersAndTables && layersAndTables.length > 0) {
|
|
283
276
|
hashItem.layersAndTables = [];
|
|
284
|
-
layersAndTables.forEach(
|
|
285
|
-
|
|
286
|
-
|
|
277
|
+
layersAndTables.forEach(layer => {
|
|
278
|
+
const obj = {};
|
|
279
|
+
let itemId;
|
|
287
280
|
/* istanbul ignore else */
|
|
288
281
|
if (layer.itemId) {
|
|
289
282
|
itemId = layer.itemId;
|
|
@@ -322,16 +315,16 @@ exports._addLayerIdToDatasourceUrl = _addLayerIdToDatasourceUrl;
|
|
|
322
315
|
* @return The updated datasource infos
|
|
323
316
|
*/
|
|
324
317
|
function _addMapLayerIds(datasourceInfos, templateTypeHash) {
|
|
325
|
-
|
|
318
|
+
const webMapIds = Object.keys(templateTypeHash).filter(k => {
|
|
326
319
|
if (templateTypeHash[k].type === "Web Map") {
|
|
327
320
|
return templateTypeHash[k];
|
|
328
321
|
}
|
|
329
322
|
});
|
|
330
|
-
return datasourceInfos.map(
|
|
331
|
-
webMapIds.forEach(
|
|
332
|
-
templateTypeHash[webMapId].layersAndTables.forEach(
|
|
333
|
-
|
|
334
|
-
|
|
323
|
+
return datasourceInfos.map(ds => {
|
|
324
|
+
webMapIds.forEach(webMapId => {
|
|
325
|
+
templateTypeHash[webMapId].layersAndTables.forEach((opLayer) => {
|
|
326
|
+
const opLayerInfo = opLayer[ds.itemId];
|
|
327
|
+
const url = _addLayerIdToDatasourceUrl(ds.url, ds.layerId);
|
|
335
328
|
if (opLayerInfo &&
|
|
336
329
|
url === opLayerInfo.url &&
|
|
337
330
|
ds.ids.indexOf(opLayerInfo.id) < 0) {
|
|
@@ -352,11 +345,11 @@ exports._addMapLayerIds = _addMapLayerIds;
|
|
|
352
345
|
* @return A lsit of feature service item IDs
|
|
353
346
|
*/
|
|
354
347
|
function _getWebMapFSDependencies(template, templateTypeHash) {
|
|
355
|
-
|
|
356
|
-
template.dependencies.forEach(
|
|
357
|
-
|
|
348
|
+
const webMapFSDependencies = [];
|
|
349
|
+
template.dependencies.forEach(dep => {
|
|
350
|
+
const depObj = templateTypeHash[dep];
|
|
358
351
|
if (depObj.type === "Web Map") {
|
|
359
|
-
depObj.dependencies.forEach(
|
|
352
|
+
depObj.dependencies.forEach((depObjDependency) => {
|
|
360
353
|
/* istanbul ignore else */
|
|
361
354
|
if (templateTypeHash[depObjDependency].type === "Feature Service") {
|
|
362
355
|
webMapFSDependencies.push(depObjDependency);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createItemTemplate.js","sourceRoot":"","sources":["../../src/createItemTemplate.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"createItemTemplate.js","sourceRoot":"","sources":["../../src/createItemTemplate.ts"],"names":[],"mappings":"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"}
|
package/dist/node/creator.js
CHANGED
|
@@ -21,11 +21,11 @@ exports._getDeploymentProperty = exports._getDeploymentProperties = exports._cre
|
|
|
21
21
|
*
|
|
22
22
|
* @module creator
|
|
23
23
|
*/
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
const solution_common_1 = require("@esri/solution-common");
|
|
25
|
+
const hub_common_1 = require("@esri/hub-common");
|
|
26
|
+
const add_content_to_solution_1 = require("./helpers/add-content-to-solution");
|
|
27
27
|
// Simple no-op to clean up progressCallback management
|
|
28
|
-
|
|
28
|
+
const noOp = () => { };
|
|
29
29
|
/**
|
|
30
30
|
* Creates a solution item.
|
|
31
31
|
*
|
|
@@ -36,8 +36,8 @@ var noOp = function () { };
|
|
|
36
36
|
* @return A promise that resolves with the AGO id of the new solution
|
|
37
37
|
*/
|
|
38
38
|
function createSolution(sourceId, srcAuthentication, destAuthentication, options) {
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
const createOptions = options || {};
|
|
40
|
+
const progressCb = createOptions.progressCallback || noOp;
|
|
41
41
|
createOptions.templateDictionary = Object.assign({}, createOptions.templateDictionary);
|
|
42
42
|
progressCb(1); // let the caller know that we've started
|
|
43
43
|
// Assume that source is a group and try to get group's information
|
|
@@ -48,43 +48,54 @@ function createSolution(sourceId, srcAuthentication, destAuthentication, options
|
|
|
48
48
|
])
|
|
49
49
|
.then(
|
|
50
50
|
// Group fetches worked; assumption was correct
|
|
51
|
-
|
|
51
|
+
responses => {
|
|
52
52
|
createOptions.itemIds = responses[1];
|
|
53
53
|
progressCb(15);
|
|
54
|
-
return new Promise(
|
|
54
|
+
return new Promise(resolve => {
|
|
55
55
|
// Update the createOptions with values from the group
|
|
56
56
|
resolve(_applySourceToCreateOptions(createOptions, responses[0], srcAuthentication, true));
|
|
57
57
|
});
|
|
58
58
|
},
|
|
59
59
|
// Assumption incorrect; try source as an item
|
|
60
|
-
|
|
61
|
-
return new Promise(
|
|
60
|
+
() => {
|
|
61
|
+
return new Promise((resolve, reject) => {
|
|
62
62
|
createOptions.itemIds = [sourceId];
|
|
63
63
|
(0, solution_common_1.getItemBase)(sourceId, srcAuthentication).then(
|
|
64
64
|
// Update the createOptions with values from the item
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
itemBase => resolve(_applySourceToCreateOptions(createOptions, itemBase, srcAuthentication, false)), reject);
|
|
66
|
+
});
|
|
67
|
+
})
|
|
68
|
+
.then(createOptions => {
|
|
69
|
+
return new Promise((resolve, reject) => {
|
|
70
|
+
Promise.all([
|
|
71
|
+
(0, solution_common_1.getPortal)("", srcAuthentication),
|
|
72
|
+
(0, solution_common_1.getUser)(srcAuthentication)
|
|
73
|
+
]).then(responses => {
|
|
74
|
+
// check tracking
|
|
75
|
+
const [portalResponse, userResponse] = responses;
|
|
76
|
+
(0, solution_common_1.setLocationTrackingEnabled)(portalResponse, userResponse, createOptions.templateDictionary);
|
|
77
|
+
resolve(createOptions);
|
|
67
78
|
}, reject);
|
|
68
79
|
});
|
|
69
80
|
})
|
|
70
81
|
.then(
|
|
71
82
|
// Use a copy of the thumbnail rather than a URL to it
|
|
72
|
-
|
|
83
|
+
createOptions => {
|
|
73
84
|
return _addThumbnailFileToCreateOptions(createOptions, srcAuthentication);
|
|
74
85
|
})
|
|
75
86
|
.then(
|
|
76
87
|
// Create a solution
|
|
77
|
-
|
|
88
|
+
createOptions => {
|
|
78
89
|
return _createSolutionFromItemIds(createOptions, srcAuthentication, destAuthentication);
|
|
79
90
|
})
|
|
80
91
|
.then(
|
|
81
92
|
// Successfully created solution
|
|
82
|
-
|
|
93
|
+
createdSolutionId => {
|
|
83
94
|
progressCb(100); // finished
|
|
84
95
|
return createdSolutionId;
|
|
85
96
|
},
|
|
86
97
|
// Error fetching group, group contents, or item, or error creating solution from ids
|
|
87
|
-
|
|
98
|
+
error => {
|
|
88
99
|
progressCb(1);
|
|
89
100
|
console.error(error);
|
|
90
101
|
throw error;
|
|
@@ -100,13 +111,11 @@ exports.createSolution = createSolution;
|
|
|
100
111
|
* @param isGroup Boolean to indicate if the files are associated with a group or item
|
|
101
112
|
* @internal
|
|
102
113
|
*/
|
|
103
|
-
function _applySourceToCreateOptions(createOptions, sourceInfo, srcAuthentication, isGroup) {
|
|
104
|
-
if (isGroup === void 0) { isGroup = false; }
|
|
114
|
+
function _applySourceToCreateOptions(createOptions, sourceInfo, srcAuthentication, isGroup = false) {
|
|
105
115
|
// Create a solution from the group's or item's contents,
|
|
106
116
|
// using the group's or item's information as defaults for the solution item
|
|
107
|
-
["title", "snippet", "description", "tags"].forEach(
|
|
108
|
-
|
|
109
|
-
createOptions[prop] = (_a = createOptions[prop]) !== null && _a !== void 0 ? _a : sourceInfo[prop];
|
|
117
|
+
["title", "snippet", "description", "tags"].forEach(prop => {
|
|
118
|
+
createOptions[prop] = createOptions[prop] ?? sourceInfo[prop];
|
|
110
119
|
});
|
|
111
120
|
if (!createOptions.thumbnailurl && sourceInfo.thumbnail) {
|
|
112
121
|
// Get the full path to the thumbnail
|
|
@@ -124,17 +133,17 @@ exports._applySourceToCreateOptions = _applySourceToCreateOptions;
|
|
|
124
133
|
* @internal
|
|
125
134
|
*/
|
|
126
135
|
function _addThumbnailFileToCreateOptions(createOptions, srcAuthentication) {
|
|
127
|
-
return new Promise(
|
|
136
|
+
return new Promise(resolve => {
|
|
128
137
|
if (!createOptions.thumbnail && createOptions.thumbnailurl) {
|
|
129
138
|
// Figure out the thumbnail's filename
|
|
130
|
-
|
|
131
|
-
|
|
139
|
+
const filename = (0, solution_common_1.getFilenameFromUrl)(createOptions.thumbnailurl) || "thumbnail";
|
|
140
|
+
const thumbnailurl = (0, solution_common_1.appendQueryParam)(createOptions.thumbnailurl, "w=400");
|
|
132
141
|
delete createOptions.thumbnailurl;
|
|
133
142
|
// Fetch the thumbnail
|
|
134
|
-
(0, solution_common_1.getBlobAsFile)(thumbnailurl, filename, srcAuthentication).then(
|
|
143
|
+
(0, solution_common_1.getBlobAsFile)(thumbnailurl, filename, srcAuthentication).then(thumbnail => {
|
|
135
144
|
createOptions.thumbnail = thumbnail;
|
|
136
145
|
resolve(createOptions);
|
|
137
|
-
},
|
|
146
|
+
}, () => {
|
|
138
147
|
resolve(createOptions);
|
|
139
148
|
});
|
|
140
149
|
}
|
|
@@ -155,19 +164,19 @@ exports._addThumbnailFileToCreateOptions = _addThumbnailFileToCreateOptions;
|
|
|
155
164
|
* @internal
|
|
156
165
|
*/
|
|
157
166
|
function _createSolutionFromItemIds(options, srcAuthentication, destAuthentication) {
|
|
158
|
-
|
|
167
|
+
let solutionId = "";
|
|
159
168
|
// Create a solution from the list of items
|
|
160
169
|
return _createSolutionItem(destAuthentication, options)
|
|
161
|
-
.then(
|
|
170
|
+
.then(id => {
|
|
162
171
|
solutionId = id;
|
|
163
172
|
// Add list of items to the new solution
|
|
164
173
|
return (0, add_content_to_solution_1.addContentToSolution)(solutionId, options, srcAuthentication, destAuthentication);
|
|
165
174
|
})
|
|
166
|
-
.catch(
|
|
175
|
+
.catch(addError => {
|
|
167
176
|
// If the solution item got created, delete it
|
|
168
177
|
if (solutionId) {
|
|
169
|
-
|
|
170
|
-
return failSafeRemove(solutionId, destAuthentication).then(
|
|
178
|
+
const failSafeRemove = (0, hub_common_1.failSafe)(solution_common_1.removeItem, { success: true });
|
|
179
|
+
return failSafeRemove(solutionId, destAuthentication).then(() => {
|
|
171
180
|
throw addError;
|
|
172
181
|
});
|
|
173
182
|
}
|
|
@@ -187,11 +196,11 @@ exports._createSolutionFromItemIds = _createSolutionFromItemIds;
|
|
|
187
196
|
* @internal
|
|
188
197
|
*/
|
|
189
198
|
function _createSolutionItem(authentication, options) {
|
|
190
|
-
|
|
199
|
+
const model = _createSolutionItemModel(options);
|
|
191
200
|
// Create new solution item
|
|
192
201
|
delete model.item.thumbnailurl;
|
|
193
|
-
model.item.thumbnail = options
|
|
194
|
-
return (0, solution_common_1.createItemWithData)(model.item, model.data, authentication, options
|
|
202
|
+
model.item.thumbnail = options?.thumbnail;
|
|
203
|
+
return (0, solution_common_1.createItemWithData)(model.item, model.data, authentication, options?.folderId).then(createResponse => {
|
|
195
204
|
return Promise.resolve(createResponse.id);
|
|
196
205
|
});
|
|
197
206
|
}
|
|
@@ -204,26 +213,25 @@ exports._createSolutionItem = _createSolutionItem;
|
|
|
204
213
|
* @internal
|
|
205
214
|
*/
|
|
206
215
|
function _createSolutionItemModel(options) {
|
|
207
|
-
var _a, _b, _c, _d, _e;
|
|
208
216
|
// Solution uses all supplied tags but for deploy.* tags; that information goes into properties
|
|
209
|
-
|
|
210
|
-
|
|
217
|
+
const creationTags = options?.tags ?? [];
|
|
218
|
+
const solutionItem = {
|
|
211
219
|
type: "Solution",
|
|
212
|
-
title:
|
|
213
|
-
snippet:
|
|
214
|
-
description:
|
|
220
|
+
title: options?.title ?? (0, solution_common_1.createShortId)(),
|
|
221
|
+
snippet: options?.snippet ?? "",
|
|
222
|
+
description: options?.description ?? "",
|
|
215
223
|
properties: {
|
|
216
224
|
schemaVersion: solution_common_1.CURRENT_SCHEMA_VERSION
|
|
217
225
|
},
|
|
218
|
-
thumbnailurl:
|
|
219
|
-
tags: creationTags.filter(
|
|
226
|
+
thumbnailurl: options?.thumbnailurl ?? "",
|
|
227
|
+
tags: creationTags.filter((tag) => !tag.startsWith("deploy.")),
|
|
220
228
|
typeKeywords: ["Solution", "Template"].concat(_getDeploymentProperties(creationTags))
|
|
221
229
|
};
|
|
222
230
|
// ensure that snippet and description are not nefarious
|
|
223
|
-
|
|
224
|
-
|
|
231
|
+
const sanitizedItem = (0, solution_common_1.sanitizeJSONAndReportChanges)(solutionItem);
|
|
232
|
+
const addlKeywords = options?.additionalTypeKeywords || [];
|
|
225
233
|
sanitizedItem.typeKeywords = [].concat(solutionItem.typeKeywords, addlKeywords);
|
|
226
|
-
|
|
234
|
+
const solutionData = {
|
|
227
235
|
metadata: {},
|
|
228
236
|
templates: []
|
|
229
237
|
};
|
|
@@ -242,12 +250,11 @@ exports._createSolutionItemModel = _createSolutionItemModel;
|
|
|
242
250
|
* @internal
|
|
243
251
|
*/
|
|
244
252
|
function _getDeploymentProperties(tags) {
|
|
245
|
-
var _a, _b;
|
|
246
253
|
return [
|
|
247
254
|
"solutionid-" +
|
|
248
|
-
(
|
|
255
|
+
(_getDeploymentProperty("deploy.id.", tags) ?? (0, solution_common_1.createLongId)()),
|
|
249
256
|
"solutionversion-" +
|
|
250
|
-
(
|
|
257
|
+
(_getDeploymentProperty("deploy.version.", tags) ?? "1.0")
|
|
251
258
|
];
|
|
252
259
|
}
|
|
253
260
|
exports._getDeploymentProperties = _getDeploymentProperties;
|
|
@@ -260,7 +267,7 @@ exports._getDeploymentProperties = _getDeploymentProperties;
|
|
|
260
267
|
* @internal
|
|
261
268
|
*/
|
|
262
269
|
function _getDeploymentProperty(desiredTagPrefix, tags) {
|
|
263
|
-
|
|
270
|
+
const foundTagAsList = tags.filter(tag => tag.startsWith(desiredTagPrefix));
|
|
264
271
|
if (foundTagAsList.length > 0) {
|
|
265
272
|
return foundTagAsList[0].substr(desiredTagPrefix.length);
|
|
266
273
|
}
|
package/dist/node/creator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creator.js","sourceRoot":"","sources":["../../src/creator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH;;;;GAIG;AAEH,
|
|
1
|
+
{"version":3,"file":"creator.js","sourceRoot":"","sources":["../../src/creator.ts"],"names":[],"mappings":"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"}
|