@esri/hub-common 12.10.0 → 12.12.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 (91) 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/node/capabilities/getWorkspaceCapabilities.js +2 -0
  38. package/dist/node/capabilities/getWorkspaceCapabilities.js.map +1 -1
  39. package/dist/node/core/HubItemEntity.js +7 -0
  40. package/dist/node/core/HubItemEntity.js.map +1 -1
  41. package/dist/node/core/_internal/getBasePropertyMap.js +1 -0
  42. package/dist/node/core/_internal/getBasePropertyMap.js.map +1 -1
  43. package/dist/node/core/fetchHubEntity.js +4 -0
  44. package/dist/node/core/fetchHubEntity.js.map +1 -1
  45. package/dist/node/core/getTypeFromEntity.js +3 -0
  46. package/dist/node/core/getTypeFromEntity.js.map +1 -1
  47. package/dist/node/core/types/IHubDiscussion.js +3 -0
  48. package/dist/node/core/types/IHubDiscussion.js.map +1 -0
  49. package/dist/node/core/types/index.js +1 -0
  50. package/dist/node/core/types/index.js.map +1 -1
  51. package/dist/node/discussions/HubDiscussion.js +111 -0
  52. package/dist/node/discussions/HubDiscussion.js.map +1 -0
  53. package/dist/node/discussions/_internal/DiscussionBusinessRules.js +82 -0
  54. package/dist/node/discussions/_internal/DiscussionBusinessRules.js.map +1 -0
  55. package/dist/node/discussions/_internal/computeProps.js +35 -0
  56. package/dist/node/discussions/_internal/computeProps.js.map +1 -0
  57. package/dist/node/discussions/_internal/getPropertyMap.js +17 -0
  58. package/dist/node/discussions/_internal/getPropertyMap.js.map +1 -0
  59. package/dist/node/discussions/defaults.js +33 -0
  60. package/dist/node/discussions/defaults.js.map +1 -0
  61. package/dist/node/discussions/edit.js +88 -0
  62. package/dist/node/discussions/edit.js.map +1 -0
  63. package/dist/node/discussions/fetch.js +49 -0
  64. package/dist/node/discussions/fetch.js.map +1 -0
  65. package/dist/node/discussions/index.js +7 -0
  66. package/dist/node/discussions/index.js.map +1 -0
  67. package/dist/node/index.js +1 -0
  68. package/dist/node/index.js.map +1 -1
  69. package/dist/node/permissions/HubPermissionPolicies.js +2 -0
  70. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
  71. package/dist/node/permissions/types/Permission.js +2 -0
  72. package/dist/node/permissions/types/Permission.js.map +1 -1
  73. package/dist/types/content/_internal.d.ts +1 -0
  74. package/dist/types/core/HubItemEntity.d.ts +5 -0
  75. package/dist/types/core/types/HubEntityType.d.ts +1 -1
  76. package/dist/types/core/types/IHubDiscussion.d.ts +8 -0
  77. package/dist/types/core/types/IHubItemEntity.d.ts +4 -0
  78. package/dist/types/core/types/IHubLocation.d.ts +7 -3
  79. package/dist/types/core/types/index.d.ts +1 -0
  80. package/dist/types/core/types/types.d.ts +7 -0
  81. package/dist/types/discussions/HubDiscussion.d.ts +44 -0
  82. package/dist/types/discussions/_internal/DiscussionBusinessRules.d.ts +27 -0
  83. package/dist/types/discussions/_internal/computeProps.d.ts +12 -0
  84. package/dist/types/discussions/_internal/getPropertyMap.d.ts +8 -0
  85. package/dist/types/discussions/defaults.d.ts +11 -0
  86. package/dist/types/discussions/edit.d.ts +29 -0
  87. package/dist/types/discussions/fetch.d.ts +20 -0
  88. package/dist/types/discussions/index.d.ts +3 -0
  89. package/dist/types/index.d.ts +1 -0
  90. package/dist/types/permissions/types/Permission.d.ts +2 -2
  91. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/discussions/fetch.ts"],"names":[],"mappings":";;;AACA,iEAA0D;AAE1D,sCAA+C;AAC/C,0CAA+C;AAC/C,oCAAkC;AAClC,qEAAkE;AAClE,+DAA4D;AAC5D,2DAAwD;AAExD;;;;;;GAMG;AACI,KAAK,UAAU,eAAe,CACnC,UAAkB,EAClB,cAA+B;IAE/B,IAAI,OAAO,CAAC;IACZ,IAAI,cAAM,CAAC,UAAU,CAAC,EAAE;QACtB,iBAAiB;QACjB,OAAO,GAAG,4BAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;KAC/C;SAAM;QACL,OAAO,GAAG,qBAAa,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;AAfD,0CAeC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,uBAAuB,CAC3C,IAAW,EACX,cAA+B;IAE/B,MAAM,KAAK,GAAG,MAAM,2BAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,+BAAc,CAA0B,+BAAc,EAAE,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAmB,CAAC;IACrE,OAAO,2BAAY,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;AACzD,CAAC;AARD,0DAQC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./HubDiscussion"), exports);
