@esri/hub-common 15.41.3 → 15.42.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 (156) hide show
  1. package/dist/esm/channels/HubChannel.js +173 -0
  2. package/dist/esm/channels/HubChannel.js.map +1 -0
  3. package/dist/esm/channels/_internal/ChannelBusinessRules.js +39 -0
  4. package/dist/esm/channels/_internal/ChannelBusinessRules.js.map +1 -0
  5. package/dist/esm/channels/_internal/ChannelSchema.js +198 -0
  6. package/dist/esm/channels/_internal/ChannelSchema.js.map +1 -0
  7. package/dist/esm/channels/_internal/ChannelUiSchemaCreate.js +288 -0
  8. package/dist/esm/channels/_internal/ChannelUiSchemaCreate.js.map +1 -0
  9. package/dist/esm/channels/_internal/ChannelUiSchemaEdit.js +20 -0
  10. package/dist/esm/channels/_internal/ChannelUiSchemaEdit.js.map +1 -0
  11. package/dist/esm/channels/_internal/buildDefaultChannel.js +26 -0
  12. package/dist/esm/channels/_internal/buildDefaultChannel.js.map +1 -0
  13. package/dist/esm/channels/_internal/transformAclPermissionToEntityPermissionPolicy.js +49 -0
  14. package/dist/esm/channels/_internal/transformAclPermissionToEntityPermissionPolicy.js.map +1 -0
  15. package/dist/esm/channels/_internal/transformChannelToEntity.js +61 -0
  16. package/dist/esm/channels/_internal/transformChannelToEntity.js.map +1 -0
  17. package/dist/esm/channels/_internal/transformEditorToEntity.js +22 -0
  18. package/dist/esm/channels/_internal/transformEditorToEntity.js.map +1 -0
  19. package/dist/esm/channels/_internal/transformEntityPermissionPoliciesToFormValues.js +164 -0
  20. package/dist/esm/channels/_internal/transformEntityPermissionPoliciesToFormValues.js.map +1 -0
  21. package/dist/esm/channels/_internal/transformEntityToChannelData.js +69 -0
  22. package/dist/esm/channels/_internal/transformEntityToChannelData.js.map +1 -0
  23. package/dist/esm/channels/_internal/transformEntityToEditor.js +20 -0
  24. package/dist/esm/channels/_internal/transformEntityToEditor.js.map +1 -0
  25. package/dist/esm/channels/_internal/transformFormValuesToEntityPermissionPolicies.js +68 -0
  26. package/dist/esm/channels/_internal/transformFormValuesToEntityPermissionPolicies.js.map +1 -0
  27. package/dist/esm/channels/edit.js +35 -0
  28. package/dist/esm/channels/edit.js.map +1 -0
  29. package/dist/esm/channels/fetch.js +14 -0
  30. package/dist/esm/channels/fetch.js.map +1 -0
  31. package/dist/esm/channels/index.js +4 -0
  32. package/dist/esm/channels/index.js.map +1 -0
  33. package/dist/esm/core/EntityEditor.js +4 -0
  34. package/dist/esm/core/EntityEditor.js.map +1 -1
  35. package/dist/esm/core/fetchHubEntity.js +4 -0
  36. package/dist/esm/core/fetchHubEntity.js.map +1 -1
  37. package/dist/esm/core/getTypeFromEntity.js +3 -0
  38. package/dist/esm/core/getTypeFromEntity.js.map +1 -1
  39. package/dist/esm/core/schemas/internal/getEditorSchemas.js +16 -0
  40. package/dist/esm/core/schemas/internal/getEditorSchemas.js.map +1 -1
  41. package/dist/esm/core/schemas/shared/CatalogSchema.js +2 -0
  42. package/dist/esm/core/schemas/shared/CatalogSchema.js.map +1 -1
  43. package/dist/esm/core/schemas/types.js +2 -0
  44. package/dist/esm/core/schemas/types.js.map +1 -1
  45. package/dist/esm/core/types/HubEntityType.js +1 -0
  46. package/dist/esm/core/types/HubEntityType.js.map +1 -1
  47. package/dist/esm/core/types/IHubChannel.js +1 -0
  48. package/dist/esm/core/types/IHubChannel.js.map +1 -0
  49. package/dist/esm/core/types/index.js +1 -0
  50. package/dist/esm/core/types/index.js.map +1 -1
  51. package/dist/esm/discussions/api/settings/getDefaultEntitySettings.js +1 -0
  52. package/dist/esm/discussions/api/settings/getDefaultEntitySettings.js.map +1 -1
  53. package/dist/esm/discussions/utils.js +3 -3
  54. package/dist/esm/discussions/utils.js.map +1 -1
  55. package/dist/esm/index.js +1 -0
  56. package/dist/esm/index.js.map +1 -1
  57. package/dist/esm/permissions/types/IEntityPermissionPolicy.js +13 -0
  58. package/dist/esm/permissions/types/IEntityPermissionPolicy.js.map +1 -1
  59. package/dist/esm/permissions/types/Permission.js +2 -0
  60. package/dist/esm/permissions/types/Permission.js.map +1 -1
  61. package/dist/esm/search/_internal/getEntityTypeFromType.js +1 -1
  62. package/dist/esm/search/_internal/getEntityTypeFromType.js.map +1 -1
  63. package/dist/esm/search/_internal/hubSearchChannels.js +5 -3
  64. package/dist/esm/search/_internal/hubSearchChannels.js.map +1 -1
  65. package/dist/node/channels/HubChannel.js +177 -0
  66. package/dist/node/channels/HubChannel.js.map +1 -0
  67. package/dist/node/channels/_internal/ChannelBusinessRules.js +42 -0
  68. package/dist/node/channels/_internal/ChannelBusinessRules.js.map +1 -0
  69. package/dist/node/channels/_internal/ChannelSchema.js +201 -0
  70. package/dist/node/channels/_internal/ChannelSchema.js.map +1 -0
  71. package/dist/node/channels/_internal/ChannelUiSchemaCreate.js +291 -0
  72. package/dist/node/channels/_internal/ChannelUiSchemaCreate.js.map +1 -0
  73. package/dist/node/channels/_internal/ChannelUiSchemaEdit.js +23 -0
  74. package/dist/node/channels/_internal/ChannelUiSchemaEdit.js.map +1 -0
  75. package/dist/node/channels/_internal/buildDefaultChannel.js +30 -0
  76. package/dist/node/channels/_internal/buildDefaultChannel.js.map +1 -0
  77. package/dist/node/channels/_internal/transformAclPermissionToEntityPermissionPolicy.js +52 -0
  78. package/dist/node/channels/_internal/transformAclPermissionToEntityPermissionPolicy.js.map +1 -0
  79. package/dist/node/channels/_internal/transformChannelToEntity.js +65 -0
  80. package/dist/node/channels/_internal/transformChannelToEntity.js.map +1 -0
  81. package/dist/node/channels/_internal/transformEditorToEntity.js +26 -0
  82. package/dist/node/channels/_internal/transformEditorToEntity.js.map +1 -0
  83. package/dist/node/channels/_internal/transformEntityPermissionPoliciesToFormValues.js +167 -0
  84. package/dist/node/channels/_internal/transformEntityPermissionPoliciesToFormValues.js.map +1 -0
  85. package/dist/node/channels/_internal/transformEntityToChannelData.js +73 -0
  86. package/dist/node/channels/_internal/transformEntityToChannelData.js.map +1 -0
  87. package/dist/node/channels/_internal/transformEntityToEditor.js +24 -0
  88. package/dist/node/channels/_internal/transformEntityToEditor.js.map +1 -0
  89. package/dist/node/channels/_internal/transformFormValuesToEntityPermissionPolicies.js +72 -0
  90. package/dist/node/channels/_internal/transformFormValuesToEntityPermissionPolicies.js.map +1 -0
  91. package/dist/node/channels/edit.js +41 -0
  92. package/dist/node/channels/edit.js.map +1 -0
  93. package/dist/node/channels/fetch.js +18 -0
  94. package/dist/node/channels/fetch.js.map +1 -0
  95. package/dist/node/channels/index.js +7 -0
  96. package/dist/node/channels/index.js.map +1 -0
  97. package/dist/node/core/EntityEditor.js +4 -0
  98. package/dist/node/core/EntityEditor.js.map +1 -1
  99. package/dist/node/core/fetchHubEntity.js +4 -0
  100. package/dist/node/core/fetchHubEntity.js.map +1 -1
  101. package/dist/node/core/getTypeFromEntity.js +3 -0
  102. package/dist/node/core/getTypeFromEntity.js.map +1 -1
  103. package/dist/node/core/schemas/internal/getEditorSchemas.js +16 -0
  104. package/dist/node/core/schemas/internal/getEditorSchemas.js.map +1 -1
  105. package/dist/node/core/schemas/shared/CatalogSchema.js +2 -0
  106. package/dist/node/core/schemas/shared/CatalogSchema.js.map +1 -1
  107. package/dist/node/core/schemas/types.js +2 -0
  108. package/dist/node/core/schemas/types.js.map +1 -1
  109. package/dist/node/core/types/HubEntityType.js +1 -0
  110. package/dist/node/core/types/HubEntityType.js.map +1 -1
  111. package/dist/node/core/types/IHubChannel.js +3 -0
  112. package/dist/node/core/types/IHubChannel.js.map +1 -0
  113. package/dist/node/core/types/index.js +1 -0
  114. package/dist/node/core/types/index.js.map +1 -1
  115. package/dist/node/discussions/api/settings/getDefaultEntitySettings.js +1 -0
  116. package/dist/node/discussions/api/settings/getDefaultEntitySettings.js.map +1 -1
  117. package/dist/node/discussions/utils.js +3 -3
  118. package/dist/node/discussions/utils.js.map +1 -1
  119. package/dist/node/index.js +1 -0
  120. package/dist/node/index.js.map +1 -1
  121. package/dist/node/permissions/types/IEntityPermissionPolicy.js +14 -0
  122. package/dist/node/permissions/types/IEntityPermissionPolicy.js.map +1 -1
  123. package/dist/node/permissions/types/Permission.js +2 -0
  124. package/dist/node/permissions/types/Permission.js.map +1 -1
  125. package/dist/node/search/_internal/getEntityTypeFromType.js +1 -1
  126. package/dist/node/search/_internal/getEntityTypeFromType.js.map +1 -1
  127. package/dist/node/search/_internal/hubSearchChannels.js +4 -2
  128. package/dist/node/search/_internal/hubSearchChannels.js.map +1 -1
  129. package/dist/types/channels/HubChannel.d.ts +105 -0
  130. package/dist/types/channels/_internal/ChannelBusinessRules.d.ts +19 -0
  131. package/dist/types/channels/_internal/ChannelSchema.d.ts +16 -0
  132. package/dist/types/channels/_internal/ChannelUiSchemaCreate.d.ts +10 -0
  133. package/dist/types/channels/_internal/ChannelUiSchemaEdit.d.ts +10 -0
  134. package/dist/types/channels/_internal/buildDefaultChannel.d.ts +8 -0
  135. package/dist/types/channels/_internal/transformAclPermissionToEntityPermissionPolicy.d.ts +11 -0
  136. package/dist/types/channels/_internal/transformChannelToEntity.d.ts +11 -0
  137. package/dist/types/channels/_internal/transformEditorToEntity.d.ts +8 -0
  138. package/dist/types/channels/_internal/transformEntityPermissionPoliciesToFormValues.d.ts +44 -0
  139. package/dist/types/channels/_internal/transformEntityToChannelData.d.ts +9 -0
  140. package/dist/types/channels/_internal/transformEntityToEditor.d.ts +9 -0
  141. package/dist/types/channels/_internal/transformFormValuesToEntityPermissionPolicies.d.ts +9 -0
  142. package/dist/types/channels/edit.d.ts +23 -0
  143. package/dist/types/channels/fetch.d.ts +9 -0
  144. package/dist/types/channels/index.d.ts +3 -0
  145. package/dist/types/content/_internal/internalContentUtils.d.ts +1 -1
  146. package/dist/types/content/get-family.d.ts +1 -1
  147. package/dist/types/core/EntityEditor.d.ts +1 -1
  148. package/dist/types/core/schemas/types.d.ts +2 -2
  149. package/dist/types/core/types/HubEntity.d.ts +3 -2
  150. package/dist/types/core/types/HubEntityType.d.ts +1 -1
  151. package/dist/types/core/types/IHubChannel.d.ts +91 -0
  152. package/dist/types/core/types/index.d.ts +1 -0
  153. package/dist/types/index.d.ts +1 -0
  154. package/dist/types/permissions/types/IEntityPermissionPolicy.d.ts +10 -2
  155. package/dist/types/permissions/types/Permission.d.ts +2 -1
  156. package/package.json +1 -1
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformChannelToEntity = void 0;
4
+ const channels_1 = require("../../discussions/api/utils/channels");
5
+ const transformAclPermissionToEntityPermissionPolicy_1 = require("./transformAclPermissionToEntityPermissionPolicy");
6
+ /**
7
+ * @private
8
+ * Transforms a given IChannel object to an IHubChannel object
9
+ * @param channel An IChannel object
10
+ * @param user The currently authenticated user
11
+ * @returns an IHubChannel object
12
+ */
13
+ function transformChannelToEntity(channel, user) {
14
+ return {
15
+ access: channel.access,
16
+ id: channel.id,
17
+ name: channel.name,
18
+ createdDate: new Date(channel.createdAt),
19
+ createdDateSource: "channel.createdAt",
20
+ updatedDate: new Date(channel.updatedAt),
21
+ updatedDateSource: "channel.updatedAt",
22
+ type: "Channel",
23
+ source: channel.creator,
24
+ links: {
25
+ thumbnail: null,
26
+ self: null,
27
+ siteRelative: null,
28
+ siteRelativeEntityType: null,
29
+ workspaceRelative: null,
30
+ layoutRelative: null,
31
+ },
32
+ blockWords: channel.blockWords,
33
+ permissions: channel.channelAcl.map((channelAclPermission) => transformAclPermissionToEntityPermissionPolicy_1.transformAclPermissionToEntityPermissionPolicy(channelAclPermission)),
34
+ allowAsAnonymous: channel.allowAsAnonymous,
35
+ // TODO: verify w/ Jeremy if the 3rd param is right...
36
+ canEdit: channels_1.canEditChannelV2(channel, user, channel),
37
+ canDelete: channels_1.canDeleteChannelV2(channel, user),
38
+ orgId: channel.orgId,
39
+ owner: channel.creator,
40
+ channel,
41
+ // these don't apply to channels, yet they have to be defined or builds fail in hub-common:
42
+ // - packages/common/src/associations/breakAssociation.ts
43
+ // - packages/common/src/associations/requestAssociation.ts
44
+ // - packages/common/src/content/_internal/ContentUiSchemaSettings.ts
45
+ // - packages/common/src/templates/_internal/TemplateUiSchemaEdit.ts
46
+ // the above are implemented in such a way that they assume every HubEntity has the below members...
47
+ // those fns should be refactored to code to abstractions rather than concretions,
48
+ // i.e. trait interfaces that define the properties that the source depends on
49
+ typeKeywords: [],
50
+ thumbnail: undefined,
51
+ // these don't apply to channels, yet they have to be defined or builds fail in hub-components:
52
+ // - packages/hub-components/src/utils/cardModelConverters/internal/utils.ts
53
+ // - packages/hub-components/src/components/arcgis-hub-entity-view/about-components/arcgis-hub-entity-about/arcgis-hub-entity-about.tsx
54
+ // - packages/hub-components/src/components/arcgis-hub-entity-view/hero-components/arcgis-hub-entity-hero/arcgis-hub-entity-hero.tsx
55
+ // the above components are implemented in such a way that they assume every HubEntity has the below members...
56
+ // those components should be rafactored to code to abstractions rather than concretions,
57
+ // i.e. trait interfaces that define the properties that the source depends on
58
+ view: undefined,
59
+ description: undefined,
60
+ location: undefined,
61
+ tags: [],
62
+ };
63
+ }
64
+ exports.transformChannelToEntity = transformChannelToEntity;
65
+ //# sourceMappingURL=transformChannelToEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformChannelToEntity.js","sourceRoot":"","sources":["../../../../src/channels/_internal/transformChannelToEntity.ts"],"names":[],"mappings":";;;AACA,mEAG8C;AAG9C,qHAAkH;AAElH;;;;;;GAMG;AACH,SAAgB,wBAAwB,CACtC,OAAiB,EACjB,IAAW;IAEX,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACxC,iBAAiB,EAAE,mBAAmB;QACtC,WAAW,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACxC,iBAAiB,EAAE,mBAAmB;QACtC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,OAAO,CAAC,OAAO;QACvB,KAAK,EAAE;YACL,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,IAAI;YAClB,sBAAsB,EAAE,IAAI;YAC5B,iBAAiB,EAAE,IAAI;YACvB,cAAc,EAAE,IAAI;SACrB;QACD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAC3D,+FAA8C,CAAC,oBAAoB,CAAC,CACrE;QACD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,sDAAsD;QACtD,OAAO,EAAE,2BAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;QACjD,SAAS,EAAE,6BAAkB,CAAC,OAAO,EAAE,IAAI,CAAC;QAC5C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,OAAO;QACtB,OAAO;QAEP,2FAA2F;QAC3F,2DAA2D;QAC3D,6DAA6D;QAC7D,uEAAuE;QACvE,sEAAsE;QACtE,oGAAoG;QACpG,kFAAkF;QAClF,8EAA8E;QAC9E,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,SAAS;QAEpB,+FAA+F;QAC/F,8EAA8E;QAC9E,yIAAyI;QACzI,sIAAsI;QACtI,+GAA+G;QAC/G,yFAAyF;QACzF,8EAA8E;QAC9E,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC;AAzDD,4DAyDC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformEditorToEntity = void 0;
4
+ const transformFormValuesToEntityPermissionPolicies_1 = require("./transformFormValuesToEntityPermissionPolicies");
5
+ /**
6
+ * @private
7
+ * Transforms an IHubChannelEditor object to a partial IHubChannel object
8
+ * @param editor an IHubChannelEditor object
9
+ * @returns a partial IHubChannel object
10
+ */
11
+ function transformEditorToEntity(editor) {
12
+ const permissionValues = [
13
+ ...editor.publicConfigs,
14
+ ...editor.orgConfigs,
15
+ ...editor.groupConfigs,
16
+ ...editor.userConfigs,
17
+ ];
18
+ return {
19
+ name: editor.name,
20
+ blockWords: editor.blockWords.split(",").map((val) => val.trim()),
21
+ allowAsAnonymous: editor.allowAsAnonymous,
22
+ permissions: transformFormValuesToEntityPermissionPolicies_1.transformFormValuesToEntityPermissionPolicies(permissionValues),
23
+ };
24
+ }
25
+ exports.transformEditorToEntity = transformEditorToEntity;
26
+ //# sourceMappingURL=transformEditorToEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformEditorToEntity.js","sourceRoot":"","sources":["../../../../src/channels/_internal/transformEditorToEntity.ts"],"names":[],"mappings":";;;AACA,mHAAgH;AAEhH;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,MAAyB;IAEzB,MAAM,gBAAgB,GAAG;QACvB,GAAG,MAAM,CAAC,aAAa;QACvB,GAAG,MAAM,CAAC,UAAU;QACpB,GAAG,MAAM,CAAC,YAAY;QACtB,GAAG,MAAM,CAAC,WAAW;KACtB,CAAC;IACF,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACjE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,WAAW,EACT,6FAA6C,CAAC,gBAAgB,CAAC;KAClE,CAAC;AACJ,CAAC;AAhBD,0DAgBC"}
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformEntityPermissionPoliciesToUserFormValues = exports.transformEntityPermissionPoliciesToOrgFormValues = exports.transformEntityPermissionPoliciesToGroupFormValues = exports.transformEntityPermissionPoliciesToPublicFormValues = void 0;
4
+ const IEntityPermissionPolicy_1 = require("../../permissions/types/IEntityPermissionPolicy");
5
+ const ChannelBusinessRules_1 = require("./ChannelBusinessRules");
6
+ const COLLABORATION_TYPE_TO_ENTITY_TYPE_MAP = {
7
+ [IEntityPermissionPolicy_1.COLLABORATION_TYPES.user]: "user",
8
+ [IEntityPermissionPolicy_1.COLLABORATION_TYPES.group]: "group",
9
+ [IEntityPermissionPolicy_1.COLLABORATION_TYPES.groupAdmin]: "group",
10
+ [IEntityPermissionPolicy_1.COLLABORATION_TYPES.org]: "organization",
11
+ [IEntityPermissionPolicy_1.COLLABORATION_TYPES.orgAdmin]: "organization",
12
+ };
13
+ const COLLABORATION_TYPE_TO_ROLE_MAP = {
14
+ [IEntityPermissionPolicy_1.COLLABORATION_TYPES.user]: "user",
15
+ [IEntityPermissionPolicy_1.COLLABORATION_TYPES.group]: "member",
16
+ [IEntityPermissionPolicy_1.COLLABORATION_TYPES.groupAdmin]: "admin",
17
+ [IEntityPermissionPolicy_1.COLLABORATION_TYPES.org]: "member",
18
+ [IEntityPermissionPolicy_1.COLLABORATION_TYPES.orgAdmin]: "admin",
19
+ };
20
+ /**
21
+ * @private
22
+ * Transforms an array of IEntityPermissionPolicy (Hub entity) objects to an array of IHubRoleConfigValue (entity editor) objects
23
+ * representing the channel's public (anonymous & authenticated) permissions
24
+ * @param permissionPolicies An array of IEntityPermissionPolicy objects
25
+ * @returns an array of IHubRoleConfigValue objects
26
+ */
27
+ exports.transformEntityPermissionPoliciesToPublicFormValues = (permissionPolicies) => {
28
+ const anonymousPermission = permissionPolicies.find(({ collaborationType }) => collaborationType === IEntityPermissionPolicy_1.COLLABORATION_TYPES.anonymous);
29
+ const authenticatedPermission = permissionPolicies.find(({ collaborationType }) => collaborationType === IEntityPermissionPolicy_1.COLLABORATION_TYPES.authenticated);
30
+ return [
31
+ {
32
+ key: "public",
33
+ roles: {
34
+ anonymous: {
35
+ value: (anonymousPermission === null || anonymousPermission === void 0 ? void 0 : anonymousPermission.permission) || ChannelBusinessRules_1.ChannelNonePermission,
36
+ id: anonymousPermission === null || anonymousPermission === void 0 ? void 0 : anonymousPermission.id,
37
+ },
38
+ authenticated: {
39
+ value: (authenticatedPermission === null || authenticatedPermission === void 0 ? void 0 : authenticatedPermission.permission) || ChannelBusinessRules_1.ChannelNonePermission,
40
+ id: authenticatedPermission === null || authenticatedPermission === void 0 ? void 0 : authenticatedPermission.id,
41
+ },
42
+ },
43
+ },
44
+ ];
45
+ };
46
+ /**
47
+ * @private
48
+ * Transforms an array of IEntityPermissionPolicy (Hub entity) objects to an array of IHubRoleConfigValue (entity editor) objects
49
+ * representing the channel's group (member & admin) permissions
50
+ * @param permissionPolicies An array of IEntityPermissionPolicy objects
51
+ * @returns an array of IHubRoleConfigValue objects
52
+ */
53
+ exports.transformEntityPermissionPoliciesToGroupFormValues = (permissionPolicies) => {
54
+ const permissionsByGroup = permissionPolicies.reduce((acc, permissionPolicy) => {
55
+ if ([IEntityPermissionPolicy_1.COLLABORATION_TYPES.group, IEntityPermissionPolicy_1.COLLABORATION_TYPES.groupAdmin].includes(permissionPolicy.collaborationType) &&
56
+ permissionPolicy.permission !== ChannelBusinessRules_1.CHANNEL_PERMISSIONS.channelOwner) {
57
+ return Object.assign(Object.assign({}, acc), { [permissionPolicy.collaborationId]: Object.assign(Object.assign({}, acc[permissionPolicy.collaborationId]), { [permissionPolicy.collaborationType]: permissionPolicy }) });
58
+ }
59
+ else {
60
+ return acc;
61
+ }
62
+ }, {});
63
+ return Object.entries(permissionsByGroup).reduce((acc, [groupId, { group, ["group-admin"]: groupAdmin }]) => {
64
+ return [
65
+ ...acc,
66
+ {
67
+ key: groupId,
68
+ entityId: groupId,
69
+ entityType: "group",
70
+ roles: {
71
+ member: {
72
+ value: (group === null || group === void 0 ? void 0 : group.permission) || ChannelBusinessRules_1.ChannelNonePermission,
73
+ id: group === null || group === void 0 ? void 0 : group.id,
74
+ },
75
+ admin: {
76
+ value: (groupAdmin === null || groupAdmin === void 0 ? void 0 : groupAdmin.permission) || ChannelBusinessRules_1.ChannelNonePermission,
77
+ id: groupAdmin === null || groupAdmin === void 0 ? void 0 : groupAdmin.id,
78
+ },
79
+ },
80
+ },
81
+ ];
82
+ }, []);
83
+ };
84
+ /**
85
+ * @private
86
+ * Transforms an array of IEntityPermissionPolicy (Hub entity) objects to an array of IHubRoleConfigValue (entity editor) objects
87
+ * representing the channel's org (member & admin) permissions
88
+ * @param permissionPolicies An array of IEntityPermissionPolicy objects
89
+ * @param defaultOrgId The current user's orgId
90
+ * @returns an array of IHubRoleConfigValue objects
91
+ */
92
+ exports.transformEntityPermissionPoliciesToOrgFormValues = (permissionPolicies, defaultOrgId) => {
93
+ const permissionsByOrg = permissionPolicies.reduce((acc, permissionPolicy) => {
94
+ if ([IEntityPermissionPolicy_1.COLLABORATION_TYPES.org, IEntityPermissionPolicy_1.COLLABORATION_TYPES.orgAdmin].includes(permissionPolicy.collaborationType)) {
95
+ return Object.assign(Object.assign({}, acc), { [permissionPolicy.collaborationId]: Object.assign(Object.assign({}, acc[permissionPolicy.collaborationId]), { [permissionPolicy.collaborationType]: permissionPolicy }) });
96
+ }
97
+ else {
98
+ return acc;
99
+ }
100
+ }, {});
101
+ const orgConfigs = Object.entries(permissionsByOrg).reduce((acc, [orgId, { org, ["org-admin"]: orgAdmin }]) => {
102
+ return [
103
+ ...acc,
104
+ {
105
+ key: orgId,
106
+ entityId: orgId,
107
+ entityType: "organization",
108
+ roles: {
109
+ member: {
110
+ value: (org === null || org === void 0 ? void 0 : org.permission) || ChannelBusinessRules_1.ChannelNonePermission,
111
+ id: org === null || org === void 0 ? void 0 : org.id,
112
+ },
113
+ admin: {
114
+ value: (orgAdmin === null || orgAdmin === void 0 ? void 0 : orgAdmin.permission) || ChannelBusinessRules_1.ChannelNonePermission,
115
+ id: orgAdmin === null || orgAdmin === void 0 ? void 0 : orgAdmin.id,
116
+ },
117
+ },
118
+ },
119
+ ];
120
+ }, []);
121
+ if (!orgConfigs.length) {
122
+ orgConfigs.push({
123
+ key: defaultOrgId,
124
+ entityId: defaultOrgId,
125
+ entityType: "organization",
126
+ roles: {
127
+ member: {
128
+ value: ChannelBusinessRules_1.ChannelNonePermission,
129
+ id: undefined,
130
+ },
131
+ admin: {
132
+ value: ChannelBusinessRules_1.CHANNEL_PERMISSIONS.channelOwner,
133
+ id: undefined,
134
+ },
135
+ },
136
+ });
137
+ }
138
+ return orgConfigs;
139
+ };
140
+ /**
141
+ * @private
142
+ * Transforms an array of IEntityPermissionPolicy (Hub entity) objects to an array of IHubRoleConfigValue (entity editor) objects
143
+ * representing the channel's individual user permissions
144
+ * @param permissionPolicies An array of IEntityPermissionPolicy objects
145
+ * @returns an array of IHubRoleConfigValue objects
146
+ */
147
+ exports.transformEntityPermissionPoliciesToUserFormValues = (permissionPolicies) => {
148
+ return permissionPolicies.reduce((acc, permissionPolicy) => {
149
+ return permissionPolicy.collaborationType === IEntityPermissionPolicy_1.COLLABORATION_TYPES.user
150
+ ? [
151
+ ...acc,
152
+ {
153
+ key: permissionPolicy.collaborationId,
154
+ entityId: permissionPolicy.collaborationId,
155
+ entityType: "user",
156
+ roles: {
157
+ user: {
158
+ value: permissionPolicy.permission,
159
+ id: permissionPolicy.id,
160
+ },
161
+ },
162
+ },
163
+ ]
164
+ : acc;
165
+ }, []);
166
+ };
167
+ //# sourceMappingURL=transformEntityPermissionPoliciesToFormValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformEntityPermissionPoliciesToFormValues.js","sourceRoot":"","sources":["../../../../src/channels/_internal/transformEntityPermissionPoliciesToFormValues.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformEntityToChannelData = void 0;
4
+ const types_1 = require("../../discussions/api/types");
5
+ const types_2 = require("../../permissions/types");
6
+ const ChannelBusinessRules_1 = require("./ChannelBusinessRules");
7
+ const PERMISSION_TO_ROLE_MAP = {
8
+ [ChannelBusinessRules_1.CHANNEL_PERMISSIONS.channelRead]: types_1.Role.READ,
9
+ [ChannelBusinessRules_1.CHANNEL_PERMISSIONS.channelWrite]: types_1.Role.WRITE,
10
+ [ChannelBusinessRules_1.CHANNEL_PERMISSIONS.channelReadWrite]: types_1.Role.READWRITE,
11
+ [ChannelBusinessRules_1.CHANNEL_PERMISSIONS.channelManage]: types_1.Role.MANAGE,
12
+ [ChannelBusinessRules_1.CHANNEL_PERMISSIONS.channelModerate]: types_1.Role.MODERATE,
13
+ [ChannelBusinessRules_1.CHANNEL_PERMISSIONS.channelOwner]: types_1.Role.OWNER,
14
+ };
15
+ const COLLABORATION_TYPE_TO_PERMISSION_DEFINTION_MEMBERS_MAP = {
16
+ [types_2.COLLABORATION_TYPES.anonymous]: {
17
+ category: types_1.AclCategory.ANONYMOUS_USER,
18
+ subCategory: null,
19
+ },
20
+ [types_2.COLLABORATION_TYPES.authenticated]: {
21
+ category: types_1.AclCategory.AUTHENTICATED_USER,
22
+ subCategory: null,
23
+ },
24
+ [types_2.COLLABORATION_TYPES.group]: {
25
+ category: types_1.AclCategory.GROUP,
26
+ subCategory: types_1.AclSubCategory.MEMBER,
27
+ },
28
+ [types_2.COLLABORATION_TYPES.groupAdmin]: {
29
+ category: types_1.AclCategory.GROUP,
30
+ subCategory: types_1.AclSubCategory.ADMIN,
31
+ },
32
+ [types_2.COLLABORATION_TYPES.org]: {
33
+ category: types_1.AclCategory.ORG,
34
+ subCategory: types_1.AclSubCategory.MEMBER,
35
+ },
36
+ [types_2.COLLABORATION_TYPES.orgAdmin]: {
37
+ category: types_1.AclCategory.ORG,
38
+ subCategory: types_1.AclSubCategory.ADMIN,
39
+ },
40
+ [types_2.COLLABORATION_TYPES.owner]: {
41
+ category: types_1.AclCategory.USER,
42
+ subCategory: null,
43
+ },
44
+ [types_2.COLLABORATION_TYPES.user]: {
45
+ category: types_1.AclCategory.USER,
46
+ subCategory: null,
47
+ },
48
+ };
49
+ /**
50
+ * @private
51
+ * Transforms an IHubChannel entity pojo object to an object that can be passed V2 channel create and update methods
52
+ * @param entity an IHubChannel object
53
+ * @returns an object that can be passed to V2 channel create and update methods
54
+ */
55
+ function transformEntityToChannelData(entity) {
56
+ function toChannelAclDefinition(acc, permissionPolicy) {
57
+ const permissionDefinition = COLLABORATION_TYPE_TO_PERMISSION_DEFINTION_MEMBERS_MAP[permissionPolicy.collaborationType];
58
+ return permissionDefinition
59
+ ? [
60
+ ...acc,
61
+ Object.assign(Object.assign({}, permissionDefinition), { key: permissionPolicy.collaborationId || null, role: PERMISSION_TO_ROLE_MAP[permissionPolicy.permission] }),
62
+ ]
63
+ : acc;
64
+ }
65
+ return {
66
+ name: entity.name,
67
+ blockWords: entity.blockWords,
68
+ allowAsAnonymous: entity.allowAsAnonymous,
69
+ channelAclDefinition: entity.permissions.reduce(toChannelAclDefinition, []),
70
+ };
71
+ }
72
+ exports.transformEntityToChannelData = transformEntityToChannelData;
73
+ //# sourceMappingURL=transformEntityToChannelData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformEntityToChannelData.js","sourceRoot":"","sources":["../../../../src/channels/_internal/transformEntityToChannelData.ts"],"names":[],"mappings":";;;AACA,uDAOqC;AACrC,mDAIiC;AACjC,iEAAgF;AAEhF,MAAM,sBAAsB,GAA6C;IACvE,CAAC,0CAAmB,CAAC,WAAW,CAAC,EAAE,YAAI,CAAC,IAAI;IAC5C,CAAC,0CAAmB,CAAC,YAAY,CAAC,EAAE,YAAI,CAAC,KAAK;IAC9C,CAAC,0CAAmB,CAAC,gBAAgB,CAAC,EAAE,YAAI,CAAC,SAAS;IACtD,CAAC,0CAAmB,CAAC,aAAa,CAAC,EAAE,YAAI,CAAC,MAAM;IAChD,CAAC,0CAAmB,CAAC,eAAe,CAAC,EAAE,YAAI,CAAC,QAAQ;IACpD,CAAC,0CAAmB,CAAC,YAAY,CAAC,EAAE,YAAI,CAAC,KAAK;CAC/C,CAAC;AAEF,MAAM,sDAAsD,GAKxD;IACF,CAAC,2BAAmB,CAAC,SAAS,CAAC,EAAE;QAC/B,QAAQ,EAAE,mBAAW,CAAC,cAAc;QACpC,WAAW,EAAE,IAAI;KAClB;IACD,CAAC,2BAAmB,CAAC,aAAa,CAAC,EAAE;QACnC,QAAQ,EAAE,mBAAW,CAAC,kBAAkB;QACxC,WAAW,EAAE,IAAI;KAClB;IACD,CAAC,2BAAmB,CAAC,KAAK,CAAC,EAAE;QAC3B,QAAQ,EAAE,mBAAW,CAAC,KAAK;QAC3B,WAAW,EAAE,sBAAc,CAAC,MAAM;KACnC;IACD,CAAC,2BAAmB,CAAC,UAAU,CAAC,EAAE;QAChC,QAAQ,EAAE,mBAAW,CAAC,KAAK;QAC3B,WAAW,EAAE,sBAAc,CAAC,KAAK;KAClC;IACD,CAAC,2BAAmB,CAAC,GAAG,CAAC,EAAE;QACzB,QAAQ,EAAE,mBAAW,CAAC,GAAG;QACzB,WAAW,EAAE,sBAAc,CAAC,MAAM;KACnC;IACD,CAAC,2BAAmB,CAAC,QAAQ,CAAC,EAAE;QAC9B,QAAQ,EAAE,mBAAW,CAAC,GAAG;QACzB,WAAW,EAAE,sBAAc,CAAC,KAAK;KAClC;IACD,CAAC,2BAAmB,CAAC,KAAK,CAAC,EAAE;QAC3B,QAAQ,EAAE,mBAAW,CAAC,IAAI;QAC1B,WAAW,EAAE,IAAI;KAClB;IACD,CAAC,2BAAmB,CAAC,IAAI,CAAC,EAAE;QAC1B,QAAQ,EAAE,mBAAW,CAAC,IAAI;QAC1B,WAAW,EAAE,IAAI;KAClB;CACF,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,4BAA4B,CAE1C,MAAmB;IACnB,SAAS,sBAAsB,CAC7B,GAAsC,EACtC,gBAAyC;QAEzC,MAAM,oBAAoB,GACxB,sDAAsD,CACpD,gBAAgB,CAAC,iBAAiB,CACnC,CAAC;QACJ,OAAO,oBAAoB;YACzB,CAAC,CAAC;gBACE,GAAG,GAAG;gDAGD,oBAAoB,KACvB,GAAG,EAAE,gBAAgB,CAAC,eAAe,IAAI,IAAI,EAC7C,IAAI,EAAE,sBAAsB,CAC1B,gBAAgB,CAAC,UAA+B,CACjD;aAEJ;YACH,CAAC,CAAC,GAAG,CAAC;IACV,CAAC;IACD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,oBAAoB,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,sBAAsB,EAAE,EAAE,CAAC;KACvE,CAAC;AACT,CAAC;AA/BD,oEA+BC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformEntityToEditor = void 0;
4
+ const transformEntityPermissionPoliciesToFormValues_1 = require("./transformEntityPermissionPoliciesToFormValues");
5
+ /**
6
+ * @private
7
+ * Transforms an IHubChannel entity pojo to an IHubChannelEditor object
8
+ * @param entity an IHubChannel object
9
+ * @returns an IHubChannelEditor object
10
+ */
11
+ function transformEntityToEditor(entity, context) {
12
+ return {
13
+ id: entity.id,
14
+ name: entity.name,
15
+ blockWords: entity.blockWords.join(","),
16
+ allowAsAnonymous: entity.allowAsAnonymous,
17
+ publicConfigs: transformEntityPermissionPoliciesToFormValues_1.transformEntityPermissionPoliciesToPublicFormValues(entity.permissions),
18
+ orgConfigs: transformEntityPermissionPoliciesToFormValues_1.transformEntityPermissionPoliciesToOrgFormValues(entity.permissions, context.currentUser.orgId),
19
+ groupConfigs: transformEntityPermissionPoliciesToFormValues_1.transformEntityPermissionPoliciesToGroupFormValues(entity.permissions),
20
+ userConfigs: transformEntityPermissionPoliciesToFormValues_1.transformEntityPermissionPoliciesToUserFormValues(entity.permissions),
21
+ };
22
+ }
23
+ exports.transformEntityToEditor = transformEntityToEditor;
24
+ //# sourceMappingURL=transformEntityToEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformEntityToEditor.js","sourceRoot":"","sources":["../../../../src/channels/_internal/transformEntityToEditor.ts"],"names":[],"mappings":";;;AAEA,mHAKyD;AAEzD;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,MAAmB,EACnB,OAAuB;IAEvB,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QACvC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,aAAa,EAAE,mGAAmD,CAChE,MAAM,CAAC,WAAW,CACnB;QACD,UAAU,EAAE,gGAAgD,CAC1D,MAAM,CAAC,WAAW,EAClB,OAAO,CAAC,WAAW,CAAC,KAAK,CAC1B;QACD,YAAY,EAAE,kGAAkD,CAC9D,MAAM,CAAC,WAAW,CACnB;QACD,WAAW,EAAE,iGAAiD,CAC5D,MAAM,CAAC,WAAW,CACnB;KACF,CAAC;AACJ,CAAC;AAvBD,0DAuBC"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformFormValuesToEntityPermissionPolicies = void 0;
4
+ const types_1 = require("../../permissions/types");
5
+ const ChannelBusinessRules_1 = require("./ChannelBusinessRules");
6
+ const ENTITY_TYPE_TO_COLLABORATION_TYPE_MAP = {
7
+ user: {
8
+ user: types_1.COLLABORATION_TYPES.user,
9
+ },
10
+ organization: {
11
+ admin: types_1.COLLABORATION_TYPES.orgAdmin,
12
+ member: types_1.COLLABORATION_TYPES.org,
13
+ },
14
+ group: {
15
+ admin: types_1.COLLABORATION_TYPES.groupAdmin,
16
+ member: types_1.COLLABORATION_TYPES.group,
17
+ },
18
+ };
19
+ /**
20
+ * @private
21
+ * Transforms an array of IHubRoleConfigValue objects into an array of IEntityPermissionPolicy objects
22
+ * @param roleConfigs an array of IHubRoleConfigValue objects
23
+ * @returns an array of IEntityPermissionPolicy objects
24
+ */
25
+ function transformFormValuesToEntityPermissionPolicies(roleConfigs) {
26
+ return roleConfigs.reduce((acc, roleConfiguration) => {
27
+ return Object.entries(roleConfiguration.roles).reduce((memo, [roleKey, role]) => {
28
+ if (role.value === ChannelBusinessRules_1.ChannelNonePermission) {
29
+ return memo;
30
+ }
31
+ let permissionPolicy;
32
+ if (roleConfiguration.key === "public") {
33
+ permissionPolicy = {
34
+ collaborationType: roleKey === "authenticated"
35
+ ? types_1.COLLABORATION_TYPES.authenticated
36
+ : types_1.COLLABORATION_TYPES.anonymous,
37
+ collaborationId: null,
38
+ };
39
+ }
40
+ else if (roleConfiguration.entityType === "group") {
41
+ permissionPolicy = {
42
+ collaborationType: roleKey === "admin"
43
+ ? types_1.COLLABORATION_TYPES.groupAdmin
44
+ : types_1.COLLABORATION_TYPES.group,
45
+ collaborationId: roleConfiguration.entityId,
46
+ };
47
+ }
48
+ else if (roleConfiguration.entityType === "organization") {
49
+ permissionPolicy = {
50
+ collaborationType: roleKey === "admin"
51
+ ? types_1.COLLABORATION_TYPES.orgAdmin
52
+ : types_1.COLLABORATION_TYPES.org,
53
+ collaborationId: roleConfiguration.entityId,
54
+ };
55
+ }
56
+ else if (roleConfiguration.entityType === "user") {
57
+ permissionPolicy = {
58
+ collaborationType: types_1.COLLABORATION_TYPES.user,
59
+ collaborationId: roleConfiguration.entityId,
60
+ };
61
+ }
62
+ return permissionPolicy
63
+ ? [
64
+ ...memo,
65
+ Object.assign(Object.assign({}, permissionPolicy), { permission: role.value, id: role.id }),
66
+ ]
67
+ : memo;
68
+ }, acc);
69
+ }, []);
70
+ }
71
+ exports.transformFormValuesToEntityPermissionPolicies = transformFormValuesToEntityPermissionPolicies;
72
+ //# sourceMappingURL=transformFormValuesToEntityPermissionPolicies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformFormValuesToEntityPermissionPolicies.js","sourceRoot":"","sources":["../../../../src/channels/_internal/transformFormValuesToEntityPermissionPolicies.ts"],"names":[],"mappings":";;;AACA,mDAIiC;AACjC,iEAGgC;AAGhC,MAAM,qCAAqC,GAEvC;IACF,IAAI,EAAE;QACJ,IAAI,EAAE,2BAAmB,CAAC,IAAI;KAC/B;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,2BAAmB,CAAC,QAAQ;QACnC,MAAM,EAAE,2BAAmB,CAAC,GAAG;KAChC;IACD,KAAK,EAAE;QACL,KAAK,EAAE,2BAAmB,CAAC,UAAU;QACrC,MAAM,EAAE,2BAAmB,CAAC,KAAK;KAClC;CACF,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,6CAA6C,CAC3D,WAAkC;IAElC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE;QACnD,OAAO,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,MAAM,CACnD,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;YACxB,IAAI,IAAI,CAAC,KAAK,KAAK,4CAAqB,EAAE;gBACxC,OAAO,IAAI,CAAC;aACb;YAED,IAAI,gBAGH,CAAC;YAEF,IAAI,iBAAiB,CAAC,GAAG,KAAK,QAAQ,EAAE;gBACtC,gBAAgB,GAAG;oBACjB,iBAAiB,EACf,OAAO,KAAK,eAAe;wBACzB,CAAC,CAAC,2BAAmB,CAAC,aAAa;wBACnC,CAAC,CAAC,2BAAmB,CAAC,SAAS;oBACnC,eAAe,EAAE,IAAI;iBACtB,CAAC;aACH;iBAAM,IAAI,iBAAiB,CAAC,UAAU,KAAK,OAAO,EAAE;gBACnD,gBAAgB,GAAG;oBACjB,iBAAiB,EACf,OAAO,KAAK,OAAO;wBACjB,CAAC,CAAC,2BAAmB,CAAC,UAAU;wBAChC,CAAC,CAAC,2BAAmB,CAAC,KAAK;oBAC/B,eAAe,EAAE,iBAAiB,CAAC,QAAQ;iBAC5C,CAAC;aACH;iBAAM,IAAI,iBAAiB,CAAC,UAAU,KAAK,cAAc,EAAE;gBAC1D,gBAAgB,GAAG;oBACjB,iBAAiB,EACf,OAAO,KAAK,OAAO;wBACjB,CAAC,CAAC,2BAAmB,CAAC,QAAQ;wBAC9B,CAAC,CAAC,2BAAmB,CAAC,GAAG;oBAC7B,eAAe,EAAE,iBAAiB,CAAC,QAAQ;iBAC5C,CAAC;aACH;iBAAM,IAAI,iBAAiB,CAAC,UAAU,KAAK,MAAM,EAAE;gBAClD,gBAAgB,GAAG;oBACjB,iBAAiB,EAAE,2BAAmB,CAAC,IAAI;oBAC3C,eAAe,EAAE,iBAAiB,CAAC,QAAQ;iBAC5C,CAAC;aACH;YACD,OAAO,gBAAgB;gBACrB,CAAC,CAAC;oBACE,GAAG,IAAI;oDAEF,gBAAgB,KACnB,UAAU,EAAE,IAAI,CAAC,KAAK,EACtB,EAAE,EAAE,IAAI,CAAC,EAAE;iBAEd;gBACH,CAAC,CAAC,IAAI,CAAC;QACX,CAAC,EACD,GAAG,CACJ,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AA3DD,sGA2DC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteHubChannel = exports.updateHubChannel = exports.createHubChannel = void 0;
4
+ const channels_1 = require("../discussions/api/channels/channels");
5
+ const transformChannelToEntity_1 = require("./_internal/transformChannelToEntity");
6
+ const transformEntityToChannelData_1 = require("./_internal/transformEntityToChannelData");
7
+ /**
8
+ * Creates a new Channel from the given IHubChannel object
9
+ * @param entity An IHubChannel object
10
+ * @param context ArcGIS context
11
+ * @returns a promise that resolves an IHubChannel representing the newly created channel
12
+ */
13
+ async function createHubChannel(entity, context) {
14
+ const channelData = transformEntityToChannelData_1.transformEntityToChannelData(entity);
15
+ const createdChannel = await channels_1.createChannelV2(Object.assign({ data: channelData }, context.hubRequestOptions));
16
+ return transformChannelToEntity_1.transformChannelToEntity(createdChannel, context.currentUser);
17
+ }
18
+ exports.createHubChannel = createHubChannel;
19
+ /**
20
+ * Updates an existing Channel from the given IHubChannel object
21
+ * @param entity An IHubChannel object
22
+ * @param context ArcGIS context
23
+ * @returns a promise that resolves an IHubChannel representing the updated channel
24
+ */
25
+ async function updateHubChannel(entity, context) {
26
+ const updatedChannelData = transformEntityToChannelData_1.transformEntityToChannelData(entity);
27
+ const updatedChannel = await channels_1.updateChannelV2(Object.assign({ channelId: entity.id, data: updatedChannelData }, context.hubRequestOptions));
28
+ return transformChannelToEntity_1.transformChannelToEntity(updatedChannel, context.currentUser);
29
+ }
30
+ exports.updateHubChannel = updateHubChannel;
31
+ /**
32
+ * Updates an existing Channel from the given IHubChannel object
33
+ * @param channelId The ID of the channel to delete
34
+ * @param context ArcGIS context
35
+ * @returns a promise
36
+ */
37
+ async function deleteHubChannel(channelId, context) {
38
+ await channels_1.removeChannelV2(Object.assign({ channelId }, context.hubRequestOptions));
39
+ }
40
+ exports.deleteHubChannel = deleteHubChannel;
41
+ //# sourceMappingURL=edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/channels/edit.ts"],"names":[],"mappings":";;;AACA,mEAI8C;AAG9C,mFAAgF;AAChF,2FAAwF;AAExF;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAAmB,EACnB,OAAuB;IAEvB,MAAM,WAAW,GAAG,2DAA4B,CAAmB,MAAM,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,MAAM,0BAAe,iBAC1C,IAAI,EAAE,WAAW,IACd,OAAO,CAAC,iBAAiB,EAC5B,CAAC;IACH,OAAO,mDAAwB,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;AACvE,CAAC;AAVD,4CAUC;AAED;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAAmB,EACnB,OAAuB;IAEvB,MAAM,kBAAkB,GACtB,2DAA4B,CAAmB,MAAM,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,MAAM,0BAAe,iBAC1C,SAAS,EAAE,MAAM,CAAC,EAAE,EACpB,IAAI,EAAE,kBAAkB,IACrB,OAAO,CAAC,iBAAiB,EAC5B,CAAC;IACH,OAAO,mDAAwB,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;AACvE,CAAC;AAZD,4CAYC;AAED;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CACpC,SAAiB,EACjB,OAAuB;IAEvB,MAAM,0BAAe,iBACnB,SAAS,IACN,OAAO,CAAC,iBAAiB,EAC5B,CAAC;AACL,CAAC;AARD,4CAQC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchHubChannel = void 0;
4
+ const discussions_1 = require("../discussions");
5
+ const channels_1 = require("../discussions/api/channels/channels");
6
+ const transformChannelToEntity_1 = require("./_internal/transformChannelToEntity");
7
+ /**
8
+ * Fetches a Channel for the given channelId
9
+ * @param channelId The ID of the channel to fetch
10
+ * @param context ArcGIS context
11
+ * @returns a promise that resolves an IHubChannel for the given channelId
12
+ */
13
+ async function fetchHubChannel(channelId, context) {
14
+ const channel = await channels_1.fetchChannelV2(Object.assign({ channelId, data: { relations: [discussions_1.ChannelRelation.CHANNEL_ACL] } }, context.hubRequestOptions));
15
+ return transformChannelToEntity_1.transformChannelToEntity(channel, context.currentUser);
16
+ }
17
+ exports.fetchHubChannel = fetchHubChannel;
18
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/channels/fetch.ts"],"names":[],"mappings":";;;AACA,gDAAiD;AACjD,mEAAsE;AAEtE,mFAAgF;AAEhF;;;;;GAKG;AACI,KAAK,UAAU,eAAe,CACnC,SAAiB,EACjB,OAAuB;IAEvB,MAAM,OAAO,GAAG,MAAM,yBAAc,iBAClC,SAAS,EACT,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,6BAAe,CAAC,WAAW,CAAC,EAAE,IAC/C,OAAO,CAAC,iBAAiB,EAC5B,CAAC;IACH,OAAO,mDAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;AAChE,CAAC;AAVD,0CAUC"}
@@ -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("./HubChannel"), 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/channels/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,iDAAuB;AACvB,kDAAwB"}
@@ -14,6 +14,7 @@ const HubSurvey_1 = require("../surveys/HubSurvey");
14
14
  const getTypeFromEntity_1 = require("./getTypeFromEntity");
