@esri/hub-common 13.8.0 → 13.10.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.
Files changed (52) hide show
  1. package/dist/esm/ArcGISContextManager.js +68 -0
  2. package/dist/esm/ArcGISContextManager.js.map +1 -1
  3. package/dist/esm/core/HubItemEntity.js +12 -0
  4. package/dist/esm/core/HubItemEntity.js.map +1 -1
  5. package/dist/esm/core/_internal/PropertyMapper.js +9 -0
  6. package/dist/esm/core/_internal/PropertyMapper.js.map +1 -1
  7. package/dist/esm/core/behaviors/IWithDiscussionsBehavior.js +1 -0
  8. package/dist/esm/core/behaviors/IWithDiscussionsBehavior.js.map +1 -0
  9. package/dist/esm/core/traits/IWithDiscussions.js +1 -0
  10. package/dist/esm/core/traits/IWithDiscussions.js.map +1 -0
  11. package/dist/esm/core/traits/index.js +1 -0
  12. package/dist/esm/core/traits/index.js.map +1 -1
  13. package/dist/esm/discussions/constants.js +2 -0
  14. package/dist/esm/discussions/constants.js.map +1 -0
  15. package/dist/esm/discussions/index.js +2 -0
  16. package/dist/esm/discussions/index.js.map +1 -1
  17. package/dist/esm/discussions/utils.js +13 -0
  18. package/dist/esm/discussions/utils.js.map +1 -0
  19. package/dist/esm/utils/sessionLocalStorage.js +10 -0
  20. package/dist/esm/utils/sessionLocalStorage.js.map +1 -1
  21. package/dist/node/ArcGISContextManager.js +68 -0
  22. package/dist/node/ArcGISContextManager.js.map +1 -1
  23. package/dist/node/core/HubItemEntity.js +12 -0
  24. package/dist/node/core/HubItemEntity.js.map +1 -1
  25. package/dist/node/core/_internal/PropertyMapper.js +9 -0
  26. package/dist/node/core/_internal/PropertyMapper.js.map +1 -1
  27. package/dist/node/core/behaviors/IWithDiscussionsBehavior.js +3 -0
  28. package/dist/node/core/behaviors/IWithDiscussionsBehavior.js.map +1 -0
  29. package/dist/node/core/traits/IWithDiscussions.js +3 -0
  30. package/dist/node/core/traits/IWithDiscussions.js.map +1 -0
  31. package/dist/node/core/traits/index.js +1 -0
  32. package/dist/node/core/traits/index.js.map +1 -1
  33. package/dist/node/discussions/constants.js +5 -0
  34. package/dist/node/discussions/constants.js.map +1 -0
  35. package/dist/node/discussions/index.js +2 -0
  36. package/dist/node/discussions/index.js.map +1 -1
  37. package/dist/node/discussions/utils.js +17 -0
  38. package/dist/node/discussions/utils.js.map +1 -0
  39. package/dist/node/utils/sessionLocalStorage.js +10 -0
  40. package/dist/node/utils/sessionLocalStorage.js.map +1 -1
  41. package/dist/types/ArcGISContextManager.d.ts +15 -0
  42. package/dist/types/content/_internal/internalContentUtils.d.ts +1 -0
  43. package/dist/types/core/HubItemEntity.d.ts +7 -1
  44. package/dist/types/core/behaviors/IWithDiscussionsBehavior.d.ts +10 -0
  45. package/dist/types/core/traits/IWithDiscussions.d.ts +9 -0
  46. package/dist/types/core/traits/index.d.ts +1 -0
  47. package/dist/types/core/types/IHubItemEntity.d.ts +2 -2
  48. package/dist/types/discussions/constants.d.ts +1 -0
  49. package/dist/types/discussions/index.d.ts +2 -0
  50. package/dist/types/discussions/utils.d.ts +10 -0
  51. package/dist/types/utils/sessionLocalStorage.d.ts +6 -0
  52. package/package.json +1 -1
@@ -1,5 +1,7 @@
1
1
  import { getSelf, getUser } from "@esri/arcgis-rest-portal";
2
+ import { UserSession, } from "@esri/arcgis-rest-auth";
2
3
  import { ArcGISContext, } from "./ArcGISContext";
4
+ import { atob, btoa } from "abab";
3
5
  import { getHubApiFromPortalUrl } from "./urls/getHubApiFromPortalUrl";
4
6
  import { getPortalBaseFromOrgUrl } from "./urls/getPortalBaseFromOrgUrl";
5
7
  import { Level, Logger } from "./utils/logger";
@@ -74,6 +76,47 @@ export class ArcGISContextManager {
74
76
  await ctx.initialize();
75
77
  return ctx;
76
78
  }
