@esri/hub-common 12.11.0 → 12.13.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 (99) hide show
  1. package/dist/esm/capabilities/getWorkspaceCapabilities.js +2 -0
  2. package/dist/esm/capabilities/getWorkspaceCapabilities.js.map +1 -1
  3. package/dist/esm/core/HubItemEntity.js +7 -0
  4. package/dist/esm/core/HubItemEntity.js.map +1 -1
  5. package/dist/esm/core/_internal/getBasePropertyMap.js +1 -0
  6. package/dist/esm/core/_internal/getBasePropertyMap.js.map +1 -1
  7. package/dist/esm/core/fetchHubEntity.js +4 -0
  8. package/dist/esm/core/fetchHubEntity.js.map +1 -1
  9. package/dist/esm/core/getTypeFromEntity.js +3 -0
  10. package/dist/esm/core/getTypeFromEntity.js.map +1 -1
  11. package/dist/esm/core/types/IHubDiscussion.js +1 -0
  12. package/dist/esm/core/types/IHubDiscussion.js.map +1 -0
  13. package/dist/esm/core/types/index.js +1 -0
  14. package/dist/esm/core/types/index.js.map +1 -1
  15. package/dist/esm/discussions/HubDiscussion.js +107 -0
  16. package/dist/esm/discussions/HubDiscussion.js.map +1 -0
  17. package/dist/esm/discussions/_internal/DiscussionBusinessRules.js +79 -0
  18. package/dist/esm/discussions/_internal/DiscussionBusinessRules.js.map +1 -0
  19. package/dist/esm/discussions/_internal/computeProps.js +31 -0
  20. package/dist/esm/discussions/_internal/computeProps.js.map +1 -0
  21. package/dist/esm/discussions/_internal/getPropertyMap.js +13 -0
  22. package/dist/esm/discussions/_internal/getPropertyMap.js.map +1 -0
  23. package/dist/esm/discussions/defaults.js +30 -0
  24. package/dist/esm/discussions/defaults.js.map +1 -0
  25. package/dist/esm/discussions/edit.js +82 -0
  26. package/dist/esm/discussions/edit.js.map +1 -0
  27. package/dist/esm/discussions/fetch.js +44 -0
  28. package/dist/esm/discussions/fetch.js.map +1 -0
  29. package/dist/esm/discussions/index.js +4 -0
  30. package/dist/esm/discussions/index.js.map +1 -0
  31. package/dist/esm/index.js +1 -0
  32. package/dist/esm/index.js.map +1 -1
  33. package/dist/esm/permissions/HubPermissionPolicies.js +2 -0
  34. package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
  35. package/dist/esm/permissions/types/Permission.js +2 -0
  36. package/dist/esm/permissions/types/Permission.js.map +1 -1
  37. package/dist/esm/versioning/updateVersion.js +22 -1
  38. package/dist/esm/versioning/updateVersion.js.map +1 -1
  39. package/dist/esm/versioning/utils.js +16 -0
  40. package/dist/esm/versioning/utils.js.map +1 -1
  41. package/dist/node/capabilities/getWorkspaceCapabilities.js +2 -0
  42. package/dist/node/capabilities/getWorkspaceCapabilities.js.map +1 -1
  43. package/dist/node/core/HubItemEntity.js +7 -0
  44. package/dist/node/core/HubItemEntity.js.map +1 -1
  45. package/dist/node/core/_internal/getBasePropertyMap.js +1 -0
  46. package/dist/node/core/_internal/getBasePropertyMap.js.map +1 -1
  47. package/dist/node/core/fetchHubEntity.js +4 -0
  48. package/dist/node/core/fetchHubEntity.js.map +1 -1
  49. package/dist/node/core/getTypeFromEntity.js +3 -0
  50. package/dist/node/core/getTypeFromEntity.js.map +1 -1
  51. package/dist/node/core/types/IHubDiscussion.js +3 -0
  52. package/dist/node/core/types/IHubDiscussion.js.map +1 -0
  53. package/dist/node/core/types/index.js +1 -0
  54. package/dist/node/core/types/index.js.map +1 -1
  55. package/dist/node/discussions/HubDiscussion.js +111 -0
  56. package/dist/node/discussions/HubDiscussion.js.map +1 -0
  57. package/dist/node/discussions/_internal/DiscussionBusinessRules.js +82 -0
  58. package/dist/node/discussions/_internal/DiscussionBusinessRules.js.map +1 -0
  59. package/dist/node/discussions/_internal/computeProps.js +35 -0
  60. package/dist/node/discussions/_internal/computeProps.js.map +1 -0
  61. package/dist/node/discussions/_internal/getPropertyMap.js +17 -0
  62. package/dist/node/discussions/_internal/getPropertyMap.js.map +1 -0
  63. package/dist/node/discussions/defaults.js +33 -0
  64. package/dist/node/discussions/defaults.js.map +1 -0
  65. package/dist/node/discussions/edit.js +88 -0
  66. package/dist/node/discussions/edit.js.map +1 -0
  67. package/dist/node/discussions/fetch.js +49 -0
  68. package/dist/node/discussions/fetch.js.map +1 -0
  69. package/dist/node/discussions/index.js +7 -0
  70. package/dist/node/discussions/index.js.map +1 -0
  71. package/dist/node/index.js +1 -0
  72. package/dist/node/index.js.map +1 -1
  73. package/dist/node/permissions/HubPermissionPolicies.js +2 -0
  74. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
  75. package/dist/node/permissions/types/Permission.js +2 -0
  76. package/dist/node/permissions/types/Permission.js.map +1 -1
  77. package/dist/node/versioning/updateVersion.js +22 -1
  78. package/dist/node/versioning/updateVersion.js.map +1 -1
  79. package/dist/node/versioning/utils.js +18 -1
  80. package/dist/node/versioning/utils.js.map +1 -1
  81. package/dist/types/content/_internal.d.ts +1 -0
  82. package/dist/types/core/HubItemEntity.d.ts +5 -0
  83. package/dist/types/core/types/HubEntityType.d.ts +1 -1
  84. package/dist/types/core/types/IHubDiscussion.d.ts +8 -0
  85. package/dist/types/core/types/IHubItemEntity.d.ts +4 -0
  86. package/dist/types/core/types/index.d.ts +1 -0
  87. package/dist/types/discussions/HubDiscussion.d.ts +44 -0
  88. package/dist/types/discussions/_internal/DiscussionBusinessRules.d.ts +27 -0
  89. package/dist/types/discussions/_internal/computeProps.d.ts +12 -0
  90. package/dist/types/discussions/_internal/getPropertyMap.d.ts +8 -0
  91. package/dist/types/discussions/defaults.d.ts +11 -0
  92. package/dist/types/discussions/edit.d.ts +29 -0
  93. package/dist/types/discussions/fetch.d.ts +20 -0
  94. package/dist/types/discussions/index.d.ts +3 -0
  95. package/dist/types/index.d.ts +1 -0
  96. package/dist/types/permissions/types/Permission.d.ts +2 -2
  97. package/dist/types/versioning/updateVersion.d.ts +3 -1
  98. package/dist/types/versioning/utils.d.ts +14 -1
  99. package/package.json +1 -1