15
15
  const HubEvent_1 = require("../events/HubEvent");
16
16
  const HubUser_1 = require("../users/HubUser");
17
+ const HubChannel_1 = require("../channels/HubChannel");
17
18
  class EntityEditor {
18
19
  constructor(instance) {
19
20
  this.instance = instance;
@@ -43,6 +44,9 @@ class EntityEditor {
43
44
  if (entityType === "template") {
44
45
  editor = templates_1.HubTemplate.fromJson(entity, context);
45
46
  }
47
+ if (entityType === "channel") {
48
+ editor = HubChannel_1.HubChannel.fromJson(entity, context);
49
+ }
46
50
  if (entityType === "survey") {
47
51
  editor = HubSurvey_1.HubSurvey.fromJson(entity, context);
48
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EntityEditor.js","sourceRoot":"","sources":["../../../src/core/EntityEditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityEditor.js","sourceRoot":"","sources":["../../../src/core/EntityEditor.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ const fetch_5 = require("../surveys/fetch");
14
14
  const fetch_6 = require("../events/fetch");
15
15
  const users_1 = require("../users");
16
16
  const fetch_7 = require("../org/fetch");
17
+ const fetch_8 = require("../channels/fetch");
17
18
  /**
18
19
  * Fetch a Hub entity by identifier (id or slug)
19
20
  * @param type
@@ -36,6 +37,9 @@ async function fetchHubEntity(type, identifier, context) {
36
37
  case "discussion":
37
38
  result = await fetch_1.fetchDiscussion(identifier, context.hubRequestOptions);
38
39
  break;
40
+ case "channel":
41
+ result = await fetch_8.fetchHubChannel(identifier, context);
42
+ break;
39
43
  case "page":
40
44
  result = await HubPages_1.fetchPage(identifier, context.hubRequestOptions);
41
45
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"fetchHubEntity.js","sourceRoot":"","sources":["../../../src/core/fetchHubEntity.ts"],"names":[],"mappings":";;;AAAA,gDAAuD;AACvD,gEAA6D;AAC7D,kEAAgE;AAChE,gDAA8C;AAC9C,6CAAiD;AACjD,gDAA8C;AAC9C,8CAAmD;AAInD,mDAAoD;AACpD,yDAAwE;AACxE,4CAA+C;AAC/C,2CAA6C;AAC7C,oCAA8D;AAC9D,wCAAiD;AAEjD;;;;;;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,GAAG,MAAM,oBAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,iCAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACnE,MAAM;QACR,KAAK,UAAU;YACb,MAAM,GAAG,MAAM,qBAAa,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACjE,MAAM;QACR,KAAK,OAAO;YACV,MAAM,GAAG,MAAM,yBAAa,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpE,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,GAAG,MAAM,mBAAW,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAClE,MAAM;QACR,KAAK,OAAO;YACV,MAAM,GAAG,MAAM,kBAAU,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACjE,MAAM;QACR,KAAK,cAAc;YACjB,MAAM,GAAG,MAAM,yBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACrE,MAAM;QACR,KAAK,oBAAoB;YACvB,MAAM,GAAG,MAAM,+BAAuB,CACpC,UAAU,EACV,OAAO,CAAC,cAAc,CACvB,CAAC;YACF,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,oBAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;KACpD;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAlDD,wCAkDC"}
1
+ {"version":3,"file":"fetchHubEntity.js","sourceRoot":"","sources":["../../../src/core/fetchHubEntity.ts"],"names":[],"mappings":";;;AAAA,gDAAuD;AACvD,gEAA6D;AAC7D,kEAAgE;AAChE,gDAA8C;AAC9C,6CAAiD;AACjD,gDAA8C;AAC9C,8CAAmD;AAInD,mDAAoD;AACpD,yDAAwE;AACxE,4CAA+C;AAC/C,2CAA6C;AAC7C,oCAA8D;AAC9D,wCAAiD;AACjD,6CAAoD;AAEpD;;;;;;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,SAAS;YACZ,MAAM,GAAG,MAAM,uBAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,oBAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,iCAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACnE,MAAM;QACR,KAAK,UAAU;YACb,MAAM,GAAG,MAAM,qBAAa,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACjE,MAAM;QACR,KAAK,OAAO;YACV,MAAM,GAAG,MAAM,yBAAa,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpE,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,GAAG,MAAM,mBAAW,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAClE,MAAM;QACR,KAAK,OAAO;YACV,MAAM,GAAG,MAAM,kBAAU,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACjE,MAAM;QACR,KAAK,cAAc;YACjB,MAAM,GAAG,MAAM,yBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACrE,MAAM;QACR,KAAK,oBAAoB;YACvB,MAAM,GAAG,MAAM,+BAAuB,CACpC,UAAU,EACV,OAAO,CAAC,cAAc,CACvB,CAAC;YACF,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,oBAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;KACpD;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AArDD,wCAqDC"}
@@ -30,6 +30,9 @@ function getTypeFromEntity(entity) {
30
30
  case "Solution":
31
31
  type = "template";
32
32
  break;
33
+ case "Channel":
34
+ type = "channel";
35
+ break;
33
36
  case "Group":
34
37
  type = "group";
35
38
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAGlD;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,MAA2C;IAE3C,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;QACR,KAAK,UAAU;YACb,IAAI,GAAG,UAAU,CAAC;YAClB,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,OAAO,CAAC;YACf,MAAM;QACR,KAAK,MAAM;YACT,IAAI,GAAG,QAAQ,CAAC;YAChB,MAAM;QACR,KAAK,yBAAyB;YAC5B,IAAI,GAAG,oBAAoB,CAAC;YAC5B,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,OAAO,CAAC;YACf,MAAM;QACR,KAAK,MAAM;YACT,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,wEAAwE;QACxE,sBAAsB;QACtB,WAAW;QACX;YACE,8DAA8D;YAC9D,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACzE,IAAI,eAAe,CAAC,QAAQ,CAAC,sBAAS,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC1D,IAAI,GAAG,SAAS,CAAC;aAClB;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAnDD,8CAmDC"}
1
+ {"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAGlD;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,MAA2C;IAE3C,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;QACR,KAAK,UAAU;YACb,IAAI,GAAG,UAAU,CAAC;YAClB,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,OAAO,CAAC;YACf,MAAM;QACR,KAAK,MAAM;YACT,IAAI,GAAG,QAAQ,CAAC;YAChB,MAAM;QACR,KAAK,yBAAyB;YAC5B,IAAI,GAAG,oBAAoB,CAAC;YAC5B,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,OAAO,CAAC;YACf,MAAM;QACR,KAAK,MAAM;YACT,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,wEAAwE;QACxE,sBAAsB;QACtB,WAAW;QACX;YACE,8DAA8D;YAC9D,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACzE,IAAI,eAAe,CAAC,QAAQ,CAAC,sBAAS,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC1D,IAAI,GAAG,SAAS,CAAC;aAClB;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAtDD,8CAsDC"}