79
+ /**
80
+ * Create a new instance of the ArcGISContextManager from a serialized
81
+ * string. This is useful when you want to store the context in a
82
+ * browser's local storage or server side session.
83
+ * @param serializedContext
84
+ * @returns
85
+ */
86
+ static async deserialize(serializedContext) {
87
+ const decoded = atob(serializedContext);
88
+ const state = JSON.parse(decoded);
89
+ // create opts and populate from state
90
+ const opts = {
91
+ portalUrl: state.portalUrl,
92
+ };
93
+ if (state.session) {
94
+ // re-create the session
95
+ const userSession = UserSession.deserialize(state.session);
96
+ // if the session is still valid, use it and the other properties
97
+ if (userSession.tokenExpires.getTime() > Date.now()) {
98
+ opts.authentication = userSession;
99
+ if (state.portal) {
100
+ opts.portal = state.portal;
101
+ }
102
+ if (state.currentUser) {
103
+ opts.currentUser = state.currentUser;
104
+ }
105
+ if (state.properties) {
106
+ opts.properties = state.properties;
107
+ }
108
+ }
109
+ }
110
+ else {
111
+ // if the session is expired, we can still carry forward the portalUrl
112
+ // we don't need this when auth is passed b/c it will use that instead
113
+ // of portalUrl
114
+ opts.portalUrl = state.portalUrl;
115
+ }
116
+ // system status is safe to carry forward even if session is expired
117
+ opts.systemStatus = state.systemStatus;
118
+ return ArcGISContextManager.create(opts);
119
+ }
77
120
  /**
78
121
  * Set the Authentication (UserSession) for the context.
79
122
  * This should be called when a user signs into a running
@@ -119,6 +162,31 @@ export class ArcGISContextManager {
119
162
  get context() {
120
163
  return this._context;
121
164
  }
165
+ /**
166
+ * Serialize the context into a string that can be stored
167
+ * in a browser's local storage or server side session
168
+ *
169
+ * @returns encoded string representation of the context
170
+ */
171
+ serialize() {
172
+ const state = {
173
+ portalUrl: this._portalUrl,
174
+ systemStatus: this._systemStatus,
175
+ };
176
+ if (this._authentication) {
177
+ state.session = this._authentication.serialize();
178
+ }
179
+ if (this._portalSelf) {
180
+ state.portal = this._portalSelf;
181
+ }
182
+ if (this._currentUser) {
183
+ state.currentUser = this._currentUser;
184
+ }
185
+ if (this._properties) {
186
+ state.properties = this._properties;
187
+ }
188
+ return btoa(JSON.stringify(state));
189
+ }
122
190
  /**
123
191
  * If we have a UserSession, fetch portal/self and
124
192
  * store that along with current user
@@ -1 +1 @@
1
- {"version":3,"file":"ArcGISContextManager.js","sourceRoot":"","sources":["../../src/ArcGISContextManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArcGISContextManager.js","sourceRoot":"","sources":["../../src/ArcGISContextManager.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { addPermissionPolicy, checkPermission, removePermissionPolicy, } from ".
7
7
  import { getItemThumbnailUrl } from "../resources";
8
8
  import { cloneObject } from "../util";
9
9
  import { sharedWith } from "./_internal/sharedWith";
10
+ import { CANNOT_DISCUSS } from "../discussions";
10
11
  const FEATURED_IMAGE_FILENAME = "featuredImage.png";
11
12
  /**
12
13
  * Base class for all Hub Entities backed by items
@@ -243,5 +244,16 @@ export class HubItemEntity {
243
244
  }
244
245
  }
245
246
  }
247
+ //#endregion IWithFeaturedImageBehavior
248
+ /**
249
+ * Updates the isDiscussable property
250
+ * @param isDiscussable whether to enable or disable discussions
251
+ */
252
+ updateIsDiscussable(isDiscussable) {
253
+ const typeKeywords = isDiscussable
254
+ ? this.entity.typeKeywords.filter((typeKeyword) => typeKeyword !== CANNOT_DISCUSS)
255
+ : [...this.entity.typeKeywords, CANNOT_DISCUSS];
256
+ this.update({ typeKeywords, isDiscussable });
257
+ }
246
258
  }
247
259
  //# sourceMappingURL=HubItemEntity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { CANNOT_DISCUSS } from "../../discussions";
2
+ import { isDiscussable } from "../../discussions/utils";
1
3
  import { deepSet, getProp, setProp } from "../../objects";
2
4
  import { cloneObject } from "../../util";
3
5
  /**
@@ -61,6 +63,12 @@ export class PropertyMapper {
61
63
  * @returns
62
64
  */
63
65
  export function mapObjectToModel(object, model, mappings) {
66
+ var _a;
67
+ if ((_a = model.item) === null || _a === void 0 ? void 0 : _a.typeKeywords) {
68
+ model.item.typeKeywords = getProp(object, "isDiscussable")
69
+ ? model.item.typeKeywords.filter((typeKeyword) => typeKeyword !== CANNOT_DISCUSS)
70
+ : [...model.item.typeKeywords, CANNOT_DISCUSS];
71
+ }
64
72
  return mapProps(object, "objectKey", model, "modelKey", mappings);
65
73
  }