5
+ tslib_1.__exportStar(require("./edit"), exports);
6
+ tslib_1.__exportStar(require("./fetch"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/discussions/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,iDAAuB;AACvB,kDAAwB"}
@@ -19,6 +19,7 @@ tslib_1.__exportStar(require("./extent"), exports);
19
19
  tslib_1.__exportStar(require("./groups"), exports);
20
20
  tslib_1.__exportStar(require("./i18n"), exports);
21
21
  tslib_1.__exportStar(require("./initiatives"), exports);
22
+ tslib_1.__exportStar(require("./discussions"), exports);
22
23
  tslib_1.__exportStar(require("./items"), exports);
23
24
  tslib_1.__exportStar(require("./models"), exports);
24
25
  tslib_1.__exportStar(require("./objects"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;gBACgB;AAChB,0BAA0B;;;;AAE1B,mDAAyB;AACzB,gDAAsB;AACtB,0DAAgC;AAChC,iEAAuC;AACvC,iDAAuB;AACvB,uDAA6B;AAC7B,oDAA0B;AAC1B,iDAAuB;AACvB,yDAA+B;AAC/B,sDAA4B;AAC5B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,wDAA8B;AAC9B,kDAAwB;AACxB,mDAAyB;AACzB,oDAA0B;AAC1B,gDAAsB;AACtB,kDAAwB;AACxB,wDAA8B;AAC9B,qDAA2B;AAC3B,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,uDAA6B;AAE7B,qDAA8C;AAKrC,yBALF,wBAAc,CAKE;AAJvB,qDAA8C;AAIrB,yBAJlB,wBAAc,CAIkB;AAHvC,yCAAkC;AAGO,mBAHlC,kBAAQ,CAGkC;AACjD,6BAAkC;AAAzB,4FAAA,IAAI,OAAA;AAAE,4FAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;gBACgB;AAChB,0BAA0B;;;;AAE1B,mDAAyB;AACzB,gDAAsB;AACtB,0DAAgC;AAChC,iEAAuC;AACvC,iDAAuB;AACvB,uDAA6B;AAC7B,oDAA0B;AAC1B,iDAAuB;AACvB,yDAA+B;AAC/B,sDAA4B;AAC5B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,wDAA8B;AAC9B,wDAA8B;AAC9B,kDAAwB;AACxB,mDAAyB;AACzB,oDAA0B;AAC1B,gDAAsB;AACtB,kDAAwB;AACxB,wDAA8B;AAC9B,qDAA2B;AAC3B,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,uDAA6B;AAE7B,qDAA8C;AAKrC,yBALF,wBAAc,CAKE;AAJvB,qDAA8C;AAIrB,yBAJlB,wBAAc,CAIkB;AAHvC,yCAAkC;AAGO,mBAHlC,kBAAQ,CAGkC;AACjD,6BAAkC;AAAzB,4FAAA,IAAI,OAAA;AAAE,4FAAA,IAAI,OAAA"}
@@ -4,6 +4,7 @@ exports.getPermissionPolicy = exports.HubPermissionsPolicies = void 0;
4
4
  const InitiativeBusinessRules_1 = require("../initiatives/_internal/InitiativeBusinessRules");
5
5
  const ProjectBusinessRules_1 = require("../projects/_internal/ProjectBusinessRules");
6
6
  const SiteBusinessRules_1 = require("../sites/_internal/SiteBusinessRules");
7
+ const DiscussionBusinessRules_1 = require("../discussions/_internal/DiscussionBusinessRules");
7
8
  // Examples of possible Permission Policies
8
9
  // const DiscussionPermissionPolicies: IPermissionPolicy[] = [
9
10
  // {
@@ -64,6 +65,7 @@ exports.HubPermissionsPolicies = [
64
65
  ...SiteBusinessRules_1.SitesPermissionPolicies,
65
66
  ...ProjectBusinessRules_1.ProjectPermissionPolicies,
66
67
  ...InitiativeBusinessRules_1.InitiativePermissionPolicies,
68
+ ...DiscussionBusinessRules_1.DiscussionPermissionPolicies,
67
69
  ];
68
70
  /**
69
71
  * Get the policies defined for a specific permission
@@ -1 +1 @@
1
- {"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":";;;AAAA,8FAAgG;AAChG,qFAAuF;AACvF,4EAA+E;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;AACU,QAAA,sBAAsB,GAAwB;IACzD,GAAG,2CAAuB;IAC1B,GAAG,gDAAyB;IAC5B,GAAG,sDAA4B;CAChC,CAAC;AAEF;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,UAAsB;IACxD,OAAO,8BAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AACzE,CAAC;AAFD,kDAEC"}
1
+ {"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":";;;AAAA,8FAAgG;AAChG,qFAAuF;AACvF,4EAA+E;AAC/E,8FAAgG;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;AACU,QAAA,sBAAsB,GAAwB;IACzD,GAAG,2CAAuB;IAC1B,GAAG,gDAAyB;IAC5B,GAAG,sDAA4B;IAC/B,GAAG,sDAA4B;CAChC,CAAC;AAEF;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,UAAsB;IACxD,OAAO,8BAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AACzE,CAAC;AAFD,kDAEC"}
@@ -4,6 +4,7 @@ exports.isPermission = void 0;
4
4
  const ProjectBusinessRules_1 = require("../../projects/_internal/ProjectBusinessRules");
5
5
  const SiteBusinessRules_1 = require("../../sites/_internal/SiteBusinessRules");
6
6
  const InitiativeBusinessRules_1 = require("../../initiatives/_internal/InitiativeBusinessRules");
7
+ const DiscussionBusinessRules_1 = require("../../discussions/_internal/DiscussionBusinessRules");
7
8
  /**
8
9
  * Defines the values for Permissions
9
10
  * It's critical that the arrays defined in the modules use `as const`
@@ -13,6 +14,7 @@ const validPermissions = [
13
14
  ...SiteBusinessRules_1.SitePermissions,
14
15
  ...ProjectBusinessRules_1.ProjectPermissions,
15
16
  ...InitiativeBusinessRules_1.InitiativePermissions,
17
+ ...DiscussionBusinessRules_1.DiscussionPermissions,
16
18
  ];
17
19
  /**
18
20
  * Validate a Permission
@@ -1 +1 @@
1
- {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AACnF,+EAA0E;AAC1E,iGAA4F;AAE5F;;;;GAIG;AACH,MAAM,gBAAgB,GAAG;IACvB,GAAG,mCAAe;IAClB,GAAG,yCAAkB;IACrB,GAAG,+CAAqB;CAChB,CAAC;AAOX;;;;GAIG;AACH,SAAgB,YAAY,CAAC,eAAuB;IAClD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AAClE,CAAC;AAFD,oCAEC"}
1
+ {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AACnF,+EAA0E;AAC1E,iGAA4F;AAC5F,iGAA4F;AAE5F;;;;GAIG;AACH,MAAM,gBAAgB,GAAG;IACvB,GAAG,mCAAe;IAClB,GAAG,yCAAkB;IACrB,GAAG,+CAAqB;IACxB,GAAG,+CAAqB;CAChB,CAAC;AAOX;;;;GAIG;AACH,SAAgB,YAAY,CAAC,eAAuB;IAClD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AAClE,CAAC;AAFD,oCAEC"}
@@ -76,6 +76,7 @@ export declare const setContentBoundary: (content: IHubContent, boundary: Geogra
76
76
  url?: string;
77
77
  id: string;
78
78
  itemControl: string;
79
+ orgId?: string;
79
80
  access?: import("../core").AccessLevel;
80
81
  culture?: string;
81
82
  description?: string;
@@ -76,6 +76,11 @@ export declare abstract class HubItemEntity<T extends IHubItemEntity> implements
76
76
  * @returns
77
77
  */
78
78
  get canDelete(): boolean;
79
+ /**
80
+ * The orgId of the Entity, if available
81
+ * @returns the entity orgId, when available
82
+ */
83
+ get orgId(): string;
79
84
  /**
80
85
  * Share the Entity with the specified group id
81
86
  * @param groupId
@@ -1 +1 @@
1
- export declare type HubEntityType = "site" | "project" | "initiative" | "page";
1
+ export declare type HubEntityType = "site" | "project" | "initiative" | "page" | "discussion";
@@ -0,0 +1,8 @@
1
+ import { IWithPermissions, IWithSlug } from "../traits";
2
+ import { IHubItemEntity } from "./IHubItemEntity";
3
+ /**
4
+ * DRAFT: Under development and more properties will likely be added
5
+ * @internal
6
+ */
7
+ export interface IHubDiscussion extends IHubItemEntity, IWithSlug, IWithPermissions {
8
+ }
@@ -81,4 +81,8 @@ export interface IHubItemEntity extends IHubEntityBase, IWithPermissions {
81
81
  */
82
82
  canDelete: boolean;
83
83
  location?: IHubLocation;
84
+ /**
85
+ * The orgId of the Entity, if available
86
+ */
87
+ orgId?: string;
84
88
  }
@@ -1,13 +1,17 @@
1
+ /// <reference types="arcgis-js-api" />
1
2
  import { ISpatialReference } from "@esri/arcgis-rest-types";
3
+ import { IHubLocationType } from "./types";
2
4
  /**
3
5
  * A location associated with an item and stored as a json resource.
4
6
  */
5
7
  export interface IHubLocation {
6
- provenance: "none" | "custom" | "existing";
7
- center?: number[];
8
+ type: IHubLocationType;
8
9
  spatialReference?: ISpatialReference;
9
- orgSpatialReference?: ISpatialReference;
10
10
  extent?: number[][];
11
+ geometries?: __esri.Geometry[];
12
+ provenance?: "none" | "custom" | "existing";
13
+ center?: number[];
14
+ orgSpatialReference?: ISpatialReference;
11
15
  graphic?: any;
12
16
  geoJson?: any;
13
17
  }
@@ -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";
@@ -13,3 +13,10 @@ export declare type AccessLevel = SettableAccessLevel | "shared";
13
13
  export declare const EntityResourceMap: {
14
14
  [key: string]: string;
15
15
  };
16
+ /**
17
+ * Where did the location come from originally?
18
+ * This is used in the location picker component to determine
19
+ * what source was used. The values are used in IHubLocation.type.
20
+ * Please note that adding more values will require changes in the location picker
21
+ */
22
+ export declare type IHubLocationType = "none" | "custom" | "org" | "item";
@@ -0,0 +1,44 @@
1
+ import { IWithSharingBehavior, IWithStoreBehavior } from "../core/behaviors";
2
+ import { IArcGISContext } from "../ArcGISContext";
3
+ import { IHubDiscussion } from "../core/types";
4
+ import { HubItemEntity } from "../core/HubItemEntity";
5
+ /**
6
+ * Hub Discussion Class
7
+ */
8
+ export declare class HubDiscussion extends HubItemEntity<IHubDiscussion> implements IWithStoreBehavior<IHubDiscussion>, IWithSharingBehavior {
9
+ /**
10
+ * Create an instance from an IHubDiscussion object
11
+ * @param json JSON object to create a HubDiscussion from
12
+ * @param context ArcGIS context
13
+ * @returns a HubDiscussion
14
+ */
15
+ static fromJson(json: Partial<IHubDiscussion>, context: IArcGISContext): HubDiscussion;
16
+ /**
17
+ * Create a new HubDiscussion, returning a HubDiscussion instance.
18
+ * Note: This does not persist the Discussion into the backing store
19
+ * @param partialDiscussion a partial IHubDiscussion
20
+ * @param context ArcGIS context
21
+ * @returns promise that resolves a HubDiscussion
22
+ */
23
+ static create(partialDiscussion: Partial<IHubDiscussion>, context: IArcGISContext, save?: boolean): Promise<HubDiscussion>;
24
+ /**
25
+ * Fetch a Discussion from the backing store and return a HubDiscussion instance.
26
+ * @param identifier slug or item id
27
+ * @param context ArcGIS context
28
+ * @returns promise that resolves a HubDiscussion
29
+ */
30
+ static fetch(identifier: string, context: IArcGISContext): Promise<HubDiscussion>;
31
+ private static applyDefaults;
32
+ /**
33
+ * Apply a new state to the instance
34
+ * @param changes A partial IHubDiscussion
35
+ */
36
+ update(changes: Partial<IHubDiscussion>): void;
37
+ save(): Promise<void>;
38
+ /**
39
+ * Delete the HubDiscussion from the store
40
+ * set a flag to indicate that it is destroyed
41
+ * @returns a promise
42
+ */
43
+ delete(): Promise<void>;
44
+ }
@@ -0,0 +1,27 @@
1
+ import { EntityCapabilities, ICapabilityPermission } from "../../capabilities";
2
+ import { IPermissionPolicy } from "../../permissions";
3
+ /**
4
+ * Default capabilities for a Discussion. If not listed here, the capability will not be available
5
+ * This hash is combined with the capabilities hash stored in the item data. Regardless of what
6
+ * properties are defined in the item data, only the capabilities defined here will be available
7
+ * @private
8
+ */
9
+ export declare const DiscussionDefaultCapabilities: EntityCapabilities;
10
+ /**
11
+ * List of all the Discussion Capability Permissions
12
+ * These are considered Hub Business Rules and are not intended
13
+ * to be modified by consumers
14
+ * @private
15
+ */
16
+ export declare const DiscussionCapabilityPermissions: ICapabilityPermission[];
17
+ /**
18
+ * Discussion Permission Policies
19
+ * These define the requirements any user must meet to perform related actions
20
+ * @private
21
+ */
22
+ export declare const DiscussionPermissions: readonly ["hub:discussion:create", "hub:discussion:delete", "hub:discussion:edit", "hub:discussion:view"];
23
+ /**
24
+ * Discussion permission policies
25
+ * @private
26
+ */
27
+ export declare const DiscussionPermissionPolicies: IPermissionPolicy[];
@@ -0,0 +1,12 @@
1
+ import { IRequestOptions } from "@esri/arcgis-rest-request";
2
+ import { IModel } from "../../types";
3
+ import { IHubDiscussion } from "../../core";
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 declare function computeProps(model: IModel, discussion: Partial<IHubDiscussion>, requestOptions: IRequestOptions): IHubDiscussion;
@@ -0,0 +1,8 @@
1
+ import { IPropertyMap } from "../../core/_internal/PropertyMapper";
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 declare function getPropertyMap(): IPropertyMap[];
@@ -0,0 +1,11 @@
1
+ import { IHubDiscussion } from "../core/types";
2
+ import { IModel } from "../types";
3
+ export declare const HUB_DISCUSSION_ITEM_TYPE = "Discussion";
4
+ /**
5
+ * Default values of a IHubDiscussion
6
+ */
7
+ export declare const DEFAULT_DISCUSSION: Partial<IHubDiscussion>;
8
+ /**
9
+ * Default values for a new HubDiscussion Model
10
+ */
11
+ export declare const DEFAULT_DISCUSSION_MODEL: IModel;
@@ -0,0 +1,29 @@
1
+ import { IUserRequestOptions } from "@esri/arcgis-rest-auth";
2
+ import { IHubDiscussion } from "../core/types";
3
+ /**
4
+ * @private
5
+ * Create a new Hub Discussion item
6
+ *
7
+ * Minimal properties are name and orgUrlKey
8
+ *
9
+ * @param partialDiscussion a partial discussion
10
+ * @param requestOptions user request options
11
+ * @returns promise that resolves a IHubDiscussion
12
+ */
13
+ export declare function createDiscussion(partialDiscussion: Partial<IHubDiscussion>, requestOptions: IUserRequestOptions): Promise<IHubDiscussion>;
14
+ /**
15
+ * @private
16
+ * Update a Hub Discussion
17
+ * @param discussion the discussion to update
18
+ * @param requestOptions user request options
19
+ * @returns promise that resolves a IHubDiscussion
20
+ */
21
+ export declare function updateDiscussion(discussion: IHubDiscussion, requestOptions: IUserRequestOptions): Promise<IHubDiscussion>;
22
+ /**
23
+ * @private
24
+ * Remove a Hub Discussion
25
+ * @param id the discussion item id
26
+ * @param requestOptions request options
27
+ * @returns a promise
28
+ */
29
+ export declare function deleteDiscussion(id: string, requestOptions: IUserRequestOptions): Promise<void>;
@@ -0,0 +1,20 @@
1
+ import { IRequestOptions } from "@esri/arcgis-rest-request";
2
+ import { IItem } from "@esri/arcgis-rest-portal";
3
+ import { IHubDiscussion } from "../core/types";
4
+ /**
5
+ * @private
6
+ * Get a Discussion by id or slug
7
+ * @param identifier item id or slug
8
+ * @param requestOptions request options
9
+ * @returns a promise that resolves a IHubDiscussion
10
+ */
11
+ export declare function fetchDiscussion(identifier: string, requestOptions: IRequestOptions): Promise<IHubDiscussion>;
12
+ /**
13
+ * @private
14
+ * Convert a Hub Discussion Item into a Hub Discussion, fetching any additional
15
+ * information that may be required
16
+ * @param item the discussion item
17
+ * @param auth request options
18
+ * @returns a promise that resolves a IHubDiscussion
19
+ */
20
+ export declare function convertItemToDiscussion(item: IItem, requestOptions: IRequestOptions): Promise<IHubDiscussion>;
@@ -0,0 +1,3 @@
1
+ export * from "./HubDiscussion";
2
+ export * from "./edit";
3
+ export * from "./fetch";
@@ -12,6 +12,7 @@ export * from "./extent";
12
12
  export * from "./groups";
13
13
  export * from "./i18n";
14
14
  export * from "./initiatives";
15
+ export * from "./discussions";
15
16
  export * from "./items";
16
17
  export * from "./models";
17
18
  export * from "./objects";
@@ -3,11 +3,11 @@
3
3
  * It's critical that the arrays defined in the modules use `as const`
4
4
  * otherwise Permission devolves into just a string type
5
5
  */
6
- declare const validPermissions: readonly ["hub:site:create", "hub:site:delete", "hub:site:edit", "hub:site:view", "hub:project:create", "hub:project:delete", "hub:project:edit", "hub:project:view", "hub:initiative:create", "hub:initiative:delete", "hub:initiative:edit", "hub:initiative:view"];
6
+ declare const validPermissions: readonly ["hub:site:create", "hub:site:delete", "hub:site:edit", "hub:site:view", "hub:project:create", "hub:project:delete", "hub:project:edit", "hub:project:view", "hub:initiative:create", "hub:initiative:delete", "hub:initiative:edit", "hub:initiative:view", "hub:discussion:create", "hub:discussion:delete", "hub:discussion:edit", "hub:discussion:view"];
7
7
  /**
8
8
  * Defines the possible values for Permissions
9
9
  */
10
- export declare type Permission = typeof validPermissions[number];
10
+ export declare type Permission = (typeof validPermissions)[number];
11
11
  /**
12
12
  * Validate a Permission
13
13
  * @param permission
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "12.10.0",
3
+ "version": "12.12.0",
4
4
  "description": "Common TypeScript types and utility functions for @esri/hub.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/esm/index.js",