@@ -2,6 +2,7 @@ import { getTypeFromEntity } from "../core/getTypeFromEntity";
2
2
  import { ProjectCapabilityPermissions } from "../projects/_internal/ProjectBusinessRules";
3
3
  import { checkCapabilityAccess } from "./_internal/checkCapabilityAccess";
4
4
  import { InitiativeCapabilityPermissions } from "../initiatives/_internal/InitiativeBusinessRules";
5
+ import { DiscussionCapabilityPermissions } from "../discussions/_internal/DiscussionBusinessRules";
5
6
  import { SiteCapabilityPermissions } from "../sites/_internal/SiteBusinessRules";
6
7
  /**
7
8
  * List of all the Capability Permissions in the Hub System
@@ -11,6 +12,7 @@ export const CapabilityPermissions = [
11
12
  ...ProjectCapabilityPermissions,
12
13
  ...InitiativeCapabilityPermissions,
13
14
  ...SiteCapabilityPermissions,
15
+ ...DiscussionCapabilityPermissions,
14
16
  ];
15
17
  /**
16
18
  * Return the capabilities that are granted to the current user for a given entity
@@ -1 +1 @@
1
- {"version":3,"file":"getWorkspaceCapabilities.js","sourceRoot":"","sources":["../../../src/capabilities/getWorkspaceCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAIjF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA4B;IAC5D,GAAG,4BAA4B;IAC/B,GAAG,+BAA+B;IAClC,GAAG,yBAAyB;CAC7B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAiB,EACjB,OAAuB;IAEvB,MAAM,UAAU,GAAkB,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5D,gDAAgD;IAChD,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAC/B,CAAC;IAEF,oCAAoC;IACpC,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnD,OAAO,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,0FAA0F;IAC1F,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3E,8EAA8E;IAC9E,OAAO;QACL,OAAO;QACP,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"getWorkspaceCapabilities.js","sourceRoot":"","sources":["../../../src/capabilities/getWorkspaceCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAIjF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA4B;IAC5D,GAAG,4BAA4B;IAC/B,GAAG,+BAA+B;IAClC,GAAG,yBAAyB;IAC5B,GAAG,+BAA+B;CACnC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAiB,EACjB,OAAuB;IAEvB,MAAM,UAAU,GAAkB,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5D,gDAAgD;IAChD,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAC/B,CAAC;IAEF,oCAAoC;IACpC,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnD,OAAO,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,0FAA0F;IAC1F,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3E,8EAA8E;IAC9E,OAAO;QACL,OAAO;QACP,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC"}
@@ -100,6 +100,13 @@ export class HubItemEntity {
100
100
  get canDelete() {
101
101
  return this.entity.canDelete;
102
102
  }
103
+ /**
104
+ * The orgId of the Entity, if available
105
+ * @returns the entity orgId, when available
106
+ */
107
+ get orgId() {
108
+ return this.entity.orgId;
109
+ }
103
110
  //#endregion IWithStoreBehavior
