@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
@@ -1 +1 @@
1
- {"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAC;AAChG,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAI/E,2CAA2C;AAC3C,8DAA8D;AAC9D,MAAM;AACN,gDAAgD;AAChD,2BAA2B;AAC3B,mCAAmC;AACnC,8CAA8C;AAC9C,OAAO;AACP,MAAM;AACN,uDAAuD;AACvD,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,iDAAiD;AACjD,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,UAAU;AACV,2CAA2C;AAC3C,uCAAuC;AACvC,oCAAoC;AACpC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,gDAAgD;AAChD,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,6CAA6C;AAC7C,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB;IACzD,GAAG,uBAAuB;IAC1B,GAAG,yBAAyB;IAC5B,GAAG,4BAA4B;CAChC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAsB;IACxD,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAC;AAChG,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAC;AAIhG,2CAA2C;AAC3C,8DAA8D;AAC9D,MAAM;AACN,gDAAgD;AAChD,2BAA2B;AAC3B,mCAAmC;AACnC,8CAA8C;AAC9C,OAAO;AACP,MAAM;AACN,uDAAuD;AACvD,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,iDAAiD;AACjD,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,UAAU;AACV,2CAA2C;AAC3C,uCAAuC;AACvC,oCAAoC;AACpC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,gDAAgD;AAChD,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,6CAA6C;AAC7C,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB;IACzD,GAAG,uBAAuB;IAC1B,GAAG,yBAAyB;IAC5B,GAAG,4BAA4B;IAC/B,GAAG,4BAA4B;CAChC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAsB;IACxD,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AACzE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { ProjectPermissions } from "../../projects/_internal/ProjectBusinessRules";
2
2
  import { SitePermissions } from "../../sites/_internal/SiteBusinessRules";
3
3
  import { InitiativePermissions } from "../../initiatives/_internal/InitiativeBusinessRules";
4
+ import { DiscussionPermissions } from "../../discussions/_internal/DiscussionBusinessRules";
4
5
  /**
5
6
  * Defines the values for Permissions
6
7
  * It's critical that the arrays defined in the modules use `as const`
@@ -10,6 +11,7 @@ const validPermissions = [
10
11
  ...SitePermissions,
11
12
  ...ProjectPermissions,
12
13
  ...InitiativePermissions,
14
+ ...DiscussionPermissions,
13
15
  ];
14
16
  /**
15
17
  * Validate a Permission
@@ -1 +1 @@
1
- {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAE5F;;;;GAIG;AACH,MAAM,gBAAgB,GAAG;IACvB,GAAG,eAAe;IAClB,GAAG,kBAAkB;IACrB,GAAG,qBAAqB;CAChB,CAAC;AAOX;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,eAAuB;IAClD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAE5F;;;;GAIG;AACH,MAAM,gBAAgB,GAAG;IACvB,GAAG,eAAe;IAClB,GAAG,kBAAkB;IACrB,GAAG,qBAAqB;IACxB,GAAG,qBAAqB;CAChB,CAAC;AAOX;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,eAAuB;IAClD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AAClE,CAAC"}
@@ -6,16 +6,37 @@ import { getVersionData } from "./_internal/getVersionData";
6
6
  import { VERSION_RESOURCE_NAME, VERSION_RESOURCE_PROPERTIES, } from "./_internal/constants";
7
7
  import { getIncludeListFromItemType } from "./_internal/getIncludeListFromItemType";
8
8
  import { updateItemResource } from "@esri/arcgis-rest-portal";
9
+ import { checkForStaleVersion } from "./utils";
10
+ /**
11
+ * Custom error to be thrown when attempting to save a stale version
12
+ * @class StaleVersionError
13
+ * @extends {Error}
14
+ */
15
+ class StaleVersionError extends Error {
16
+ constructor(id, updated) {
17
+ super(`Version ${id} is stale. Use force to overwrite.`);
18
+ this.updated = updated;
19
+ this.name = "StaleVersionError";
20
+ }
21
+ }
9
22
  /**
10
23
  * Updates the specified version with with the state of the supplied model
24
+ * throws an exception if the version is stale and force is not true
11
25
  * @param model
12
26
  * @param version
13
27
  * @param requestOptions
28
+ * @param force
14
29
  * @returns
15
30
  */
16
- export async function updateVersion(model, version, requestOptions) {
31
+ export async function updateVersion(model, version, requestOptions, force) {
17
32
  // we expect the model to contain the changes that we want to apply to the version
18
33
  // but we also need the versionResource so we can preserve the created and creator props
34
+ if (!force) {
35
+ const isStaleResponse = await checkForStaleVersion(model.item.id, version, requestOptions);
36
+ if (isStaleResponse.isStale) {
37
+ throw new StaleVersionError(version.id, isStaleResponse.updated);
38
+ }
39
+ }
19
40
  const includeList = getIncludeListFromItemType(model);
20
41
  version.data = getVersionData(model, includeList);
21
42
  const prefix = getPrefix(version.id);
@@ -1 +1 @@
1
- {"version":3,"file":"updateVersion.js","sourceRoot":"","sources":["../../../src/versioning/updateVersion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,OAAiB,EACjB,cAAsC;IAEtC,kFAAkF;IAClF,wFAAwF;IAExF,MAAM,WAAW,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,EAAE,EAAE,2BAA2B,CAAC,CAAC;IAE1E,MAAM,kBAAkB,iCACnB,cAAc,KACjB,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,EAC7B,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,EACnC,MAAM,EAAE,EAAE,UAAU,EAAE,EACtB,MAAM,EACN,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,WAAW,IACrB,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"updateVersion.js","sourceRoot":"","sources":["../../../src/versioning/updateVersion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;GAIG;AACH,MAAM,iBAAkB,SAAQ,KAAK;IACnC,YAAY,EAAU,EAAS,OAAe;QAC5C,KAAK,CAAC,WAAW,EAAE,oCAAoC,CAAC,CAAC;QAD5B,YAAO,GAAP,OAAO,CAAQ;QAE5C,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,OAAiB,EACjB,cAAsC,EACtC,KAAe;IAEf,kFAAkF;IAClF,wFAAwF;IAExF,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAChD,KAAK,CAAC,IAAI,CAAC,EAAE,EACb,OAAO,EACP,cAAc,CACf,CAAC;QACF,IAAI,eAAe,CAAC,OAAO,EAAE;YAC3B,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;SAClE;KACF;IAED,MAAM,WAAW,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,EAAE,EAAE,2BAA2B,CAAC,CAAC;IAE1E,MAAM,kBAAkB,iCACnB,cAAc,KACjB,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,EAC7B,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,EACnC,MAAM,EAAE,EAAE,UAAU,EAAE,EACtB,MAAM,EACN,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,WAAW,IACrB,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { cloneObject } from "../util";
2
2
  import { mergeObjects } from "../objects/merge-objects";
3
+ import { getVersion } from "./getVersion";
3
4
  import { getIncludeListFromItemType } from "./_internal/getIncludeListFromItemType";
4
5
  /**
5
6
  * Applies the versioned data to the model
@@ -14,4 +15,19 @@ export function applyVersion(model, version, includeList) {
14
15
  }
15
16
  return mergeObjects(version.data, cloneObject(model), includeList);
16
17
  }
18
+ /**
19
+ * Checks if the upstream version is newer than the passed in version
20
+ * @param itemId
21
+ * @param version
22
+ * @param requestOptions
23
+ * @returns
24
+ */
25
+ export async function checkForStaleVersion(itemId, version, requestOptions) {
26
+ const upstream = await getVersion(itemId, version.id, requestOptions);
27
+ const isStale = upstream.updated > version.updated;
28
+ return {
29
+ isStale,
30
+ updated: upstream.updated,
31
+ };
32
+ }
17
33
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/versioning/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AAEpF;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,OAAiB,EACjB,WAAsB;IAEtB,IAAI,CAAC,WAAW,EAAE;QAChB,WAAW,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;KACjD;IACD,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/versioning/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AAEpF;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,OAAiB,EACjB,WAAsB;IAEtB,IAAI,CAAC,WAAW,EAAE;QAChB,WAAW,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;KACjD;IACD,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;AACrE,CAAC;AAOD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,OAAiB,EACjB,cAAsC;IAEtC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACnD,OAAO;QACL,OAAO;QACP,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC;AACJ,CAAC"}
@@ -5,6 +5,7 @@ const getTypeFromEntity_1 = require("../core/getTypeFromEntity");
5
5
  const ProjectBusinessRules_1 = require("../projects/_internal/ProjectBusinessRules");
6
6
  const checkCapabilityAccess_1 = require("./_internal/checkCapabilityAccess");
7
7
  const InitiativeBusinessRules_1 = require("../initiatives/_internal/InitiativeBusinessRules");
8
+ const DiscussionBusinessRules_1 = require("../discussions/_internal/DiscussionBusinessRules");
8
9
  const SiteBusinessRules_1 = require("../sites/_internal/SiteBusinessRules");
9
10
  /**
10
11
  * List of all the Capability Permissions in the Hub System
@@ -14,6 +15,7 @@ exports.CapabilityPermissions = [
14
15
  ...ProjectBusinessRules_1.ProjectCapabilityPermissions,
15
16
  ...InitiativeBusinessRules_1.InitiativeCapabilityPermissions,
16
17
  ...SiteBusinessRules_1.SiteCapabilityPermissions,
18
+ ...DiscussionBusinessRules_1.DiscussionCapabilityPermissions,
17
19
  ];
18
20
  /**
19
21
  * 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,iEAA8D;AAE9D,qFAA0F;AAC1F,6EAA0E;AAC1E,8FAAmG;AACnG,4EAAiF;AAIjF;;;GAGG;AACU,QAAA,qBAAqB,GAA4B;IAC5D,GAAG,mDAA4B;IAC/B,GAAG,yDAA+B;IAClC,GAAG,6CAAyB;CAC7B,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,wBAAwB,CACtC,MAAiB,EACjB,OAAuB;IAEvB,MAAM,UAAU,GAAkB,qCAAiB,CAAC,MAAM,CAAC,CAAC;IAC5D,gDAAgD;IAChD,MAAM,qBAAqB,GAAG,6BAAqB,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,6CAAqB,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;AArBD,4DAqBC"}
1
+ {"version":3,"file":"getWorkspaceCapabilities.js","sourceRoot":"","sources":["../../../src/capabilities/getWorkspaceCapabilities.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AAE9D,qFAA0F;AAC1F,6EAA0E;AAC1E,8FAAmG;AACnG,8FAAmG;AACnG,4EAAiF;AAIjF;;;GAGG;AACU,QAAA,qBAAqB,GAA4B;IAC5D,GAAG,mDAA4B;IAC/B,GAAG,yDAA+B;IAClC,GAAG,6CAAyB;IAC5B,GAAG,yDAA+B;CACnC,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,wBAAwB,CACtC,MAAiB,EACjB,OAAuB;IAEvB,MAAM,UAAU,GAAkB,qCAAiB,CAAC,MAAM,CAAC,CAAC;IAC5D,gDAAgD;IAChD,MAAM,qBAAqB,GAAG,6BAAqB,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,6CAAqB,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;AArBD,4DAqBC"}
@@ -103,6 +103,13 @@ class HubItemEntity {
103
103
  get canDelete() {
104
104
  return this.entity.canDelete;
105
105
  }
106
+ /**
107
+ * The orgId of the Entity, if available
108
+ * @returns the entity orgId, when available
109
+ */
110
+ get orgId() {
111
+ return this.entity.orgId;
112
+ }
106
113
  //#endregion IWithStoreBehavior
107
114
  //#region IWithSharingBehavior
108
115
  /**
@@ -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":";;;AAAA,iEAOkC;AAElC,kDAIyB;AACzB,0CAAmC;AACnC,oCAA+C;AAC/C,gEAA6D;AAC7D,gDAOwB;AACxB,4CAAsE;AACtE,kCAAsC;AAWtC,uDAAoD;AAEpD,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAsB,aAAa;IAcjC,YAAY,MAAS,EAAE,OAAuB;QAHpC,gBAAW,GAAY,KAAK,CAAC;QAC7B,mBAAc,GAAoC,IAAI,CAAC;QAG/D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,UAAsB;QACpC,OAAO,6BAAe,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IACD;;;;OAIG;IACH,qBAAqB,CAAC,UAAsB;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QAClD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IAChE,CAAC;IACD;;;OAGG;IACH,mBAAmB,CAAC,MAA+B;QACjD,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,iCAAmB,CAC3C,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,MAAM,CACP,CAAC;IACJ,CAAC;IACD;;;;OAIG;IACH,sBAAsB,CAAC,UAAsB,EAAE,EAAU;QACvD,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,oCAAsB,CAC9C,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,UAAU,EACV,EAAE,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,UAAsB;QACpC,OAAO,8BAAe,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,kFAAkF;IAClF;;OAEG;IACH,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,4BAA4B;IAE5B;;;OAGG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,OAAO,kBAAW,CAAC,IAAI,CAAC,MAAM,CAAiB,CAAC;IAClD,CAAC;IAKD;;;;;OAKG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,+BAA+B;IAE/B,8BAA8B;IAC9B;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,uCAAkB,CAAC;YACvB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YAClB,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;SACrC,CAAC,CAAC;IACL,CAAC;IACD;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACpC,MAAM,yCAAoB,CAAC;YACzB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YAClB,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;SACrC,CAAC,CAAC;IACL,CAAC;IACD;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,MAA2B;QACzC,MAAM,kCAAa,CAAC;YAClB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YAClB,MAAM;YACN,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;SACrC,CAAC,CAAC;QACH,uCAAuC;QACvC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,6FAA6F;QAC7F,OAAO,uBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC;IAED,YAAY;IAEZ;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,oBAAoB;QACpB,6CAA6C;QAC7C,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,qBAAqB;YACrB,MAAM,mCAAgB,CACpB,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,cAAc,CAAC,IAAI,EACxB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAC5B,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;YAEF,mFAAmF;YACnF,2DAA2D;YAC3D,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,aAAa,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAClD,4BAA4B;YAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;IACH,CAAC;IAED,gCAAgC;IAEhC;;;;OAIG;IACH,YAAY,CAAC,IAAS,EAAE,QAAgB;QACtC,oFAAoF;QACpF,IAAI,CAAC,cAAc,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC3C,CAAC;IACD;;;OAGG;IACH,eAAe,CAAC,QAAgB,GAAG;QACjC,MAAM,WAAW,GAAG;YAClB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;SACb,CAAC;QAEtB,MAAM,IAAI,GAAsB;YAC9B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK;YACjC,KAAK;SACN,CAAC;QAEF,OAAO,+BAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IACD,mCAAmC;IAEnC,oCAAoC;IACpC;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAS;;QAC9B,iDAAiD;QACjD,UAAI,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,gBAAgB,EAAE;YACtC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;SACjC;QACD,6BAA6B;QAC7B,MAAM,gBAAgB,GAAG,MAAM,2BAAmB,CAChD,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,IAAI,EACJ,uBAAuB,EACvB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;QACF,mCAAmC;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,mCACX,IAAI,CAAC,MAAM,CAAC,IAAI,KACnB,gBAAgB,GACjB,CAAC;QACF,kBAAkB;QAClB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,IAAI;YACF,sBAAsB;YACtB,MAAM,QAAQ,GAAG,MAAM,uCAAkB,iBACvC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAClB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EACxB,QAAQ,EAAE,uBAAuB,IAC9B,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAClC,CAAC;YACH,mCAAmC;YACnC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACjC,MAAM,IAAI,kBAAQ,CAChB,2BAA2B,EAC3B,wCAAwC,CACzC,CAAC;aACH;YACD,8CAA8C;YAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YACzC,kBAAkB;YAClB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;SACnB;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,YAAY,KAAK,EAAE;gBACxB,MAAM,IAAI,kBAAQ,CAAC,2BAA2B,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aACnE;iBAAM;gBACL,MAAM,IAAI,kBAAQ,CAChB,2BAA2B,EAC3B,wCAAwC,CACzC,CAAC;aACH;SACF;IACH,CAAC;CAEF;AAxSD,sCAwSC"}
@@ -23,6 +23,7 @@ function getBasePropertyMap() {
23
23
  "typeKeywords",
24
24
  "thumbnail",
25
25
  "url",
26
+ "orgId",
26
27
  ];
27
28
  const dataProps = ["display", "geometry", "view"];
28
29
  const resourceProps = Object.keys(types_1.EntityResourceMap);
@@ -1 +1 @@
1
- {"version":3,"file":"getBasePropertyMap.js","sourceRoot":"","sources":["../../../../src/core/_internal/getBasePropertyMap.ts"],"names":[],"mappings":";;;AAAA,oCAA6C;AAG7C;;;;GAIG;AACH,SAAgB,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,yBAAiB,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;AAvDD,gDAuDC"}
1
+ {"version":3,"file":"getBasePropertyMap.js","sourceRoot":"","sources":["../../../../src/core/_internal/getBasePropertyMap.ts"],"names":[],"mappings":";;;AAAA,oCAA6C;AAG7C;;;;GAIG;AACH,SAAgB,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,yBAAiB,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;AAxDD,gDAwDC"}
@@ -4,6 +4,7 @@ exports.fetchHubEntity = void 0;
4
4
  const HubInitiatives_1 = require("../initiatives/HubInitiatives");
5
5
  const fetch_1 = require("../projects/fetch");
6
6
  const HubSites_1 = require("../sites/HubSites");
7
+ const fetch_2 = require("../discussions/fetch");
7
8
  /**
8
9
  * Fetch a Hub entity by identifier (id or slug)
9
10
  * @param type
@@ -23,6 +24,9 @@ async function fetchHubEntity(type, identifier, context) {
23
24
  case "initiative":
24
25
  result = await HubInitiatives_1.fetchInitiative(identifier, context.requestOptions);
25
26
  break;
27
+ case "discussion":
28
+ result = await fetch_2.fetchDiscussion(identifier, context.hubRequestOptions);
29
+ break;
26
30
  case "page":
27
31
  throw new Error(`FetchPage not implemented`);
28
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetchHubEntity.js","sourceRoot":"","sources":["../../../src/core/fetchHubEntity.ts"],"names":[],"mappings":";;;AAAA,kEAAgE;AAChE,6CAAiD;AACjD,gDAA8C;AAK9C;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAClC,IAAmB,EACnB,UAAkB,EAClB,OAAuB;IAEvB,IAAI,MAAiB,CAAC;IACtB,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,oBAAY,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,oBAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,gCAAe,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;AApBD,wCAoBC"}
1
+ {"version":3,"file":"fetchHubEntity.js","sourceRoot":"","sources":["../../../src/core/fetchHubEntity.ts"],"names":[],"mappings":";;;AAAA,kEAAgE;AAChE,6CAAiD;AACjD,gDAA8C;AAI9C,gDAAuD;AAEvD;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAClC,IAAmB,EACnB,UAAkB,EAClB,OAAuB;IAEvB,IAAI,MAAiB,CAAC;IACtB,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,oBAAY,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,oBAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,gCAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACnE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,uBAAe,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;AAvBD,wCAuBC"}
@@ -25,6 +25,9 @@ function getTypeFromEntity(entity) {
25
25
  case "Hub Initiative":
26
26
  type = "initiative";
27
27
  break;
28
+ case "Discussion":
29
+ type = "discussion";
30
+ break;
28
31
  }
29
32
  return type;
30
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,yDAAyD;;;AAIzD;;;;GAIG;AACH,SAAgB,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;AAnBD,8CAmBC"}
1
+ {"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,yDAAyD;;;AAIzD;;;;GAIG;AACH,SAAgB,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;AAtBD,8CAsBC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IHubDiscussion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHubDiscussion.js","sourceRoot":"","sources":["../../../../src/core/types/IHubDiscussion.ts"],"names":[],"mappings":""}
@@ -5,6 +5,7 @@ tslib_1.__exportStar(require("./HubEntity"), exports);
5
5
  tslib_1.__exportStar(require("./HubEntityType"), exports);
6
6
  tslib_1.__exportStar(require("./IHubContent"), exports);
7
7
  tslib_1.__exportStar(require("./IHubContentEnrichments"), exports);
8
+ tslib_1.__exportStar(require("./IHubDiscussion"), exports);
8
9
  tslib_1.__exportStar(require("./IHubEntityBase"), exports);
9
10
  tslib_1.__exportStar(require("./IHubEvent"), exports);
10
11
  tslib_1.__exportStar(require("./IHubImage"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,0DAAgC;AAChC,wDAA8B;AAC9B,mEAAyC;AACzC,2DAAiC;AACjC,sDAA4B;AAC5B,sDAA4B;AAC5B,2DAAiC;AACjC,2DAAiC;AACjC,uDAA6B;AAC7B,yDAA+B;AAC/B,qDAA2B;AAC3B,wDAA8B;AAC9B,qDAA2B;AAC3B,0DAAgC;AAChC,yDAA+B;AAC/B,6DAAmC;AACnC,+DAAqC;AACrC,0DAAgC;AAChC,kDAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,0DAAgC;AAChC,wDAA8B;AAC9B,mEAAyC;AACzC,2DAAiC;AACjC,2DAAiC;AACjC,sDAA4B;AAC5B,sDAA4B;AAC5B,2DAAiC;AACjC,2DAAiC;AACjC,uDAA6B;AAC7B,yDAA+B;AAC/B,qDAA2B;AAC3B,wDAA8B;AAC9B,qDAA2B;AAC3B,0DAAgC;AAChC,yDAA+B;AAC/B,6DAAmC;AACnC,+DAAqC;AACrC,0DAAgC;AAChC,kDAAwB"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HubDiscussion = void 0;
4
+ const defaults_1 = require("./defaults");
5
+ const HubItemEntity_1 = require("../core/HubItemEntity");
6
+ const fetch_1 = require("./fetch");
7
+ /**
8
+ * Hub Discussion Class
9
+ */
10
+ class HubDiscussion extends HubItemEntity_1.HubItemEntity {
11
+ /**
12
+ * Create an instance from an IHubDiscussion object
13
+ * @param json JSON object to create a HubDiscussion from
14
+ * @param context ArcGIS context
15
+ * @returns a HubDiscussion
16
+ */
17
+ static fromJson(json, context) {
18
+ // merge what we have with the default values
19
+ const pojo = this.applyDefaults(json, context);
20
+ return new HubDiscussion(pojo, context);
21
+ }
22
+ /**
23
+ * Create a new HubDiscussion, returning a HubDiscussion instance.
24
+ * Note: This does not persist the Discussion into the backing store
25
+ * @param partialDiscussion a partial IHubDiscussion
26
+ * @param context ArcGIS context
27
+ * @returns promise that resolves a HubDiscussion
28
+ */
29
+ static async create(partialDiscussion, context, save = false) {
30
+ const pojo = this.applyDefaults(partialDiscussion, context);
31
+ // return an instance of HubDiscussion
32
+ const instance = HubDiscussion.fromJson(pojo, context);
33
+ if (save) {
34
+ await instance.save();
35
+ }
36
+ return instance;
37
+ }
38
+ /**
39
+ * Fetch a Discussion from the backing store and return a HubDiscussion instance.
40
+ * @param identifier slug or item id
41
+ * @param context ArcGIS context
42
+ * @returns promise that resolves a HubDiscussion
43
+ */
44
+ static async fetch(identifier, context) {
45
+ try {
46
+ const entity = await fetch_1.fetchDiscussion(identifier, context.requestOptions);
47
+ // create an instance of HubDiscussion from the entity
48
+ return HubDiscussion.fromJson(entity, context);
49
+ }
50
+ catch (ex) {
51
+ throw ex.message ===
52
+ "CONT_0001: Item does not exist or is inaccessible."
53
+ ? new Error("Discussion not found.")
54
+ : ex;
55
+ }
56
+ }
57
+ static applyDefaults(partialDiscussion, context) {
58
+ // ensure we have the orgUrlKey
59
+ if (!partialDiscussion.orgUrlKey) {
60
+ partialDiscussion.orgUrlKey = context.portal.urlKey;
61
+ }
62
+ // extend the partial over the defaults
63
+ const pojo = Object.assign(Object.assign({}, defaults_1.DEFAULT_DISCUSSION), partialDiscussion);
64
+ return pojo;
65
+ }
66
+ /**
67
+ * Apply a new state to the instance
68
+ * @param changes A partial IHubDiscussion
69
+ */
70
+ update(changes) {
71
+ if (this.isDestroyed) {
72
+ throw new Error("HubDiscussion is already destroyed.");
73
+ }
74
+ // merge partial onto existing entity
75
+ this.entity = Object.assign(Object.assign({}, this.entity), changes);
76
+ }
77
+ async save() {
78
+ if (this.isDestroyed) {
79
+ throw new Error("HubDiscussion is already destroyed.");
80
+ }
81
+ if (this.entity.id) {
82
+ const { updateDiscussion } = await Promise.resolve().then(() => require("./edit"));
83
+ // update it
84
+ this.entity = await updateDiscussion(this.entity, this.context.userRequestOptions);
85
+ }
86
+ else {
87
+ const { createDiscussion } = await Promise.resolve().then(() => require("./edit"));
88
+ // create it
89
+ this.entity = await createDiscussion(this.entity, this.context.userRequestOptions);
90
+ }
91
+ // call the after save hook on superclass
92
+ await super.afterSave();
93
+ return;
94
+ }
95
+ /**
96
+ * Delete the HubDiscussion from the store
97
+ * set a flag to indicate that it is destroyed
98
+ * @returns a promise
99
+ */
100
+ async delete() {
101
+ if (this.isDestroyed) {
102
+ throw new Error("HubDiscussion is already destroyed.");
103
+ }
104
+ const { deleteDiscussion } = await Promise.resolve().then(() => require("./edit"));
105
+ this.isDestroyed = true;
106
+ // Delegate to module fn
107
+ await deleteDiscussion(this.entity.id, this.context.userRequestOptions);
108
+ }
109
+ }
110
+ exports.HubDiscussion = HubDiscussion;
111
+ //# sourceMappingURL=HubDiscussion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HubDiscussion.js","sourceRoot":"","sources":["../../../src/discussions/HubDiscussion.ts"],"names":[],"mappings":";;;AAAA,yCAAgD;AAIhD,yDAAsD;AACtD,mCAA0C;AAE1C;;GAEG;AAEH,MAAa,aACX,SAAQ,6BAA6B;IAGrC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CACb,IAA6B,EAC7B,OAAuB;QAEvB,6CAA6C;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,iBAA0C,EAC1C,OAAuB,EACvB,OAAgB,KAAK;QAErB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC5D,sCAAsC;QACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,IAAI,EAAE;YACR,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;SACvB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,UAAkB,EAClB,OAAuB;QAEvB,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,uBAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACzE,sDAAsD;YACtD,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAChD;QAAC,OAAO,EAAE,EAAE;YACX,MAAO,EAAY,CAAC,OAAO;gBACzB,oDAAoD;gBACpD,CAAC,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC;gBACpC,CAAC,CAAC,EAAE,CAAC;SACR;IACH,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,iBAA0C,EAC1C,OAAuB;QAEvB,+BAA+B;QAC/B,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;YAChC,iBAAiB,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;SACrD;QACD,uCAAuC;QACvC,MAAM,IAAI,GAAG,gCACR,6BAAkB,GAClB,iBAAiB,CACH,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAgC;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,qCAAqC;QACrC,IAAI,CAAC,MAAM,mCAAQ,IAAI,CAAC,MAAM,GAAK,OAAO,CAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YAClB,MAAM,EAAE,gBAAgB,EAAE,GAAG,2CAAa,QAAQ,EAAC,CAAC;YACpD,YAAY;YACZ,IAAI,CAAC,MAAM,GAAG,MAAM,gBAAgB,CAClC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;SACH;aAAM;YACL,MAAM,EAAE,gBAAgB,EAAE,GAAG,2CAAa,QAAQ,EAAC,CAAC;YACpD,YAAY;YACZ,IAAI,CAAC,MAAM,GAAG,MAAM,gBAAgB,CAClC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;SACH;QAED,yCAAyC;QACzC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;QAExB,OAAO;IACT,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,MAAM,EAAE,gBAAgB,EAAE,GAAG,2CAAa,QAAQ,EAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,wBAAwB;QACxB,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1E,CAAC;CACF;AAnID,sCAmIC"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DiscussionPermissionPolicies = exports.DiscussionPermissions = exports.DiscussionCapabilityPermissions = exports.DiscussionDefaultCapabilities = void 0;
4
+ /**
5
+ * Default capabilities for a Discussion. If not listed here, the capability will not be available
6
+ * This hash is combined with the capabilities hash stored in the item data. Regardless of what
7
+ * properties are defined in the item data, only the capabilities defined here will be available
8
+ * @private
9
+ */
10
+ exports.DiscussionDefaultCapabilities = {
11
+ overview: true,
12
+ details: true,
13
+ settings: true,
14
+ };
15
+ /**
16
+ * List of all the Discussion Capability Permissions
17
+ * These are considered Hub Business Rules and are not intended
18
+ * to be modified by consumers
19
+ * @private
20
+ */
21
+ exports.DiscussionCapabilityPermissions = [
22
+ {
23
+ entity: "discussion",
24
+ capability: "overview",
25
+ permissions: ["hub:discussion:view"],
26
+ },
27
+ {
28
+ entity: "discussion",
29
+ capability: "details",
30
+ permissions: ["hub:discussion:edit"],
31
+ },
32
+ {
33
+ entity: "discussion",
34
+ capability: "settings",
35
+ permissions: ["hub:discussion:edit"],
36
+ },
37
+ ];
38
+ /**
39
+ * Discussion Permission Policies
40
+ * These define the requirements any user must meet to perform related actions
41
+ * @private
42
+ */
43
+ exports.DiscussionPermissions = [
44
+ "hub:discussion:create",
45
+ "hub:discussion:delete",
46
+ "hub:discussion:edit",
47
+ "hub:discussion:view",
48
+ ];
49
+ /**
50
+ * Discussion permission policies
51
+ * @private
52
+ */
53
+ exports.DiscussionPermissionPolicies = [
54
+ {
55
+ permission: "hub:discussion:create",
56
+ subsystems: ["discussions"],
57
+ authenticated: true,
58
+ privileges: ["portal:user:createItem"],
59
+ licenses: ["hub-premium"],
60
+ },
61
+ {
62
+ permission: "hub:discussion:view",
63
+ subsystems: ["discussions"],
64
+ authenticated: false,
65
+ licenses: ["hub-premium"],
66
+ },
67
+ {
68
+ permission: "hub:discussion:edit",
69
+ authenticated: true,
70
+ subsystems: ["discussions"],
71
+ entityEdit: true,
72
+ licenses: ["hub-premium"],
73
+ },
74
+ {
75
+ permission: "hub:discussion:delete",
76
+ authenticated: true,
77
+ subsystems: ["discussions"],
78
+ entityOwner: true,
79
+ licenses: ["hub-premium"],
80
+ },
81
+ ];
82
+ //# sourceMappingURL=DiscussionBusinessRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscussionBusinessRules.js","sourceRoot":"","sources":["../../../../src/discussions/_internal/DiscussionBusinessRules.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACU,QAAA,6BAA6B,GAAuB;IAC/D,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF;;;;;GAKG;AACU,QAAA,+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;AACU,QAAA,qBAAqB,GAAG;IACnC,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,qBAAqB;CACb,CAAC;AAEX;;;GAGG;AACU,QAAA,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,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeProps = void 0;
4
+ const resources_1 = require("../../resources");
5
+ const DiscussionBusinessRules_1 = require("./DiscussionBusinessRules");
6
+ const capabilities_1 = require("../../capabilities");
7
+ /**
8
+ * Given a model and a Discussion, set various computed properties that can't be directly mapped
9
+ * @private
10
+ * @param model
11
+ * @param discussion
12
+ * @param requestOptions
13
+ * @returns an IHubDiscussion
14
+ */
15
+ function computeProps(model, discussion, requestOptions) {
16
+ var _a, _b;
17
+ let token;
18
+ if (requestOptions.authentication) {
19
+ const session = requestOptions.authentication;
20
+ token = session.token;
21
+ }
22
+ // thumbnail url
23
+ discussion.thumbnailUrl = resources_1.getItemThumbnailUrl(model.item, requestOptions, token);
24
+ // Handle Dates
25
+ discussion.createdDate = new Date(model.item.created);
26
+ discussion.createdDateSource = "item.created";
27
+ discussion.updatedDate = new Date(model.item.modified);
28
+ discussion.updatedDateSource = "item.modified";
29
+ // Handle capabilities
30
+ discussion.capabilities = capabilities_1.processEntityCapabilities(((_b = (_a = model.data) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.capabilities) || {}, DiscussionBusinessRules_1.DiscussionDefaultCapabilities);
31
+ // cast b/c this takes a partial but returns a full object
32
+ return discussion;
33
+ }
34
+ exports.computeProps = computeProps;
35
+ //# sourceMappingURL=computeProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/discussions/_internal/computeProps.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AAEtD,uEAA0E;AAE1E,qDAA+D;AAE/D;;;;;;;GAOG;AACH,SAAgB,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,+BAAmB,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,wCAAyB,CACjD,aAAA,KAAK,CAAC,IAAI,0CAAE,QAAQ,0CAAE,YAAY,KAAI,EAAE,EACxC,uDAA6B,CAC9B,CAAC;IAEF,0DAA0D;IAC1D,OAAO,UAA4B,CAAC;AACtC,CAAC;AA/BD,oCA+BC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPropertyMap = void 0;
4
+ const getBasePropertyMap_1 = require("../../core/_internal/getBasePropertyMap");
5
+ /**
6
+ * Returns an Array of IPropertyMap objects
7
+ * that define the projection of properties from a IModel to an IHubDiscussion
8
+ * @returns an IPropertyMap array
9
+ * @private
10
+ */
11
+ function getPropertyMap() {
12
+ const map = getBasePropertyMap_1.getBasePropertyMap();
13
+ // Type specific mappings
14
+ return map;
15
+ }
16
+ exports.getPropertyMap = getPropertyMap;
17
+ //# sourceMappingURL=getPropertyMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/discussions/_internal/getPropertyMap.ts"],"names":[],"mappings":";;;AACA,gFAA6E;AAE7E;;;;;GAKG;AAEH,SAAgB,cAAc;IAC5B,MAAM,GAAG,GAAG,uCAAkB,EAAE,CAAC;IAEjC,yBAAyB;IAEzB,OAAO,GAAG,CAAC;AACb,CAAC;AAND,wCAMC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_DISCUSSION_MODEL = exports.DEFAULT_DISCUSSION = exports.HUB_DISCUSSION_ITEM_TYPE = void 0;
4
+ exports.HUB_DISCUSSION_ITEM_TYPE = "Discussion";
5
+ /**
6
+ * Default values of a IHubDiscussion
7
+ */
8
+ exports.DEFAULT_DISCUSSION = {
9
+ name: "No title provided",
10
+ tags: [],
11
+ typeKeywords: ["Hub Discussion"],
12
+ permissions: [],
13
+ schemaVersion: 1,
14
+ };
15
+ /**
16
+ * Default values for a new HubDiscussion Model
17
+ */
18
+ exports.DEFAULT_DISCUSSION_MODEL = {
19
+ item: {
20
+ type: exports.HUB_DISCUSSION_ITEM_TYPE,
21
+ title: "No Title Provided",
22
+ description: "No Description Provided",
23
+ snippet: "",
24
+ tags: [],
25
+ typeKeywords: ["Hub Discussion"],
26
+ properties: {
27
+ slug: "",
28
+ schemaVersion: 1,
29
+ },
30
+ },
31
+ data: {},
32
+ };
33
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/discussions/defaults.ts"],"names":[],"mappings":";;;AAGa,QAAA,wBAAwB,GAAG,YAAY,CAAC;AAErD;;GAEG;AACU,QAAA,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;AACU,QAAA,wBAAwB,GAAW;IAC9C,IAAI,EAAE;QACJ,IAAI,EAAE,gCAAwB;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"}