66
74
  /**
@@ -72,6 +80,7 @@ export function mapObjectToModel(object, model, mappings) {
72
80
  * @returns
73
81
  */
74
82
  export function mapModelToObject(model, object, mappings) {
83
+ setProp("isDiscussable", isDiscussable(model.item), object);
75
84
  return mapProps(model, "modelKey", object, "objectKey", mappings);
76
85
  }
77
86
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyMapper.js","sourceRoot":"","sources":["../../../../src/core/_internal/PropertyMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAEzB;;;;OAIG;IACH,YAAY,QAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IACD;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,KAAa,EAAE,MAAS;QACpC,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,qDAAqD;QAErD,iCAAiC;QACjC,wBAAwB;QACxB,iCAAiC;QACjC,wCAAwC;QACxC,OAAO,CACL,SAAS,EACT,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EACpD,GAAG,CACJ,CAAC;QACF,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,CAAC,MAAS,EAAE,KAAa;QACpC,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AAeD;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAS,EACT,KAAa,EACb,QAAwB;IAExB,OAAO,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAa,EACb,MAAS,EACT,QAAwB;IAExB,OAAO,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CACf,MAAS,EACT,SAAiB,EACjB,MAAS,EACT,SAAiB,EACjB,QAAwB;IAExB,mBAAmB;IACnB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAmB,EAAE,EAAE;QACvC,0EAA0E;QAC1E,iDAAiD;QACjD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,gCAAgC;QAChC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9C,gCAAgC;QAChC,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;YACjD,SAAS;YACT,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;SAC7C;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"PropertyMapper.js","sourceRoot":"","sources":["../../../../src/core/_internal/PropertyMapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=IWithDiscussionsBehavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IWithDiscussionsBehavior.js","sourceRoot":"","sources":["../../../../src/core/behaviors/IWithDiscussionsBehavior.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=IWithDiscussions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IWithDiscussions.js","sourceRoot":"","sources":["../../../../src/core/traits/IWithDiscussions.ts"],"names":[],"mappings":""}
@@ -4,4 +4,5 @@ export * from "./IWithSlug";
4
4
  export * from "./IWithPermissions";
5
5
  export * from "./IWithCatalog";
6
6
  export * from "./IWithViewSettings";
7
+ export * from "./IWithDiscussions";
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/traits/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/traits/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const CANNOT_DISCUSS = "cannotDiscuss";
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/discussions/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export * from "./HubDiscussion";
2
2
  export * from "./edit";
3
3
  export * from "./fetch";
4
+ export * from "./constants";
5
+ export * from "./utils";
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/discussions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/discussions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { CANNOT_DISCUSS } from "./constants";
2
+ /**
3
+ * Utility to determine if a given IGroup, IItem, IHubContent, or IHubItemEntity
4
+ * is discussable.
5
+ * @export
6
+ * @param {IGroup|IItem|IHubContent|IHubItemEntity} The subject to evaluate
7
+ * @return {boolean}
8
+ */
9
+ export function isDiscussable(subject) {
10
+ var _a;
11
+ return !((_a = subject.typeKeywords) !== null && _a !== void 0 ? _a : []).includes(CANNOT_DISCUSS);
12
+ }
13
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/discussions/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAsD;;IAEtD,OAAO,CAAC,OAAC,OAAO,CAAC,YAAY,mCAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAChE,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { UserSession } from "@esri/arcgis-rest-auth";
2
2
  /**
3
+ * DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
4
+ * Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
3
5
  * Remove any serialized sessions associated with the passed clientId
4
6
  * from a browser's local storage
5
7
  * @param clientId oAuth Client Id
@@ -13,6 +15,8 @@ win = window) {
13
15
  }
14
16
  }
15
17
  /**
18
+ * DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
19
+ * Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
16
20
  * Re-hydrate a UserSession from a browser's local storage.
17
21
  * If not found,
18
22
  * @param clientId oAuth Client Id
@@ -23,6 +27,8 @@ export function getSession(clientId,
23
27
  /* istanbul ignore next */
24
28
  win = window) {
25
29
  let result = null;
30
+ // tslint:disable-next-line
31
+ console.warn("getSession is deprecated. App should handle storage/retrieval and use ArcGISContextManager.deserialize(...) instead.");
26
32
  if (win.localStorage) {
27
33
  const serializedSession = win.localStorage.getItem(`__CONTEXT_${clientId}`);
28
34
  if (serializedSession) {
@@ -32,6 +38,8 @@ win = window) {
32
38
  return result;
33
39
  }
34
40
  /**
41
+ * DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
42
+ * Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
35
43
  * Serialize a UserSession into a browser's local storage
36
44
  * @param clientId oAuth Client Id
37
45
  * @param session UserSession
@@ -40,6 +48,8 @@ win = window) {
40
48
  export function saveSession(clientId, session,
41
49
  /* istanbul ignore next */
42
50
  win = window) {
51
+ // tslint:disable-next-line
52
+ console.warn("saveSession is deprecated. App should handle storage/retrieval and use ArcGISContextManager.serialize(...) instead.");
43
53
  if (win.localStorage) {
44
54
  win.localStorage.setItem(`__CONTEXT_${clientId}`, session.serialize());
45
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sessionLocalStorage.js","sourceRoot":"","sources":["../../../src/utils/sessionLocalStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAgB;AAChB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;KACtD;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CACxB,QAAgB;AAChB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,IAAI,MAAM,GAAuB,IAAI,CAAC;IACtC,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,MAAM,iBAAiB,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;QAC5E,IAAI,iBAAiB,EAAE;YACrB,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;SACrD;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,QAAgB,EAChB,OAAoB;AACpB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,QAAQ,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;KACxE;AACH,CAAC"}
1
+ {"version":3,"file":"sessionLocalStorage.js","sourceRoot":"","sources":["../../../src/utils/sessionLocalStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAgB;AAChB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;KACtD;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CACxB,QAAgB;AAChB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,IAAI,MAAM,GAAuB,IAAI,CAAC;IACtC,2BAA2B;IAC3B,OAAO,CAAC,IAAI,CACV,sHAAsH,CACvH,CAAC;IACF,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,MAAM,iBAAiB,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;QAC5E,IAAI,iBAAiB,EAAE;YACrB,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;SACrD;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CACzB,QAAgB,EAChB,OAAoB;AACpB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,2BAA2B;IAC3B,OAAO,CAAC,IAAI,CACV,qHAAqH,CACtH,CAAC;IACF,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,QAAQ,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;KACxE;AACH,CAAC"}
@@ -2,7 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ArcGISContextManager = void 0;
4
4
  const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ const arcgis_rest_auth_1 = require("@esri/arcgis-rest-auth");
5
6
  const ArcGISContext_1 = require("./ArcGISContext");
7
+ const abab_1 = require("abab");
6
8
  const getHubApiFromPortalUrl_1 = require("./urls/getHubApiFromPortalUrl");
7
9
  const getPortalBaseFromOrgUrl_1 = require("./urls/getPortalBaseFromOrgUrl");
8
10
  const logger_1 = require("./utils/logger");
@@ -77,6 +79,47 @@ class ArcGISContextManager {
77
79
  await ctx.initialize();
78
80
  return ctx;
79
81
  }
82
+ /**
83
+ * Create a new instance of the ArcGISContextManager from a serialized
84
+ * string. This is useful when you want to store the context in a
85
+ * browser's local storage or server side session.
86
+ * @param serializedContext
87
+ * @returns
88
+ */
89
+ static async deserialize(serializedContext) {
90
+ const decoded = abab_1.atob(serializedContext);
91
+ const state = JSON.parse(decoded);
92
+ // create opts and populate from state
93
+ const opts = {
94
+ portalUrl: state.portalUrl,
95
+ };
96
+ if (state.session) {
97
+ // re-create the session
98
+ const userSession = arcgis_rest_auth_1.UserSession.deserialize(state.session);
99
+ // if the session is still valid, use it and the other properties
100
+ if (userSession.tokenExpires.getTime() > Date.now()) {
101
+ opts.authentication = userSession;
102
+ if (state.portal) {
103
+ opts.portal = state.portal;
104
+ }
105
+ if (state.currentUser) {
106
+ opts.currentUser = state.currentUser;
107
+ }
108
+ if (state.properties) {
109
+ opts.properties = state.properties;
110
+ }
111
+ }
112
+ }
113
+ else {
114
+ // if the session is expired, we can still carry forward the portalUrl
115
+ // we don't need this when auth is passed b/c it will use that instead
116
+ // of portalUrl
117
+ opts.portalUrl = state.portalUrl;
118
+ }
119
+ // system status is safe to carry forward even if session is expired
120
+ opts.systemStatus = state.systemStatus;
121
+ return ArcGISContextManager.create(opts);
122
+ }
80
123
  /**
81
124
  * Set the Authentication (UserSession) for the context.
82
125
  * This should be called when a user signs into a running
@@ -122,6 +165,31 @@ class ArcGISContextManager {
122
165
  get context() {
123
166
  return this._context;
124
167
  }
168
+ /**
169
+ * Serialize the context into a string that can be stored
170
+ * in a browser's local storage or server side session
171
+ *
172
+ * @returns encoded string representation of the context
173
+ */
174
+ serialize() {
175
+ const state = {
176
+ portalUrl: this._portalUrl,
177
+ systemStatus: this._systemStatus,
178
+ };
179
+ if (this._authentication) {
180
+ state.session = this._authentication.serialize();
181
+ }
182
+ if (this._portalSelf) {
183
+ state.portal = this._portalSelf;
184
+ }
185
+ if (this._currentUser) {
186
+ state.currentUser = this._currentUser;
187
+ }
188
+ if (this._properties) {
189
+ state.properties = this._properties;
190
+ }
191
+ return abab_1.btoa(JSON.stringify(state));
192
+ }
125
193
  /**
126
194
  * If we have a UserSession, fetch portal/self and
127
195
  * store that along with current user
@@ -1 +1 @@
1
- {"version":3,"file":"ArcGISContextManager.js","sourceRoot":"","sources":["../../src/ArcGISContextManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArcGISContextManager.js","sourceRoot":"","sources":["../../src/ArcGISContextManager.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const permissions_1 = require("../permissions");
10
10
  const resources_1 = require("../resources");
11
11
  const util_1 = require("../util");
12
12
  const sharedWith_1 = require("./_internal/sharedWith");
13
+ const discussions_1 = require("../discussions");
13
14
  const FEATURED_IMAGE_FILENAME = "featuredImage.png";
14
15
  /**
15
16
  * Base class for all Hub Entities backed by items
@@ -246,6 +247,17 @@ class HubItemEntity {
246
247
  }
247
248
  }
248
249
  }
250
+ //#endregion IWithFeaturedImageBehavior
251
+ /**
252
+ * Updates the isDiscussable property
253
+ * @param isDiscussable whether to enable or disable discussions
254
+ */
255
+ updateIsDiscussable(isDiscussable) {
256
+ const typeKeywords = isDiscussable
257
+ ? this.entity.typeKeywords.filter((typeKeyword) => typeKeyword !== discussions_1.CANNOT_DISCUSS)
258
+ : [...this.entity.typeKeywords, discussions_1.CANNOT_DISCUSS];
259
+ this.update({ typeKeywords, isDiscussable });
260
+ }
249
261
  }
250
262
  exports.HubItemEntity = HubItemEntity;
251
263
  //# sourceMappingURL=HubItemEntity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mapModelToObject = exports.mapObjectToModel = exports.PropertyMapper = void 0;
4
+ const discussions_1 = require("../../discussions");
5
+ const utils_1 = require("../../discussions/utils");
4
6
  const objects_1 = require("../../objects");
5
7
  const util_1 = require("../../util");
6
8
  /**
@@ -65,6 +67,12 @@ exports.PropertyMapper = PropertyMapper;
65
67
  * @returns
66
68
  */
67
69
  function mapObjectToModel(object, model, mappings) {
70
+ var _a;
71
+ if ((_a = model.item) === null || _a === void 0 ? void 0 : _a.typeKeywords) {
72
+ model.item.typeKeywords = objects_1.getProp(object, "isDiscussable")
73
+ ? model.item.typeKeywords.filter((typeKeyword) => typeKeyword !== discussions_1.CANNOT_DISCUSS)
74
+ : [...model.item.typeKeywords, discussions_1.CANNOT_DISCUSS];
75
+ }
68
76
  return mapProps(object, "objectKey", model, "modelKey", mappings);
69
77
  }
70
78
  exports.mapObjectToModel = mapObjectToModel;
@@ -77,6 +85,7 @@ exports.mapObjectToModel = mapObjectToModel;
77
85
  * @returns
78
86
  */
79
87
  function mapModelToObject(model, object, mappings) {
88
+ objects_1.setProp("isDiscussable", utils_1.isDiscussable(model.item), object);
80
89
  return mapProps(model, "modelKey", object, "objectKey", mappings);
81
90
  }
82
91
  exports.mapModelToObject = mapModelToObject;
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyMapper.js","sourceRoot":"","sources":["../../../../src/core/_internal/PropertyMapper.ts"],"names":[],"mappings":";;;AAAA,2CAA0D;AAE1D,qCAAyC;AAEzC;;;;;GAKG;AACH,MAAa,cAAc;IAEzB;;;;OAIG;IACH,YAAY,QAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IACD;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,KAAa,EAAE,MAAS;QACpC,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,qDAAqD;QAErD,iCAAiC;QACjC,wBAAwB;QACxB,iCAAiC;QACjC,wCAAwC;QACxC,iBAAO,CACL,SAAS,EACT,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EACpD,GAAG,CACJ,CAAC;QACF,iBAAO,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,CAAC,MAAS,EAAE,KAAa;QACpC,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AApDD,wCAoDC;AAeD;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,MAAS,EACT,KAAa,EACb,QAAwB;IAExB,OAAO,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAND,4CAMC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,KAAa,EACb,MAAS,EACT,QAAwB;IAExB,OAAO,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAND,4CAMC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CACf,MAAS,EACT,SAAiB,EACjB,MAAS,EACT,SAAiB,EACjB,QAAwB;IAExB,mBAAmB;IACnB,MAAM,KAAK,GAAG,kBAAW,CAAC,MAAM,CAAC,CAAC;IAClC,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAmB,EAAE,EAAE;QACvC,0EAA0E;QAC1E,iDAAiD;QACjD,MAAM,UAAU,GAAG,iBAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,iBAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,gCAAgC;QAChC,MAAM,SAAS,GAAG,iBAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9C,gCAAgC;QAChC,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;YACjD,SAAS;YACT,iBAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;SAC7C;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"PropertyMapper.js","sourceRoot":"","sources":["../../../../src/core/_internal/PropertyMapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IWithDiscussionsBehavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IWithDiscussionsBehavior.js","sourceRoot":"","sources":["../../../../src/core/behaviors/IWithDiscussionsBehavior.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IWithDiscussions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IWithDiscussions.js","sourceRoot":"","sources":["../../../../src/core/traits/IWithDiscussions.ts"],"names":[],"mappings":""}
@@ -7,4 +7,5 @@ tslib_1.__exportStar(require("./IWithSlug"), exports);
7
7
  tslib_1.__exportStar(require("./IWithPermissions"), exports);
8
8
  tslib_1.__exportStar(require("./IWithCatalog"), exports);
9
9
  tslib_1.__exportStar(require("./IWithViewSettings"), exports);
10
+ tslib_1.__exportStar(require("./IWithDiscussions"), exports);
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/traits/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,wDAA8B;AAC9B,sDAA4B;AAC5B,6DAAmC;AACnC,yDAA+B;AAC/B,8DAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/traits/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,wDAA8B;AAC9B,sDAA4B;AAC5B,6DAAmC;AACnC,yDAA+B;AAC/B,8DAAoC;AACpC,6DAAmC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CANNOT_DISCUSS = void 0;
4
+ exports.CANNOT_DISCUSS = "cannotDiscuss";
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/discussions/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,eAAe,CAAC"}
@@ -4,4 +4,6 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./HubDiscussion"), exports);
5
5
  tslib_1.__exportStar(require("./edit"), exports);
6
6
  tslib_1.__exportStar(require("./fetch"), exports);
7
+ tslib_1.__exportStar(require("./constants"), exports);
8
+ tslib_1.__exportStar(require("./utils"), exports);
7
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/discussions/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,iDAAuB;AACvB,kDAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/discussions/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,iDAAuB;AACvB,kDAAwB;AACxB,sDAA4B;AAC5B,kDAAwB"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isDiscussable = void 0;
4
+ const constants_1 = require("./constants");
5
+ /**
6
+ * Utility to determine if a given IGroup, IItem, IHubContent, or IHubItemEntity
7
+ * is discussable.
8
+ * @export
9
+ * @param {IGroup|IItem|IHubContent|IHubItemEntity} The subject to evaluate
10
+ * @return {boolean}
11
+ */
12
+ function isDiscussable(subject) {
13
+ var _a;
14
+ return !((_a = subject.typeKeywords) !== null && _a !== void 0 ? _a : []).includes(constants_1.CANNOT_DISCUSS);
15
+ }
16
+ exports.isDiscussable = isDiscussable;
17
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/discussions/utils.ts"],"names":[],"mappings":";;;AAEA,2CAA6C;AAE7C;;;;;;GAMG;AACH,SAAgB,aAAa,CAC3B,OAAsD;;IAEtD,OAAO,CAAC,OAAC,OAAO,CAAC,YAAY,mCAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,0BAAc,CAAC,CAAC;AAChE,CAAC;AAJD,sCAIC"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.saveSession = exports.getSession = exports.clearSession = void 0;
4
4
  const arcgis_rest_auth_1 = require("@esri/arcgis-rest-auth");
5
5
  /**
6
+ * DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
7
+ * Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
6
8
  * Remove any serialized sessions associated with the passed clientId
7
9
  * from a browser's local storage
8
10
  * @param clientId oAuth Client Id
@@ -17,6 +19,8 @@ win = window) {
17
19
  }
18
20
  exports.clearSession = clearSession;
19
21
  /**
22
+ * DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
23
+ * Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
20
24
  * Re-hydrate a UserSession from a browser's local storage.
21
25
  * If not found,
22
26
  * @param clientId oAuth Client Id
@@ -27,6 +31,8 @@ function getSession(clientId,
27
31
  /* istanbul ignore next */
28
32
  win = window) {
29
33
  let result = null;
34
+ // tslint:disable-next-line
35
+ console.warn("getSession is deprecated. App should handle storage/retrieval and use ArcGISContextManager.deserialize(...) instead.");
30
36
  if (win.localStorage) {
31
37
  const serializedSession = win.localStorage.getItem(`__CONTEXT_${clientId}`);
32
38
  if (serializedSession) {
@@ -37,6 +43,8 @@ win = window) {
37
43
  }
38
44
  exports.getSession = getSession;
39
45
  /**
46
+ * DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
47
+ * Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
40
48
  * Serialize a UserSession into a browser's local storage
41
49
  * @param clientId oAuth Client Id
42
50
  * @param session UserSession
@@ -45,6 +53,8 @@ exports.getSession = getSession;
45
53
  function saveSession(clientId, session,
46
54
  /* istanbul ignore next */
47
55
  win = window) {
56
+ // tslint:disable-next-line
57
+ console.warn("saveSession is deprecated. App should handle storage/retrieval and use ArcGISContextManager.serialize(...) instead.");
48
58
  if (win.localStorage) {
49
59
  win.localStorage.setItem(`__CONTEXT_${clientId}`, session.serialize());
50
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sessionLocalStorage.js","sourceRoot":"","sources":["../../../src/utils/sessionLocalStorage.ts"],"names":[],"mappings":";;;AAAA,6DAAqD;AAErD;;;;;GAKG;AACH,SAAgB,YAAY,CAC1B,QAAgB;AAChB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;KACtD;AACH,CAAC;AARD,oCAQC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CACxB,QAAgB;AAChB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,IAAI,MAAM,GAAuB,IAAI,CAAC;IACtC,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,MAAM,iBAAiB,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;QAC5E,IAAI,iBAAiB,EAAE;YACrB,MAAM,GAAG,8BAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;SACrD;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAbD,gCAaC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CACzB,QAAgB,EAChB,OAAoB;AACpB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,QAAQ,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;KACxE;AACH,CAAC;AATD,kCASC"}
1
+ {"version":3,"file":"sessionLocalStorage.js","sourceRoot":"","sources":["../../../src/utils/sessionLocalStorage.ts"],"names":[],"mappings":";;;AAAA,6DAAqD;AAErD;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,QAAgB;AAChB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;KACtD;AACH,CAAC;AARD,oCAQC;AAED;;;;;;;;GAQG;AACH,SAAgB,UAAU,CACxB,QAAgB;AAChB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,IAAI,MAAM,GAAuB,IAAI,CAAC;IACtC,2BAA2B;IAC3B,OAAO,CAAC,IAAI,CACV,sHAAsH,CACvH,CAAC;IACF,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,MAAM,iBAAiB,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;QAC5E,IAAI,iBAAiB,EAAE;YACrB,MAAM,GAAG,8BAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;SACrD;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAjBD,gCAiBC;AAED;;;;;;;GAOG;AACH,SAAgB,WAAW,CACzB,QAAgB,EAChB,OAAoB;AACpB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,2BAA2B;IAC3B,OAAO,CAAC,IAAI,CACV,qHAAqH,CACtH,CAAC;IACF,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,QAAQ,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;KACxE;AACH,CAAC;AAbD,kCAaC"}
@@ -99,6 +99,14 @@ export declare class ArcGISContextManager {
99
99
  * @returns
100
100
  */
101
101
  static create(opts?: IArcGISContextManagerOptions): Promise<ArcGISContextManager>;
102
+ /**
103
+ * Create a new instance of the ArcGISContextManager from a serialized
104
+ * string. This is useful when you want to store the context in a
105
+ * browser's local storage or server side session.
106
+ * @param serializedContext
107
+ * @returns
108
+ */
109
+ static deserialize(serializedContext: string): Promise<ArcGISContextManager>;
102
110
  /**
103
111
  * Set the Authentication (UserSession) for the context.
104
112
  * This should be called when a user signs into a running
@@ -124,6 +132,13 @@ export declare class ArcGISContextManager {
124
132
  * like React or Ember can detect changes.
125
133
  */
126
134
  get context(): IArcGISContext;
135
+ /**
136
+ * Serialize the context into a string that can be stored
137
+ * in a browser's local storage or server side session
138
+ *
139
+ * @returns encoded string representation of the context
140
+ */
141
+ serialize(): string;
127
142
  /**
128
143
  * If we have a UserSession, fetch portal/self and
129
144
  * store that along with current user
@@ -102,6 +102,7 @@ export declare const setContentBoundary: (content: IHubContent, boundary: Geogra
102
102
  updatedDateSource: string;
103
103
  type: string;
104
104
  capabilities?: import("../..").EntityCapabilities;
105
+ isDiscussable?: boolean;
105
106
  statistics?: any;
106
107
  data?: {
107
108
  [propName: string]: any;
@@ -5,10 +5,11 @@ import { IPermissionAccessResponse, IEntityPermissionPolicy, Permission } from "
5
5
  import { IWithSharingBehavior, IWithStoreBehavior, IWithFeaturedImageBehavior, IWithPermissionBehavior, IWithCapabilityBehavior } from "./behaviors";
6
6
  import { IWithThumbnailBehavior } from "./behaviors/IWithThumbnailBehavior";
7
7
  import { IHubItemEntity, SettableAccessLevel } from "./types";
8
+ import { IWithDiscussionsBehavior } from "./behaviors/IWithDiscussionsBehavior";
8
9
  /**
9
10
  * Base class for all Hub Entities backed by items
10
11
  */
11
- export declare abstract class HubItemEntity<T extends IHubItemEntity> implements IWithStoreBehavior<T>, IWithSharingBehavior, IWithThumbnailBehavior, IWithFeaturedImageBehavior, IWithPermissionBehavior, IWithCapabilityBehavior {
12
+ export declare abstract class HubItemEntity<T extends IHubItemEntity> implements IWithStoreBehavior<T>, IWithSharingBehavior, IWithThumbnailBehavior, IWithFeaturedImageBehavior, IWithPermissionBehavior, IWithCapabilityBehavior, IWithDiscussionsBehavior {
12
13
  protected context: IArcGISContext;
13
14
  protected entity: T;
14
15
  protected isDestroyed: boolean;
@@ -126,4 +127,9 @@ export declare abstract class HubItemEntity<T extends IHubItemEntity> implements
126
127
  * Remove the featured image from the item
127
128
  */
128
129
  clearFeaturedImage(): Promise<void>;
130
+ /**
131
+ * Updates the isDiscussable property
132
+ * @param isDiscussable whether to enable or disable discussions
133
+ */
134
+ updateIsDiscussable(isDiscussable: boolean): void;
129
135
  }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Discussions-related behaviors
3
+ */
4
+ export interface IWithDiscussionsBehavior {
5
+ /**
6
+ * Updates the isDiscussable property to the specified value
7
+ * @param isDiscussable boolean
8
+ */
9
+ updateIsDiscussable(isDiscussable: boolean): void;
10
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Discussions-related properties
3
+ */
4
+ export interface IWithDiscussions {
5
+ /**
6
+ * If the item has discussions enabled
7
+ */
8
+ isDiscussable?: boolean;
9
+ }
@@ -4,3 +4,4 @@ export * from "./IWithSlug";
4
4
  export * from "./IWithPermissions";
5
5
  export * from "./IWithCatalog";
6
6
  export * from "./IWithViewSettings";
7
+ export * from "./IWithDiscussions";
@@ -1,12 +1,12 @@
1
1
  import { IHubEntityBase } from "./IHubEntityBase";
2
2
  import { IHubGeography } from "../../types";
3
3
  import { AccessLevel } from "./types";
4
- import { IWithPermissions, IWithViewSettings } from "../traits";
4
+ import { IWithPermissions, IWithViewSettings, IWithDiscussions } from "../traits";
5
5
  import { IHubLocation } from "./IHubLocation";
6
6
  /**
7
7
  * Properties exposed by Entities that are backed by Items
8
8
  */
9
- export interface IHubItemEntity extends IHubEntityBase, IWithPermissions {
9
+ export interface IHubItemEntity extends IHubEntityBase, IWithPermissions, IWithDiscussions {
10
10
  /**
11
11
  * Access level of the item ("private" | "org" | "public")
12
12
  */
@@ -0,0 +1 @@
1
+ export declare const CANNOT_DISCUSS = "cannotDiscuss";
@@ -1,3 +1,5 @@
1
1
  export * from "./HubDiscussion";
2
2
  export * from "./edit";
3
3
  export * from "./fetch";
4
+ export * from "./constants";
5
+ export * from "./utils";
@@ -0,0 +1,10 @@
1
+ import { IGroup, IItem } from "@esri/arcgis-rest-types";
2
+ import { IHubContent, IHubItemEntity } from "../core";
3
+ /**
4
+ * Utility to determine if a given IGroup, IItem, IHubContent, or IHubItemEntity
5
+ * is discussable.
6
+ * @export
7
+ * @param {IGroup|IItem|IHubContent|IHubItemEntity} The subject to evaluate
8
+ * @return {boolean}
9
+ */
10
+ export declare function isDiscussable(subject: IGroup | IItem | IHubContent | IHubItemEntity): boolean;
@@ -1,5 +1,7 @@
1
1
  import { UserSession } from "@esri/arcgis-rest-auth";
2
2
  /**
3
+ * DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
4
+ * Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
3
5
  * Remove any serialized sessions associated with the passed clientId
4
6
  * from a browser's local storage
5
7
  * @param clientId oAuth Client Id
@@ -7,6 +9,8 @@ import { UserSession } from "@esri/arcgis-rest-auth";
7
9
  */
8
10
  export declare function clearSession(clientId: string, win?: any): void;
9
11
  /**
12
+ * DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
13
+ * Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
10
14
  * Re-hydrate a UserSession from a browser's local storage.
11
15
  * If not found,
12
16
  * @param clientId oAuth Client Id
@@ -15,6 +19,8 @@ export declare function clearSession(clientId: string, win?: any): void;
15
19
  */
16
20
  export declare function getSession(clientId: string, win?: any): UserSession | null;
17
21
  /**
22
+ * DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
23
+ * Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
18
24
  * Serialize a UserSession into a browser's local storage
19
25
  * @param clientId oAuth Client Id
20
26
  * @param session UserSession
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "13.8.0",
3
+ "version": "13.10.0",
4
4
  "description": "Common TypeScript types and utility functions for @esri/hub.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/esm/index.js",