104
111
  //#region IWithSharingBehavior
105
112
  /**
@@ -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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"}
@@ -20,6 +20,7 @@ export function getBasePropertyMap() {
20
20
  "typeKeywords",
21
21
  "thumbnail",
22
22
  "url",
23
+ "orgId",
23
24
  ];
24
25
  const dataProps = ["display", "geometry", "view"];
25
26
  const resourceProps = Object.keys(EntityResourceMap);
@@ -1 +1 @@
1
- {"version":3,"file":"getBasePropertyMap.js","sourceRoot":"","sources":["../../../../src/core/_internal/getBasePropertyMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7C;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,SAAS,GAAG;QAChB,QAAQ;QACR,SAAS;QACT,SAAS;QACT,aAAa;QACb,QAAQ;QACR,IAAI;QACJ,aAAa;QACb,UAAU;QACV,OAAO;QACP,MAAM;QACN,MAAM;QACN,cAAc;QACd,WAAW;QACX,KAAK;KACN,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,kBAAkB;IAClB,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,sBAAsB;KACjC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,cAAc;KACzB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,+BAA+B;KAC1C,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,2BAA2B;KACtC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"getBasePropertyMap.js","sourceRoot":"","sources":["../../../../src/core/_internal/getBasePropertyMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7C;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,SAAS,GAAG;QAChB,QAAQ;QACR,SAAS;QACT,SAAS;QACT,aAAa;QACb,QAAQ;QACR,IAAI;QACJ,aAAa;QACb,UAAU;QACV,OAAO;QACP,MAAM;QACN,MAAM;QACN,cAAc;QACd,WAAW;QACX,KAAK;QACL,OAAO;KACR,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,kBAAkB;IAClB,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,sBAAsB;KACjC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,cAAc;KACzB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,+BAA+B;KAC1C,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,2BAA2B;KACtC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { fetchInitiative } from "../initiatives/HubInitiatives";
2
2
  import { fetchProject } from "../projects/fetch";
3
3
  import { fetchSite } from "../sites/HubSites";
4
+ import { fetchDiscussion } from "../discussions/fetch";
4
5
  /**
5
6
  * Fetch a Hub entity by identifier (id or slug)
6
7
  * @param type
@@ -20,6 +21,9 @@ export async function fetchHubEntity(type, identifier, context) {
20
21
  case "initiative":
21
22
  result = await fetchInitiative(identifier, context.requestOptions);
22
23
  break;
24
+ case "discussion":
25
+ result = await fetchDiscussion(identifier, context.hubRequestOptions);
26
+ break;
23
27
  case "page":
24
28
  throw new Error(`FetchPage not implemented`);
25
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetchHubEntity.js","sourceRoot":"","sources":["../../../src/core/fetchHubEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAmB,EACnB,UAAkB,EAClB,OAAuB;IAEvB,IAAI,MAAiB,CAAC;IACtB,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACnE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAChD;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"fetchHubEntity.js","sourceRoot":"","sources":["../../../src/core/fetchHubEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAI9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAmB,EACnB,UAAkB,EAClB,OAAuB;IAEvB,IAAI,MAAiB,CAAC;IACtB,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACnE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACtE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAChD;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -22,6 +22,9 @@ export function getTypeFromEntity(entity) {
22
22
  case "Hub Initiative":
23
23
  type = "initiative";
24
24
  break;
25
+ case "Discussion":
26
+ type = "discussion";
27
+ break;
25
28
  }
26
29
  return type;
27
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,yDAAyD;AAIzD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,IAAI,IAAmB,CAAC;IACxB,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;KACT;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,yDAAyD;AAIzD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,IAAI,IAAmB,CAAC;IACxB,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;KACT;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=IHubDiscussion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHubDiscussion.js","sourceRoot":"","sources":["../../../../src/core/types/IHubDiscussion.ts"],"names":[],"mappings":""}
@@ -2,6 +2,7 @@ export * from "./HubEntity";
2
2
  export * from "./HubEntityType";
3
3
  export * from "./IHubContent";
4
4
  export * from "./IHubContentEnrichments";
5
+ export * from "./IHubDiscussion";
5
6
  export * from "./IHubEntityBase";
6
7
  export * from "./IHubEvent";
7
8
  export * from "./IHubImage";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,107 @@
1
+ import { DEFAULT_DISCUSSION } from "./defaults";
2
+ import { HubItemEntity } from "../core/HubItemEntity";
3
+ import { fetchDiscussion } from "./fetch";
4
+ /**
5
+ * Hub Discussion Class
6
+ */
7
+ export class HubDiscussion extends HubItemEntity {
8
+ /**
9
+ * Create an instance from an IHubDiscussion object
10
+ * @param json JSON object to create a HubDiscussion from
11
+ * @param context ArcGIS context
12
+ * @returns a HubDiscussion
13
+ */
14
+ static fromJson(json, context) {
15
+ // merge what we have with the default values
16
+ const pojo = this.applyDefaults(json, context);
17
+ return new HubDiscussion(pojo, context);
18
+ }
19
+ /**
20
+ * Create a new HubDiscussion, returning a HubDiscussion instance.
21
+ * Note: This does not persist the Discussion into the backing store
22
+ * @param partialDiscussion a partial IHubDiscussion
23
+ * @param context ArcGIS context
24
+ * @returns promise that resolves a HubDiscussion
25
+ */
26
+ static async create(partialDiscussion, context, save = false) {
27
+ const pojo = this.applyDefaults(partialDiscussion, context);
28
+ // return an instance of HubDiscussion
29
+ const instance = HubDiscussion.fromJson(pojo, context);
30
+ if (save) {
31
+ await instance.save();
32
+ }
33
+ return instance;
34
+ }
35
+ /**
36
+ * Fetch a Discussion from the backing store and return a HubDiscussion instance.
37
+ * @param identifier slug or item id
38
+ * @param context ArcGIS context
39
+ * @returns promise that resolves a HubDiscussion
40
+ */
41
+ static async fetch(identifier, context) {
42
+ try {
43
+ const entity = await fetchDiscussion(identifier, context.requestOptions);
44
+ // create an instance of HubDiscussion from the entity
45
+ return HubDiscussion.fromJson(entity, context);
46
+ }
47
+ catch (ex) {
48
+ throw ex.message ===
49
+ "CONT_0001: Item does not exist or is inaccessible."
50
+ ? new Error("Discussion not found.")
51
+ : ex;
52
+ }
53
+ }
54
+ static applyDefaults(partialDiscussion, context) {
55
+ // ensure we have the orgUrlKey
56
+ if (!partialDiscussion.orgUrlKey) {
57
+ partialDiscussion.orgUrlKey = context.portal.urlKey;
58
+ }
59
+ // extend the partial over the defaults
60
+ const pojo = Object.assign(Object.assign({}, DEFAULT_DISCUSSION), partialDiscussion);
61
+ return pojo;
62
+ }
63
+ /**
64
+ * Apply a new state to the instance
65
+ * @param changes A partial IHubDiscussion
66
+ */
67
+ update(changes) {
68
+ if (this.isDestroyed) {
69
+ throw new Error("HubDiscussion is already destroyed.");
70
+ }
71
+ // merge partial onto existing entity
72
+ this.entity = Object.assign(Object.assign({}, this.entity), changes);
73
+ }
74
+ async save() {
75
+ if (this.isDestroyed) {
76
+ throw new Error("HubDiscussion is already destroyed.");
77
+ }
78
+ if (this.entity.id) {
79
+ const { updateDiscussion } = await import("./edit");
80
+ // update it
81
+ this.entity = await updateDiscussion(this.entity, this.context.userRequestOptions);
82
+ }
83
+ else {
84
+ const { createDiscussion } = await import("./edit");
85
+ // create it
86
+ this.entity = await createDiscussion(this.entity, this.context.userRequestOptions);
87
+ }
88
+ // call the after save hook on superclass
89
+ await super.afterSave();
90
+ return;
91
+ }
92
+ /**
93
+ * Delete the HubDiscussion from the store
94
+ * set a flag to indicate that it is destroyed
95
+ * @returns a promise
96
+ */
97
+ async delete() {
98
+ if (this.isDestroyed) {
99
+ throw new Error("HubDiscussion is already destroyed.");
100
+ }
101
+ const { deleteDiscussion } = await import("./edit");
102
+ this.isDestroyed = true;
103
+ // Delegate to module fn
104
+ await deleteDiscussion(this.entity.id, this.context.userRequestOptions);
105
+ }
106
+ }
107
+ //# sourceMappingURL=HubDiscussion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HubDiscussion.js","sourceRoot":"","sources":["../../../src/discussions/HubDiscussion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Default capabilities for a Discussion. If not listed here, the capability will not be available
3
+ * This hash is combined with the capabilities hash stored in the item data. Regardless of what
4
+ * properties are defined in the item data, only the capabilities defined here will be available
5
+ * @private
6
+ */
7
+ export const DiscussionDefaultCapabilities = {
8
+ overview: true,
9
+ details: true,
10
+ settings: true,
11
+ };
12
+ /**
13
+ * List of all the Discussion Capability Permissions
14
+ * These are considered Hub Business Rules and are not intended
15
+ * to be modified by consumers
16
+ * @private
17
+ */
18
+ export const DiscussionCapabilityPermissions = [
19
+ {
20
+ entity: "discussion",
21
+ capability: "overview",
22
+ permissions: ["hub:discussion:view"],
23
+ },
24
+ {
25
+ entity: "discussion",
26
+ capability: "details",
27
+ permissions: ["hub:discussion:edit"],
28
+ },
29
+ {
30
+ entity: "discussion",
31
+ capability: "settings",
32
+ permissions: ["hub:discussion:edit"],
33
+ },
34
+ ];
35
+ /**
36
+ * Discussion Permission Policies
37
+ * These define the requirements any user must meet to perform related actions
38
+ * @private
39
+ */
40
+ export const DiscussionPermissions = [
41
+ "hub:discussion:create",
42
+ "hub:discussion:delete",
43
+ "hub:discussion:edit",
44
+ "hub:discussion:view",
45
+ ];
46
+ /**
47
+ * Discussion permission policies
48
+ * @private
49
+ */
50
+ export const DiscussionPermissionPolicies = [
51
+ {
52
+ permission: "hub:discussion:create",
53
+ subsystems: ["discussions"],
54
+ authenticated: true,
55
+ privileges: ["portal:user:createItem"],
56
+ licenses: ["hub-premium"],
57
+ },
58
+ {
59
+ permission: "hub:discussion:view",
60
+ subsystems: ["discussions"],
61
+ authenticated: false,
62
+ licenses: ["hub-premium"],
63
+ },
64
+ {
65
+ permission: "hub:discussion:edit",
66
+ authenticated: true,
67
+ subsystems: ["discussions"],
68
+ entityEdit: true,
69
+ licenses: ["hub-premium"],
70
+ },
71
+ {
72
+ permission: "hub:discussion:delete",
73
+ authenticated: true,
74
+ subsystems: ["discussions"],
75
+ entityOwner: true,
76
+ licenses: ["hub-premium"],
77
+ },
78
+ ];
79
+ //# sourceMappingURL=DiscussionBusinessRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscussionBusinessRules.js","sourceRoot":"","sources":["../../../../src/discussions/_internal/DiscussionBusinessRules.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAuB;IAC/D,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAA4B;IACtE;QACE,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,qBAAqB,CAAC;KACrC;IACD;QACE,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,qBAAqB,CAAC;KACrC;IACD;QACE,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,qBAAqB,CAAC;KACrC;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,qBAAqB;CACb,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAwB;IAC/D;QACE,UAAU,EAAE,uBAAuB;QACnC,UAAU,EAAE,CAAC,aAAa,CAAC;QAC3B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,qBAAqB;QACjC,UAAU,EAAE,CAAC,aAAa,CAAC;QAC3B,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,qBAAqB;QACjC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,aAAa,CAAC;QAC3B,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,uBAAuB;QACnC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,aAAa,CAAC;QAC3B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;CACF,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { getItemThumbnailUrl } from "../../resources";
2
+ import { DiscussionDefaultCapabilities } from "./DiscussionBusinessRules";
3
+ import { processEntityCapabilities } from "../../capabilities";
4
+ /**
5
+ * Given a model and a Discussion, set various computed properties that can't be directly mapped
6
+ * @private
7
+ * @param model
8
+ * @param discussion
9
+ * @param requestOptions
10
+ * @returns an IHubDiscussion
11
+ */
12
+ export function computeProps(model, discussion, requestOptions) {
13
+ var _a, _b;
14
+ let token;
15
+ if (requestOptions.authentication) {
16
+ const session = requestOptions.authentication;
17
+ token = session.token;
18
+ }
19
+ // thumbnail url
20
+ discussion.thumbnailUrl = getItemThumbnailUrl(model.item, requestOptions, token);
21
+ // Handle Dates
22
+ discussion.createdDate = new Date(model.item.created);
23
+ discussion.createdDateSource = "item.created";
24
+ discussion.updatedDate = new Date(model.item.modified);
25
+ discussion.updatedDateSource = "item.modified";
26
+ // Handle capabilities
27
+ discussion.capabilities = processEntityCapabilities(((_b = (_a = model.data) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.capabilities) || {}, DiscussionDefaultCapabilities);
28
+ // cast b/c this takes a partial but returns a full object
29
+ return discussion;
30
+ }
31
+ //# sourceMappingURL=computeProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/discussions/_internal/computeProps.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,UAAmC,EACnC,cAA+B;;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,gBAAgB;IAChB,UAAU,CAAC,YAAY,GAAG,mBAAmB,CAC3C,KAAK,CAAC,IAAI,EACV,cAAc,EACd,KAAK,CACN,CAAC;IAEF,eAAe;IACf,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,UAAU,CAAC,iBAAiB,GAAG,cAAc,CAAC;IAC9C,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,UAAU,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAE/C,sBAAsB;IACtB,UAAU,CAAC,YAAY,GAAG,yBAAyB,CACjD,aAAA,KAAK,CAAC,IAAI,0CAAE,QAAQ,0CAAE,YAAY,KAAI,EAAE,EACxC,6BAA6B,CAC9B,CAAC;IAEF,0DAA0D;IAC1D,OAAO,UAA4B,CAAC;AACtC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { getBasePropertyMap } from "../../core/_internal/getBasePropertyMap";
2
+ /**
3
+ * Returns an Array of IPropertyMap objects
4
+ * that define the projection of properties from a IModel to an IHubDiscussion
5
+ * @returns an IPropertyMap array
6
+ * @private
7
+ */
8
+ export function getPropertyMap() {
9
+ const map = getBasePropertyMap();
10
+ // Type specific mappings
11
+ return map;
12
+ }
13
+ //# sourceMappingURL=getPropertyMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/discussions/_internal/getPropertyMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E;;;;;GAKG;AAEH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAEjC,yBAAyB;IAEzB,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,30 @@
1
+ export const HUB_DISCUSSION_ITEM_TYPE = "Discussion";
2
+ /**
3
+ * Default values of a IHubDiscussion
4
+ */
5
+ export const DEFAULT_DISCUSSION = {
6
+ name: "No title provided",
7
+ tags: [],
8
+ typeKeywords: ["Hub Discussion"],
9
+ permissions: [],
10
+ schemaVersion: 1,
11
+ };
12
+ /**
13
+ * Default values for a new HubDiscussion Model
14
+ */
15
+ export const DEFAULT_DISCUSSION_MODEL = {
16
+ item: {
17
+ type: HUB_DISCUSSION_ITEM_TYPE,
18
+ title: "No Title Provided",
19
+ description: "No Description Provided",
20
+ snippet: "",
21
+ tags: [],
22
+ typeKeywords: ["Hub Discussion"],
23
+ properties: {
24
+ slug: "",
25
+ schemaVersion: 1,
26
+ },
27
+ },
28
+ data: {},
29
+ };
30
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/discussions/defaults.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA4B;IACzD,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;IAChC,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAW;IAC9C,IAAI,EAAE;QACJ,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;QAChC,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,CAAC;SACjB;KACF;IACD,IAAI,EAAE,EAAE;CACY,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { removeItem } from "@esri/arcgis-rest-portal";
2
+ import { createModel, getModel, updateModel } from "../models";
3
+ import { constructSlug, getUniqueSlug, setSlugKeyword } from "../items/slugs";
4
+ import { cloneObject } from "../index";
5
+ import { PropertyMapper } from "../core/_internal/PropertyMapper";
6
+ import { getPropertyMap } from "./_internal/getPropertyMap";
7
+ import { computeProps } from "./_internal/computeProps";
8
+ import { DEFAULT_DISCUSSION, DEFAULT_DISCUSSION_MODEL } from "./defaults";
9
+ /**
10
+ * @private
11
+ * Create a new Hub Discussion item
12
+ *
13
+ * Minimal properties are name and orgUrlKey
14
+ *
15
+ * @param partialDiscussion a partial discussion
16
+ * @param requestOptions user request options
17
+ * @returns promise that resolves a IHubDiscussion
18
+ */
19
+ export async function createDiscussion(partialDiscussion, requestOptions) {
20
+ // merge incoming with the default
21
+ // this expansion solves the typing somehow
22
+ const discussion = Object.assign(Object.assign({}, DEFAULT_DISCUSSION), partialDiscussion);
23
+ // Create a slug from the title if one is not passed in
24
+ if (!discussion.slug) {
25
+ discussion.slug = constructSlug(discussion.name, discussion.orgUrlKey);
26
+ }
27
+ // Ensure slug is unique
28
+ discussion.slug = await getUniqueSlug({ slug: discussion.slug }, requestOptions);
29
+ // add slug to keywords
30
+ discussion.typeKeywords = setSlugKeyword(discussion.typeKeywords, discussion.slug);
31
+ // Map discussion object onto a default discussion Model
32
+ const mapper = new PropertyMapper(getPropertyMap());
33
+ // create model from object, using the default model as a starting point
34
+ let model = mapper.objectToModel(discussion, cloneObject(DEFAULT_DISCUSSION_MODEL));
35
+ // create the item
36
+ model = await createModel(model, requestOptions);
37
+ // map the model back into a IHubDiscussion
38
+ let newDiscussion = mapper.modelToObject(model, {});
39
+ newDiscussion = computeProps(model, newDiscussion, requestOptions);
40
+ // and return it
41
+ return newDiscussion;
42
+ }
43
+ /**
44
+ * @private
45
+ * Update a Hub Discussion
46
+ * @param discussion the discussion to update
47
+ * @param requestOptions user request options
48
+ * @returns promise that resolves a IHubDiscussion
49
+ */
50
+ export async function updateDiscussion(discussion, requestOptions) {
51
+ // verify that the slug is unique, excluding the current discussion
52
+ discussion.slug = await getUniqueSlug({ slug: discussion.slug, existingId: discussion.id }, requestOptions);
53
+ // get the backing item & data
54
+ const model = await getModel(discussion.id, requestOptions);
55
+ // create the PropertyMapper
56
+ const mapper = new PropertyMapper(getPropertyMap());
57
+ // Note: Although we are fetching the model, and applying changes onto it,
58
+ // we are not attempting to handle "concurrent edit" conflict resolution
59
+ // but this is where we would apply that sort of logic
60
+ const modelToUpdate = mapper.objectToModel(discussion, model);
61
+ // update the backing item
62
+ const updatedModel = await updateModel(modelToUpdate, requestOptions);
63
+ // now map back into a discussion and return that
64
+ let updatedDiscussion = mapper.modelToObject(updatedModel, discussion);
65
+ updatedDiscussion = computeProps(model, updatedDiscussion, requestOptions);
66
+ // the casting is needed because modelToObject returns a `Partial<T>`
67
+ // where as this function returns a `T`
68
+ return updatedDiscussion;
69
+ }
70
+ /**
71
+ * @private
72
+ * Remove a Hub Discussion
73
+ * @param id the discussion item id
74
+ * @param requestOptions request options
75
+ * @returns a promise
76
+ */
77
+ export async function deleteDiscussion(id, requestOptions) {
78
+ const ro = Object.assign(Object.assign({}, requestOptions), { id });
79
+ await removeItem(ro);
80
+ return;
81
+ }
82
+ //# sourceMappingURL=edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/discussions/edit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { getItem } from "@esri/arcgis-rest-portal";
2
+ import { fetchModelFromItem } from "../models";
3
+ import { getItemBySlug } from "../items/slugs";
4
+ import { isGuid } from "../index";
5
+ import { PropertyMapper } from "../core/_internal/PropertyMapper";
6
+ import { getPropertyMap } from "./_internal/getPropertyMap";
7
+ import { computeProps } from "./_internal/computeProps";
8
+ /**
9
+ * @private
10
+ * Get a Discussion by id or slug
11
+ * @param identifier item id or slug
12
+ * @param requestOptions request options
13
+ * @returns a promise that resolves a IHubDiscussion
14
+ */
15
+ export async function fetchDiscussion(identifier, requestOptions) {
16
+ let getPrms;
17
+ if (isGuid(identifier)) {
18
+ // get item by id
19
+ getPrms = getItem(identifier, requestOptions);
20
+ }
21
+ else {
22
+ getPrms = getItemBySlug(identifier, requestOptions);
23
+ }
24
+ return getPrms.then((item) => {
25
+ if (!item)
26
+ return null;
27
+ return convertItemToDiscussion(item, requestOptions);
28
+ });
29
+ }
30
+ /**
31
+ * @private
32
+ * Convert a Hub Discussion Item into a Hub Discussion, fetching any additional
33
+ * information that may be required
34
+ * @param item the discussion item
35
+ * @param auth request options
36
+ * @returns a promise that resolves a IHubDiscussion
37
+ */
38
+ export async function convertItemToDiscussion(item, requestOptions) {
39
+ const model = await fetchModelFromItem(item, requestOptions);
40
+ const mapper = new PropertyMapper(getPropertyMap());
41
+ const discussion = mapper.modelToObject(model, {});
42
+ return computeProps(model, discussion, requestOptions);
43
+ }
44
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/discussions/fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAkB,EAClB,cAA+B;IAE/B,IAAI,OAAO,CAAC;IACZ,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE;QACtB,iBAAiB;QACjB,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;KAC/C;SAAM;QACL,OAAO,GAAG,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;KACrD;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,uBAAuB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAW,EACX,cAA+B;IAE/B,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,cAAc,CAA0B,cAAc,EAAE,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAmB,CAAC;IACrE,OAAO,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;AACzD,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./HubDiscussion";
2
+ export * from "./edit";
3
+ export * from "./fetch";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}
package/dist/esm/index.js CHANGED
@@ -15,6 +15,7 @@ export * from "./extent";
15
15
  export * from "./groups";
16
16
  export * from "./i18n";
17
17
  export * from "./initiatives";
18
+ export * from "./discussions";
18
19
  export * from "./items";
19
20
  export * from "./models";
20
21
  export * from "./objects";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAChB,0BAA0B;AAE1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAE7B,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAChB,0BAA0B;AAE1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAE7B,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { InitiativePermissionPolicies } from "../initiatives/_internal/InitiativeBusinessRules";
2
2
  import { ProjectPermissionPolicies } from "../projects/_internal/ProjectBusinessRules";
3
3
  import { SitesPermissionPolicies } from "../sites/_internal/SiteBusinessRules";
4
+ import { DiscussionPermissionPolicies } from "../discussions/_internal/DiscussionBusinessRules";
4
5
  // Examples of possible Permission Policies
5
6
  // const DiscussionPermissionPolicies: IPermissionPolicy[] = [
6
7
  // {
@@ -61,6 +62,7 @@ export const HubPermissionsPolicies = [
61
62
  ...SitesPermissionPolicies,
62
63
  ...ProjectPermissionPolicies,
63
64
  ...InitiativePermissionPolicies,
65
+ ...DiscussionPermissionPolicies,
64
66
  ];
65
67
  /**
66
68
  * Get the policies defined for a specific permission