@esri/hub-common 14.30.1 → 14.32.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/ArcGISContext.js +19 -0
- package/dist/esm/ArcGISContext.js.map +1 -1
- package/dist/esm/ArcGISContextManager.js +127 -30
- package/dist/esm/ArcGISContextManager.js.map +1 -1
- package/dist/esm/sites/feed-configuration.js +85 -0
- package/dist/esm/sites/feed-configuration.js.map +1 -0
- package/dist/esm/sites/index.js +1 -0
- package/dist/esm/sites/index.js.map +1 -1
- package/dist/esm/utils/getObjectSize.js +13 -0
- package/dist/esm/utils/getObjectSize.js.map +1 -0
- package/dist/esm/utils/hubUserAppResources.js +84 -0
- package/dist/esm/utils/hubUserAppResources.js.map +1 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/internal/clearUserHubSettings.js +15 -0
- package/dist/esm/utils/internal/clearUserHubSettings.js.map +1 -0
- package/dist/esm/utils/internal/clearUserSiteSettings.js +15 -0
- package/dist/esm/utils/internal/clearUserSiteSettings.js.map +1 -0
- package/dist/esm/utils/internal/siteSettingsMigrations.js +20 -0
- package/dist/esm/utils/internal/siteSettingsMigrations.js.map +1 -0
- package/dist/esm/utils/internal/userAppResources.js +101 -0
- package/dist/esm/utils/internal/userAppResources.js.map +1 -0
- package/dist/esm/utils/poll.js +19 -6
- package/dist/esm/utils/poll.js.map +1 -1
- package/dist/node/ArcGISContext.js +19 -0
- package/dist/node/ArcGISContext.js.map +1 -1
- package/dist/node/ArcGISContextManager.js +127 -30
- package/dist/node/ArcGISContextManager.js.map +1 -1
- package/dist/node/sites/feed-configuration.js +90 -0
- package/dist/node/sites/feed-configuration.js.map +1 -0
- package/dist/node/sites/index.js +1 -0
- package/dist/node/sites/index.js.map +1 -1
- package/dist/node/utils/getObjectSize.js +17 -0
- package/dist/node/utils/getObjectSize.js.map +1 -0
- package/dist/node/utils/hubUserAppResources.js +91 -0
- package/dist/node/utils/hubUserAppResources.js.map +1 -0
- package/dist/node/utils/index.js +2 -0
- package/dist/node/utils/index.js.map +1 -1
- package/dist/node/utils/internal/clearUserHubSettings.js +19 -0
- package/dist/node/utils/internal/clearUserHubSettings.js.map +1 -0
- package/dist/node/utils/internal/clearUserSiteSettings.js +19 -0
- package/dist/node/utils/internal/clearUserSiteSettings.js.map +1 -0
- package/dist/node/utils/internal/siteSettingsMigrations.js +25 -0
- package/dist/node/utils/internal/siteSettingsMigrations.js.map +1 -0
- package/dist/node/utils/internal/userAppResources.js +108 -0
- package/dist/node/utils/internal/userAppResources.js.map +1 -0
- package/dist/node/utils/poll.js +19 -6
- package/dist/node/utils/poll.js.map +1 -1
- package/dist/types/ArcGISContext.d.ts +27 -0
- package/dist/types/ArcGISContextManager.d.ts +21 -0
- package/dist/types/sites/feed-configuration.d.ts +20 -0
- package/dist/types/sites/index.d.ts +1 -0
- package/dist/types/utils/getObjectSize.d.ts +6 -0
- package/dist/types/utils/hubUserAppResources.d.ts +45 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/internal/clearUserHubSettings.d.ts +11 -0
- package/dist/types/utils/internal/clearUserSiteSettings.d.ts +11 -0
- package/dist/types/utils/internal/siteSettingsMigrations.d.ts +13 -0
- package/dist/types/utils/internal/userAppResources.d.ts +130 -0
- package/dist/types/utils/poll.d.ts +6 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getObjectSize.js","sourceRoot":"","sources":["../../../src/utils/getObjectSize.ts"],"names":[],"mappings":";;;AAKA,4DAA4D;AAC5D,SAAgB,aAAa,CAAC,MAA2B;IACvD,4DAA4D;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;IAC/B,MAAM,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IACnC,OAAO;QACL,KAAK;QACL,SAAS;QACT,SAAS;KACV,CAAC;AACJ,CAAC;AAVD,sCAUC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUserHubSettings = exports.setUserHubSettings = exports.getUserSiteSettings = exports.setUserSiteSettings = void 0;
|
|
4
|
+
const clearUserSiteSettings_1 = require("./internal/clearUserSiteSettings");
|
|
5
|
+
const clearUserHubSettings_1 = require("./internal/clearUserHubSettings");
|
|
6
|
+
const siteSettingsMigrations_1 = require("./internal/siteSettingsMigrations");
|
|
7
|
+
const userAppResources_1 = require("./internal/userAppResources");
|
|
8
|
+
/**
|
|
9
|
+
* Store User settings in the Site App's cache
|
|
10
|
+
* @param settings
|
|
11
|
+
* @param context
|
|
12
|
+
* @param replace
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
async function setUserSiteSettings(settings, context, replace = false) {
|
|
16
|
+
const token = context.tokenFor(clearUserSiteSettings_1.USER_SITE_SETTINGS_APP);
|
|
17
|
+
if (token) {
|
|
18
|
+
// always stamp in the updated and username properties
|
|
19
|
+
settings.updated = new Date().getTime();
|
|
20
|
+
settings.username = context.currentUser.username;
|
|
21
|
+
const resource = {
|
|
22
|
+
key: clearUserSiteSettings_1.USER_SITE_SETTINGS_KEY,
|
|
23
|
+
data: settings,
|
|
24
|
+
access: "userappprivate",
|
|
25
|
+
};
|
|
26
|
+
return userAppResources_1.setUserResource(resource, context.currentUser.username, context.portalUrl, token, replace);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
throw new Error(`No user-app-resource token available to store Site Settings`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.setUserSiteSettings = setUserSiteSettings;
|
|
33
|
+
/**
|
|
34
|
+
* Get the current user's settings for the current Site
|
|
35
|
+
* @param context
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
async function getUserSiteSettings(context) {
|
|
39
|
+
const token = context.tokenFor(clearUserSiteSettings_1.USER_SITE_SETTINGS_APP);
|
|
40
|
+
if (token) {
|
|
41
|
+
const settings = (await userAppResources_1.getUserResource(context.currentUser.username, clearUserSiteSettings_1.USER_SITE_SETTINGS_KEY, context.portalUrl, token));
|
|
42
|
+
// run though schema upgrades
|
|
43
|
+
return siteSettingsMigrations_1.applySiteSettingsMigrations(settings);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return Promise.resolve(null);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.getUserSiteSettings = getUserSiteSettings;
|
|
50
|
+
/**
|
|
51
|
+
* Store the current user's Hub settings
|
|
52
|
+
* @param settings
|
|
53
|
+
* @param context
|
|
54
|
+
* @param replace
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
async function setUserHubSettings(settings, context, replace = false) {
|
|
58
|
+
const token = context.tokenFor(clearUserHubSettings_1.USER_HUB_SETTINGS_APP);
|
|
59
|
+
if (token) {
|
|
60
|
+
// always stamp in the updated and username properties
|
|
61
|
+
settings.updated = new Date().getTime();
|
|
62
|
+
settings.username = context.currentUser.username;
|
|
63
|
+
const resource = {
|
|
64
|
+
key: clearUserHubSettings_1.USER_HUB_SETTINGS_KEY,
|
|
65
|
+
data: settings,
|
|
66
|
+
access: "userappprivate",
|
|
67
|
+
};
|
|
68
|
+
return userAppResources_1.setUserResource(resource, context.currentUser.username, context.portalUrl, token, replace);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
throw new Error(`No user-app-resource token available to store Site Settings`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.setUserHubSettings = setUserHubSettings;
|
|
75
|
+
/**
|
|
76
|
+
* Get the current user's settings for ArcGIS Hub
|
|
77
|
+
* @param context
|
|
78
|
+
* @returns
|
|
79
|
+
*/
|
|
80
|
+
async function getUserHubSettings(context) {
|
|
81
|
+
const token = context.tokenFor(clearUserHubSettings_1.USER_HUB_SETTINGS_APP);
|
|
82
|
+
if (token) {
|
|
83
|
+
const settings = await userAppResources_1.getUserResource(context.currentUser.username, clearUserHubSettings_1.USER_HUB_SETTINGS_KEY, context.portalUrl, token);
|
|
84
|
+
return siteSettingsMigrations_1.applyHubSettingsMigrations(settings);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
return Promise.resolve(null);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.getUserHubSettings = getUserHubSettings;
|
|
91
|
+
//# sourceMappingURL=hubUserAppResources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hubUserAppResources.js","sourceRoot":"","sources":["../../../src/utils/hubUserAppResources.ts"],"names":[],"mappings":";;;AACA,4EAG0C;AAC1C,0EAGyC;AACzC,8EAG2C;AAC3C,kEAIqC;AAoBrC;;;;;;GAMG;AACI,KAAK,UAAU,mBAAmB,CACvC,QAA2B,EAC3B,OAAuB,EACvB,UAAmB,KAAK;IAExB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,8CAAsB,CAAC,CAAC;IAEvD,IAAI,KAAK,EAAE;QACT,sDAAsD;QACtD,QAAQ,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACxC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;QAEjD,MAAM,QAAQ,GAAqB;YACjC,GAAG,EAAE,8CAAsB;YAC3B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,gBAAgB;SACzB,CAAC;QACF,OAAO,kCAAe,CACpB,QAAQ,EACR,OAAO,CAAC,WAAW,CAAC,QAAQ,EAC5B,OAAO,CAAC,SAAS,EACjB,KAAK,EACL,OAAO,CACR,CAAC;KACH;SAAM;QACL,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;KACH;AACH,CAAC;AA7BD,kDA6BC;AAED;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CACvC,OAAuB;IAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,8CAAsB,CAAC,CAAC;IAEvD,IAAI,KAAK,EAAE;QACT,MAAM,QAAQ,GAAG,CAAC,MAAM,kCAAe,CACrC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAC5B,8CAAsB,EACtB,OAAO,CAAC,SAAS,EACjB,KAAK,CACN,CAA+B,CAAC;QACjC,6BAA6B;QAC7B,OAAO,oDAA2B,CAAC,QAAQ,CAAC,CAAC;KAC9C;SAAM;QACL,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9B;AACH,CAAC;AAjBD,kDAiBC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,kBAAkB,CACtC,QAA0B,EAC1B,OAAuB,EACvB,UAAmB,KAAK;IAExB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,4CAAqB,CAAC,CAAC;IAEtD,IAAI,KAAK,EAAE;QACT,sDAAsD;QACtD,QAAQ,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACxC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;QACjD,MAAM,QAAQ,GAAqB;YACjC,GAAG,EAAE,4CAAqB;YAC1B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,gBAAgB;SACzB,CAAC;QACF,OAAO,kCAAe,CACpB,QAAQ,EACR,OAAO,CAAC,WAAW,CAAC,QAAQ,EAC5B,OAAO,CAAC,SAAS,EACjB,KAAK,EACL,OAAO,CACR,CAAC;KACH;SAAM;QACL,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;KACH;AACH,CAAC;AA5BD,gDA4BC;AAED;;;;GAIG;AACI,KAAK,UAAU,kBAAkB,CACtC,OAAuB;IAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,4CAAqB,CAAC,CAAC;IAEtD,IAAI,KAAK,EAAE;QACT,MAAM,QAAQ,GAAG,MAAM,kCAAe,CACpC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAC5B,4CAAqB,EACrB,OAAO,CAAC,SAAS,EACjB,KAAK,CACN,CAAC;QACF,OAAO,mDAA0B,CAAC,QAAQ,CAAC,CAAC;KAC7C;SAAM;QACL,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9B;AACH,CAAC;AAhBD,gDAgBC"}
|
package/dist/node/utils/index.js
CHANGED
|
@@ -26,4 +26,6 @@ tslib_1.__exportStar(require("./titleize"), exports);
|
|
|
26
26
|
tslib_1.__exportStar(require("./memoize"), exports);
|
|
27
27
|
tslib_1.__exportStar(require("./getEnvironmentFromPortalUrl"), exports);
|
|
28
28
|
tslib_1.__exportStar(require("./poll"), exports);
|
|
29
|
+
tslib_1.__exportStar(require("./hubUserAppResources"), exports);
|
|
30
|
+
tslib_1.__exportStar(require("./getObjectSize"), exports);
|
|
29
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,kDAAwB;AACxB,qDAA2B;AAC3B,iEAAuC;AACvC,sEAA4C;AAC5C,sDAA4B;AAC5B,mEAAyC;AACzC,4DAAkC;AAClC,kEAAwC;AACxC,qDAA2B;AAC3B,oDAA0B;AAC1B,mDAAyB;AACzB,oDAA0B;AAC1B,4DAAkC;AAClC,2DAAiC;AACjC,6DAAmC;AACnC,mDAAyB;AACzB,4DAAkC;AAClC,6DAAmC;AACnC,gEAAsC;AACtC,sDAA4B;AAC5B,qDAA2B;AAC3B,oDAA0B;AAC1B,wEAA8C;AAC9C,iDAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,kDAAwB;AACxB,qDAA2B;AAC3B,iEAAuC;AACvC,sEAA4C;AAC5C,sDAA4B;AAC5B,mEAAyC;AACzC,4DAAkC;AAClC,kEAAwC;AACxC,qDAA2B;AAC3B,oDAA0B;AAC1B,mDAAyB;AACzB,oDAA0B;AAC1B,4DAAkC;AAClC,2DAAiC;AACjC,6DAAmC;AACnC,mDAAyB;AACzB,4DAAkC;AAClC,6DAAmC;AACnC,gEAAsC;AACtC,sDAA4B;AAC5B,qDAA2B;AAC3B,oDAA0B;AAC1B,wEAA8C;AAC9C,iDAAuB;AACvB,gEAAsC;AACtC,0DAAgC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.clearUserHubSettings = exports.USER_HUB_SETTINGS_KEY = exports.USER_HUB_SETTINGS_APP = void 0;
|
|
4
|
+
const userAppResources_1 = require("./userAppResources");
|
|
5
|
+
exports.USER_HUB_SETTINGS_APP = "hubforarcgis";
|
|
6
|
+
exports.USER_HUB_SETTINGS_KEY = "hub-settings.json";
|
|
7
|
+
/**
|
|
8
|
+
* @private
|
|
9
|
+
* Internal use only; Clear User Hub Settings
|
|
10
|
+
* @param context
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
function clearUserHubSettings(context) {
|
|
14
|
+
const token = context.tokenFor(exports.USER_HUB_SETTINGS_APP);
|
|
15
|
+
const key = exports.USER_HUB_SETTINGS_KEY;
|
|
16
|
+
return userAppResources_1.removeUserResource(context.currentUser.username, key, context.portalUrl, token);
|
|
17
|
+
}
|
|
18
|
+
exports.clearUserHubSettings = clearUserHubSettings;
|
|
19
|
+
//# sourceMappingURL=clearUserHubSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clearUserHubSettings.js","sourceRoot":"","sources":["../../../../src/utils/internal/clearUserHubSettings.ts"],"names":[],"mappings":";;;AAEA,yDAAwD;AAE3C,QAAA,qBAAqB,GAAoB,cAAc,CAAC;AACxD,QAAA,qBAAqB,GAAG,mBAAmB,CAAC;AACzD;;;;;GAKG;AAEH,SAAgB,oBAAoB,CAClC,OAAuB;IAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,6BAAqB,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,6BAAqB,CAAC;IAClC,OAAO,qCAAkB,CACvB,OAAO,CAAC,WAAW,CAAC,QAAQ,EAC5B,GAAG,EACH,OAAO,CAAC,SAAS,EACjB,KAAK,CACN,CAAC;AACJ,CAAC;AAXD,oDAWC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.clearUserSiteSettings = exports.USER_SITE_SETTINGS_KEY = exports.USER_SITE_SETTINGS_APP = void 0;
|
|
4
|
+
const userAppResources_1 = require("./userAppResources");
|
|
5
|
+
exports.USER_SITE_SETTINGS_APP = "self";
|
|
6
|
+
exports.USER_SITE_SETTINGS_KEY = "hub-site-settings.json";
|
|
7
|
+
/**
|
|
8
|
+
* @private
|
|
9
|
+
* Internal use only; Clear User Site Settings
|
|
10
|
+
* @param context
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
function clearUserSiteSettings(context) {
|
|
14
|
+
const token = context.tokenFor(exports.USER_SITE_SETTINGS_APP);
|
|
15
|
+
const key = exports.USER_SITE_SETTINGS_KEY;
|
|
16
|
+
return userAppResources_1.removeUserResource(context.currentUser.username, key, context.portalUrl, token);
|
|
17
|
+
}
|
|
18
|
+
exports.clearUserSiteSettings = clearUserSiteSettings;
|
|
19
|
+
//# sourceMappingURL=clearUserSiteSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clearUserSiteSettings.js","sourceRoot":"","sources":["../../../../src/utils/internal/clearUserSiteSettings.ts"],"names":[],"mappings":";;;AAEA,yDAAwD;AAE3C,QAAA,sBAAsB,GAAoB,MAAM,CAAC;AACjD,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAE/D;;;;;GAKG;AACH,SAAgB,qBAAqB,CACnC,OAAuB;IAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,8BAAsB,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,8BAAsB,CAAC;IACnC,OAAO,qCAAkB,CACvB,OAAO,CAAC,WAAW,CAAC,QAAQ,EAC5B,GAAG,EACH,OAAO,CAAC,SAAS,EACjB,KAAK,CACN,CAAC;AACJ,CAAC;AAXD,sDAWC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyHubSettingsMigrations = exports.applySiteSettingsMigrations = void 0;
|
|
4
|
+
const util_1 = require("../../util");
|
|
5
|
+
/**
|
|
6
|
+
* Apply migrations for Site Settings
|
|
7
|
+
* @param settings
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
function applySiteSettingsMigrations(settings) {
|
|
11
|
+
// const currentSchema = 1;
|
|
12
|
+
return util_1.cloneObject(settings);
|
|
13
|
+
}
|
|
14
|
+
exports.applySiteSettingsMigrations = applySiteSettingsMigrations;
|
|
15
|
+
/**
|
|
16
|
+
* Apply migrations for Hub Settings
|
|
17
|
+
* @param settings
|
|
18
|
+
* @returns
|
|
19
|
+
*/
|
|
20
|
+
function applyHubSettingsMigrations(settings) {
|
|
21
|
+
// const currentSchema = 1;
|
|
22
|
+
return util_1.cloneObject(settings);
|
|
23
|
+
}
|
|
24
|
+
exports.applyHubSettingsMigrations = applyHubSettingsMigrations;
|
|
25
|
+
//# sourceMappingURL=siteSettingsMigrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siteSettingsMigrations.js","sourceRoot":"","sources":["../../../../src/utils/internal/siteSettingsMigrations.ts"],"names":[],"mappings":";;;AAAA,qCAAyC;AAGzC;;;;GAIG;AACH,SAAgB,2BAA2B,CACzC,QAA6B;IAE7B,2BAA2B;IAE3B,OAAO,kBAAW,CAAC,QAAQ,CAAsB,CAAC;AACpD,CAAC;AAND,kEAMC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B,CACxC,QAA6B;IAE7B,2BAA2B;IAE3B,OAAO,kBAAW,CAAC,QAAQ,CAAqB,CAAC;AACnD,CAAC;AAND,gEAMC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// These Types and Functions can land in rest-js
|
|
3
|
+
// a friendly name for the scope of the resource
|
|
4
|
+
// the API deals with clientIds, which are
|
|
5
|
+
// listed here https://confluencewikidev.esri.com/pages/viewpage.action?pageId=50561461
|
|
6
|
+
// Generally speaking, the UserResourceScope is a downcased version of the
|
|
7
|
+
// clientId. Hub is unique b/c Sites have their own clientId,
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.listUserResources = exports.removeUserResource = exports.getUserResource = exports.setUserResource = void 0;
|
|
10
|
+
const arcgis_rest_request_1 = require("@esri/arcgis-rest-request");
|
|
11
|
+
const fail_safe_1 = require("../fail-safe");
|
|
12
|
+
const getObjectSize_1 = require("../getObjectSize");
|
|
13
|
+
/**
|
|
14
|
+
* @private
|
|
15
|
+
* Set a User-App-Resource
|
|
16
|
+
* By default this will fetch and merge with an existing resource.
|
|
17
|
+
* Passing `true` as the last parameter,
|
|
18
|
+
* @param resource
|
|
19
|
+
* @param username
|
|
20
|
+
* @param portalUrl
|
|
21
|
+
* @param token
|
|
22
|
+
* @param replace
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
async function setUserResource(resource, username, portalUrl, token, replace = false) {
|
|
26
|
+
// Ensure we are below 5MB max size
|
|
27
|
+
if (getObjectSize_1.getObjectSize(resource.data).megabytes > 4.95) {
|
|
28
|
+
throw new Error(`User Resource is too large to store. Please ensure it is less than 5MB in size`);
|
|
29
|
+
}
|
|
30
|
+
let payload = resource.data;
|
|
31
|
+
if (!replace) {
|
|
32
|
+
const fsGetResource = fail_safe_1.failSafe(getUserResource, {});
|
|
33
|
+
const currentResource = await fsGetResource(username, resource.key, portalUrl, token);
|
|
34
|
+
// extend current object witn updated object
|
|
35
|
+
payload = Object.assign(Object.assign({}, currentResource), resource.data);
|
|
36
|
+
}
|
|
37
|
+
const ro = {
|
|
38
|
+
portal: portalUrl,
|
|
39
|
+
httpMethod: "POST",
|
|
40
|
+
params: {
|
|
41
|
+
text: JSON.stringify(payload),
|
|
42
|
+
access: resource.access,
|
|
43
|
+
key: resource.key,
|
|
44
|
+
token,
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
// TODO Experiment w/ how we can make this call w/o creating a UserSession with the token
|
|
48
|
+
return arcgis_rest_request_1.request(`${portalUrl}/sharing/rest/community/users/${username}/addResource`, ro);
|
|
49
|
+
}
|
|
50
|
+
exports.setUserResource = setUserResource;
|
|
51
|
+
/**
|
|
52
|
+
* @private
|
|
53
|
+
* Gets a user app resource
|
|
54
|
+
* If the resource does not exist, this will throw. This can be wrapped in `failSafe`
|
|
55
|
+
* configured to return an empty object.
|
|
56
|
+
* @param username
|
|
57
|
+
* @param key
|
|
58
|
+
* @param portalUrl
|
|
59
|
+
* @param token
|
|
60
|
+
* @returns
|
|
61
|
+
*/
|
|
62
|
+
function getUserResource(username, key, portalUrl, token) {
|
|
63
|
+
const ro = {
|
|
64
|
+
portal: portalUrl,
|
|
65
|
+
};
|
|
66
|
+
return arcgis_rest_request_1.request(`${portalUrl}/sharing/rest/community/users/${username}/resources/${key}?token=${token}`, ro);
|
|
67
|
+
}
|
|
68
|
+
exports.getUserResource = getUserResource;
|
|
69
|
+
/**
|
|
70
|
+
* @private
|
|
71
|
+
* Remove a resource
|
|
72
|
+
* Used primarily in tests, but can be useful if you need to clean up
|
|
73
|
+
* settings that are no longer used
|
|
74
|
+
* @param username
|
|
75
|
+
* @param key
|
|
76
|
+
* @param portalUrl
|
|
77
|
+
* @param token
|
|
78
|
+
* @returns
|
|
79
|
+
*/
|
|
80
|
+
function removeUserResource(username, key, portalUrl, token) {
|
|
81
|
+
const ro = {
|
|
82
|
+
portal: portalUrl,
|
|
83
|
+
httpMethod: "POST",
|
|
84
|
+
params: {
|
|
85
|
+
key,
|
|
86
|
+
token,
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
return arcgis_rest_request_1.request(`${portalUrl}/sharing/rest/community/users/${username}/removeResource`, ro);
|
|
90
|
+
}
|
|
91
|
+
exports.removeUserResource = removeUserResource;
|
|
92
|
+
/**
|
|
93
|
+
* @private
|
|
94
|
+
* List user resources associated with the user/token.
|
|
95
|
+
* Defaults to listing only resources associated with the app the token is associated with
|
|
96
|
+
* @param username
|
|
97
|
+
* @param portalUrl
|
|
98
|
+
* @param token
|
|
99
|
+
* @returns
|
|
100
|
+
*/
|
|
101
|
+
function listUserResources(username, portalUrl, token, returnAllApps = false) {
|
|
102
|
+
const ro = {
|
|
103
|
+
portal: portalUrl,
|
|
104
|
+
};
|
|
105
|
+
return arcgis_rest_request_1.request(`${portalUrl}/sharing/rest/community/users/${username}/resources?f=json&token=${token}&returnAllApps=${returnAllApps}`, ro);
|
|
106
|
+
}
|
|
107
|
+
exports.listUserResources = listUserResources;
|
|
108
|
+
//# sourceMappingURL=userAppResources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userAppResources.js","sourceRoot":"","sources":["../../../../src/utils/internal/userAppResources.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,gDAAgD;AAChD,0CAA0C;AAC1C,uFAAuF;AACvF,0EAA0E;AAC1E,6DAA6D;;;AAE7D,mEAAqE;AACrE,4CAAwC;AACxC,oDAAiD;AAiGjD;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,eAAe,CACnC,QAA0B,EAC1B,QAAgB,EAChB,SAAiB,EACjB,KAAa,EACb,UAAmB,KAAK;IAExB,mCAAmC;IACnC,IAAI,6BAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,IAAI,EAAE;QACjD,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;KACH;IAED,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,aAAa,GAAG,oBAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,MAAM,aAAa,CACzC,QAAQ,EACR,QAAQ,CAAC,GAAG,EACZ,SAAS,EACT,KAAK,CACN,CAAC;QACF,4CAA4C;QAC5C,OAAO,mCAAQ,eAAe,GAAK,QAAQ,CAAC,IAAI,CAAE,CAAC;KACpD;IACD,MAAM,EAAE,GAAoB;QAC1B,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE;YACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,KAAK;SACN;KACF,CAAC;IACF,yFAAyF;IACzF,OAAO,6BAAO,CACZ,GAAG,SAAS,iCAAiC,QAAQ,cAAc,EACnE,EAAE,CACH,CAAC;AACJ,CAAC;AAzCD,0CAyCC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAC7B,QAAgB,EAChB,GAAW,EACX,SAAiB,EACjB,KAAa;IAEb,MAAM,EAAE,GAAoB;QAC1B,MAAM,EAAE,SAAS;KAClB,CAAC;IACF,OAAO,6BAAO,CACZ,GAAG,SAAS,iCAAiC,QAAQ,cAAc,GAAG,UAAU,KAAK,EAAE,EACvF,EAAE,CACH,CAAC;AACJ,CAAC;AAbD,0CAaC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,kBAAkB,CAChC,QAAgB,EAChB,GAAW,EACX,SAAiB,EACjB,KAAa;IAEb,MAAM,EAAE,GAAoB;QAC1B,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE;YACN,GAAG;YACH,KAAK;SACN;KACF,CAAC;IACF,OAAO,6BAAO,CACZ,GAAG,SAAS,iCAAiC,QAAQ,iBAAiB,EACtE,EAAE,CACH,CAAC;AACJ,CAAC;AAlBD,gDAkBC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAC/B,QAAgB,EAChB,SAAiB,EACjB,KAAa,EACb,gBAAyB,KAAK;IAE9B,MAAM,EAAE,GAAoB;QAC1B,MAAM,EAAE,SAAS;KAClB,CAAC;IACF,OAAO,6BAAO,CACZ,GAAG,SAAS,iCAAiC,QAAQ,2BAA2B,KAAK,kBAAkB,aAAa,EAAE,EACtH,EAAE,CACmC,CAAC;AAC1C,CAAC;AAbD,8CAaC"}
|
package/dist/node/utils/poll.js
CHANGED
|
@@ -4,26 +4,39 @@ exports.poll = void 0;
|
|
|
4
4
|
/**
|
|
5
5
|
* Function to poll a provided request until a validation
|
|
6
6
|
* state or timeout is reached
|
|
7
|
+
*
|
|
8
|
+
* NOTE: we expose this as a public util, but should use this
|
|
9
|
+
* functionality sparingly when dealing with the Portal API.
|
|
10
|
+
* Best practice is to leverage this polling functionality
|
|
11
|
+
* internally on functions that we know incur a Portal delay.
|
|
12
|
+
*
|
|
7
13
|
* @param requestFn
|
|
8
14
|
* @param validationFn
|
|
9
15
|
* @param opts
|
|
10
16
|
*/
|
|
11
17
|
exports.poll = async (requestFn, validationFn, opts) => {
|
|
12
|
-
const options = opts || /* istanbul ignore next - must pass in overrides for tests */ {};
|
|
13
|
-
const timeout = options.timeout
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
const options = opts || /* istanbul ignore next - we must pass in overrides for tests */ {};
|
|
19
|
+
const timeout = isNaN(options.timeout) ? 30000 : options.timeout;
|
|
20
|
+
/* istanbul ignore next - should not cover the 3000 case in tests */
|
|
21
|
+
const timeBetweenRequests = isNaN(options.timeBetweenRequests)
|
|
22
|
+
? 3000
|
|
23
|
+
: options.timeBetweenRequests;
|
|
16
24
|
let resp;
|
|
17
25
|
let requestCount = 0;
|
|
26
|
+
let timeElapsed = 0;
|
|
18
27
|
do {
|
|
19
28
|
// On subsequent requests, check if the timeout has been reached
|
|
20
29
|
// If YES: throw an error
|
|
21
30
|
// If NO: delay before the next request
|
|
22
31
|
if (requestCount > 0) {
|
|
23
|
-
|
|
32
|
+
timeElapsed += requestCount * timeBetweenRequests;
|
|
33
|
+
if (timeElapsed >= timeout) {
|
|
24
34
|
throw new Error("Polling timeout");
|
|
25
35
|
}
|
|
26
|
-
|
|
36
|
+
// NOTE: we incrementally increase the time between requests
|
|
37
|
+
// so as not to hammer an API with subsequent calls.
|
|
38
|
+
// This was specifically requested by the Portal API team
|
|
39
|
+
await delay(requestCount * timeBetweenRequests);
|
|
27
40
|
}
|
|
28
41
|
resp = await requestFn();
|
|
29
42
|
requestCount++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../src/utils/poll.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../src/utils/poll.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACU,QAAA,IAAI,GAAG,KAAK,EACvB,SAAoB,EACpB,YAAoC,EACpC,IAGC,EACa,EAAE;IAChB,MAAM,OAAO,GACX,IAAI,IAAI,gEAAgE,CAAC,EAAE,CAAC;IAC9E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACjE,oEAAoE;IACpE,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAC5D,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAEhC,IAAI,IAAS,CAAC;IACd,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,GAAG;QACD,gEAAgE;QAChE,yBAAyB;QACzB,uCAAuC;QACvC,IAAI,YAAY,GAAG,CAAC,EAAE;YACpB,WAAW,IAAI,YAAY,GAAG,mBAAmB,CAAC;YAClD,IAAI,WAAW,IAAI,OAAO,EAAE;gBAC1B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;aACpC;YAED,4DAA4D;YAC5D,oDAAoD;YACpD,yDAAyD;YACzD,MAAM,KAAK,CAAC,YAAY,GAAG,mBAAmB,CAAC,CAAC;SACjD;QAED,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;QACzB,YAAY,EAAE,CAAC;KAChB,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;IAE9B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,YAAoB,EAAE,EAAE;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { IRequestOptions } from "@esri/arcgis-rest-request";
|
|
|
4
4
|
import { HubServiceStatus } from "./core";
|
|
5
5
|
import { HubEnvironment, HubLicense, IFeatureFlags } from "./permissions/types";
|
|
6
6
|
import { IHubRequestOptions, IHubTrustedOrgsResponse } from "./types";
|
|
7
|
+
import { IUserResourceToken, UserResourceApp } from "./ArcGISContextManager";
|
|
7
8
|
/**
|
|
8
9
|
* Defines the properties of the ArcGISContext.
|
|
9
10
|
* Typically components or functions will get an instance
|
|
@@ -170,6 +171,16 @@ export interface IArcGISContext {
|
|
|
170
171
|
* Trusted orgs xhr response
|
|
171
172
|
*/
|
|
172
173
|
trustedOrgs: IHubTrustedOrgsResponse[];
|
|
174
|
+
/**
|
|
175
|
+
* Array of exchanged tokens for use
|
|
176
|
+
* with user-app-resources
|
|
177
|
+
*/
|
|
178
|
+
userResourceTokens?: IUserResourceToken[];
|
|
179
|
+
/**
|
|
180
|
+
* Return the token for a given app, if defined
|
|
181
|
+
* @param app
|
|
182
|
+
*/
|
|
183
|
+
tokenFor(app: UserResourceApp): string;
|
|
173
184
|
}
|
|
174
185
|
/**
|
|
175
186
|
* Options for the ArcGISContext constructor
|
|
@@ -230,6 +241,11 @@ export interface IArcGISContextOptions {
|
|
|
230
241
|
* Trusted orgs xhr response
|
|
231
242
|
*/
|
|
232
243
|
trustedOrgs?: IHubTrustedOrgsResponse[];
|
|
244
|
+
/**
|
|
245
|
+
* Array of exchanged tokens for use
|
|
246
|
+
* with user-app-resources
|
|
247
|
+
*/
|
|
248
|
+
userResourceTokens?: IUserResourceToken[];
|
|
233
249
|
}
|
|
234
250
|
/**
|
|
235
251
|
* Abstraction that holds a `UserSession`, along with
|
|
@@ -261,6 +277,7 @@ export declare class ArcGISContext implements IArcGISContext {
|
|
|
261
277
|
private _featureFlags;
|
|
262
278
|
private _trustedOrgIds;
|
|
263
279
|
private _trustedOrgs;
|
|
280
|
+
private _userResourceTokens;
|
|
264
281
|
/**
|
|
265
282
|
* Create a new instance of `ArcGISContext`.
|
|
266
283
|
*
|
|
@@ -419,4 +436,14 @@ export declare class ArcGISContext implements IArcGISContext {
|
|
|
419
436
|
* Returns the array of Trusted Orgs
|
|
420
437
|
*/
|
|
421
438
|
get trustedOrgs(): IHubTrustedOrgsResponse[];
|
|
439
|
+
/**
|
|
440
|
+
* Return the whole array of user resource tokens
|
|
441
|
+
*/
|
|
442
|
+
get userResourceTokens(): IUserResourceToken[];
|
|
443
|
+
/**
|
|
444
|
+
* Return a token for a specific app
|
|
445
|
+
* @param app
|
|
446
|
+
* @returns
|
|
447
|
+
*/
|
|
448
|
+
tokenFor(app: UserResourceApp): string;
|
|
422
449
|
}
|
|
@@ -5,6 +5,14 @@ import { Level } from "./utils/logger";
|
|
|
5
5
|
import { HubServiceStatus } from "./core";
|
|
6
6
|
import { IFeatureFlags } from "./permissions";
|
|
7
7
|
import { IHubTrustedOrgsResponse } from "./types";
|
|
8
|
+
export declare type UserResourceApp = "self" | "hubforarcgis" | "arcgisonline";
|
|
9
|
+
export interface IUserResourceConfig {
|
|
10
|
+
app: UserResourceApp;
|
|
11
|
+
clientId: string;
|
|
12
|
+
}
|
|
13
|
+
export interface IUserResourceToken extends IUserResourceConfig {
|
|
14
|
+
token: string;
|
|
15
|
+
}
|
|
8
16
|
/**
|
|
9
17
|
* Options that can be passed into `ArcGISContextManager.create`
|
|
10
18
|
*/
|
|
@@ -65,6 +73,16 @@ export interface IArcGISContextManagerOptions {
|
|
|
65
73
|
* Trusted orgs xhr response
|
|
66
74
|
*/
|
|
67
75
|
trustedOrgs?: IHubTrustedOrgsResponse[];
|
|
76
|
+
/**
|
|
77
|
+
* Array of app, clientId's that Context Manager should
|
|
78
|
+
* exchange tokens for
|
|
79
|
+
*/
|
|
80
|
+
resourceConfigs?: IUserResourceConfig[];
|
|
81
|
+
/**
|
|
82
|
+
* Array of app, clientId, token objects which Context
|
|
83
|
+
* Manager has exchanged tokens for
|
|
84
|
+
*/
|
|
85
|
+
resourceTokens?: IUserResourceToken[];
|
|
68
86
|
}
|
|
69
87
|
/**
|
|
70
88
|
* The manager exposes context (`IArcGISContext`), which combines a `UserSession` with
|
|
@@ -99,6 +117,8 @@ export declare class ArcGISContextManager {
|
|
|
99
117
|
private _featureFlags;
|
|
100
118
|
private _trustedOrgIds;
|
|
101
119
|
private _trustedOrgs;
|
|
120
|
+
private _resourceConfigs;
|
|
121
|
+
private _resourceTokens;
|
|
102
122
|
/**
|
|
103
123
|
* Private constructor. Use `ArcGISContextManager.create(...)` to
|
|
104
124
|
* instantiate an instance
|
|
@@ -166,3 +186,4 @@ export declare class ArcGISContextManager {
|
|
|
166
186
|
*/
|
|
167
187
|
private get contextOpts();
|
|
168
188
|
}
|
|
189
|
+
export declare const ALPHA_ORGS: string[];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IModel } from "../types";
|
|
2
|
+
declare type FeedFormat = "dcat-us" | "dcat-ap" | "rss";
|
|
3
|
+
/**
|
|
4
|
+
* Returns feed configuration from a site model
|
|
5
|
+
*
|
|
6
|
+
* @param {IModel} site - site model
|
|
7
|
+
* @param {FeedFormat} format - feed format
|
|
8
|
+
* @param {string} version - semantic version
|
|
9
|
+
*/
|
|
10
|
+
export declare function getFeedConfiguration(site: IModel, format: FeedFormat, version: string): any;
|
|
11
|
+
/**
|
|
12
|
+
* Returns feed configuration from a site model
|
|
13
|
+
*
|
|
14
|
+
* @param {IModel} site - site model
|
|
15
|
+
* @param {FeedFormat} format - feed format
|
|
16
|
+
* @param {string} version - semantic version
|
|
17
|
+
* @param {Record<string, any>} feedConfig - feed configuration
|
|
18
|
+
*/
|
|
19
|
+
export declare function setFeedConfiguration(site: IModel, format: FeedFormat, version: string, feedConfig: Record<string, any>): void;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { IArcGISContext } from "../ArcGISContext";
|
|
2
|
+
/**
|
|
3
|
+
* Site Level Settings
|
|
4
|
+
*/
|
|
5
|
+
export interface IUserSiteSettings {
|
|
6
|
+
schemaVersion: number;
|
|
7
|
+
username?: string;
|
|
8
|
+
updated?: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Hub Level Settings
|
|
12
|
+
*/
|
|
13
|
+
export interface IUserHubSettings {
|
|
14
|
+
schemaVersion: number;
|
|
15
|
+
username?: string;
|
|
16
|
+
updated?: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Store User settings in the Site App's cache
|
|
20
|
+
* @param settings
|
|
21
|
+
* @param context
|
|
22
|
+
* @param replace
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
export declare function setUserSiteSettings(settings: IUserSiteSettings, context: IArcGISContext, replace?: boolean): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Get the current user's settings for the current Site
|
|
28
|
+
* @param context
|
|
29
|
+
* @returns
|
|
30
|
+
*/
|
|
31
|
+
export declare function getUserSiteSettings(context: IArcGISContext): Promise<IUserSiteSettings>;
|
|
32
|
+
/**
|
|
33
|
+
* Store the current user's Hub settings
|
|
34
|
+
* @param settings
|
|
35
|
+
* @param context
|
|
36
|
+
* @param replace
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
export declare function setUserHubSettings(settings: IUserHubSettings, context: IArcGISContext, replace?: boolean): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Get the current user's settings for ArcGIS Hub
|
|
42
|
+
* @param context
|
|
43
|
+
* @returns
|
|
44
|
+
*/
|
|
45
|
+
export declare function getUserHubSettings(context: IArcGISContext): Promise<IUserHubSettings>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IArcGISContext } from "../../ArcGISContext";
|
|
2
|
+
import { UserResourceApp } from "../../ArcGISContextManager";
|
|
3
|
+
export declare const USER_HUB_SETTINGS_APP: UserResourceApp;
|
|
4
|
+
export declare const USER_HUB_SETTINGS_KEY = "hub-settings.json";
|
|
5
|
+
/**
|
|
6
|
+
* @private
|
|
7
|
+
* Internal use only; Clear User Hub Settings
|
|
8
|
+
* @param context
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
export declare function clearUserHubSettings(context: IArcGISContext): Promise<Record<string, any>>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IArcGISContext } from "../../ArcGISContext";
|
|
2
|
+
import { UserResourceApp } from "../../ArcGISContextManager";
|
|
3
|
+
export declare const USER_SITE_SETTINGS_APP: UserResourceApp;
|
|
4
|
+
export declare const USER_SITE_SETTINGS_KEY = "hub-site-settings.json";
|
|
5
|
+
/**
|
|
6
|
+
* @private
|
|
7
|
+
* Internal use only; Clear User Site Settings
|
|
8
|
+
* @param context
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
export declare function clearUserSiteSettings(context: IArcGISContext): Promise<Record<string, any>>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IUserHubSettings, IUserSiteSettings } from "../hubUserAppResources";
|
|
2
|
+
/**
|
|
3
|
+
* Apply migrations for Site Settings
|
|
4
|
+
* @param settings
|
|
5
|
+
* @returns
|
|
6
|
+
*/
|
|
7
|
+
export declare function applySiteSettingsMigrations(settings: Record<string, any>): IUserSiteSettings;
|
|
8
|
+
/**
|
|
9
|
+
* Apply migrations for Hub Settings
|
|
10
|
+
* @param settings
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
export declare function applyHubSettingsMigrations(settings: Record<string, any>): IUserHubSettings;
|