@esri/hub-common 14.24.0 → 14.25.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 (117) hide show
  1. package/dist/esm/core/EntityEditor.js +4 -0
  2. package/dist/esm/core/EntityEditor.js.map +1 -1
  3. package/dist/esm/core/fetchHubEntity.js +3 -0
  4. package/dist/esm/core/fetchHubEntity.js.map +1 -1
  5. package/dist/esm/core/getTypeFromEntity.js +6 -0
  6. package/dist/esm/core/getTypeFromEntity.js.map +1 -1
  7. package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js +8 -0
  8. package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js.map +1 -1
  9. package/dist/esm/core/schemas/types.js +2 -0
  10. package/dist/esm/core/schemas/types.js.map +1 -1
  11. package/dist/esm/core/types/HubEntityType.js +1 -0
  12. package/dist/esm/core/types/HubEntityType.js.map +1 -1
  13. package/dist/esm/core/types/IHubInitiativeTemplate.js +1 -0
  14. package/dist/esm/core/types/IHubInitiativeTemplate.js.map +1 -0
  15. package/dist/esm/core/types/index.js +1 -0
  16. package/dist/esm/core/types/index.js.map +1 -1
  17. package/dist/esm/core/updateHubEntity.js +4 -0
  18. package/dist/esm/core/updateHubEntity.js.map +1 -1
  19. package/dist/esm/index.js +1 -0
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/initiative-templates/HubInitiativeTemplate.js +192 -0
  22. package/dist/esm/initiative-templates/HubInitiativeTemplate.js.map +1 -0
  23. package/dist/esm/initiative-templates/_internal/InitiativeTemplateBusinessRules.js +72 -0
  24. package/dist/esm/initiative-templates/_internal/InitiativeTemplateBusinessRules.js.map +1 -0
  25. package/dist/esm/initiative-templates/_internal/InitiativeTemplateSchema.js +6 -0
  26. package/dist/esm/initiative-templates/_internal/InitiativeTemplateSchema.js.map +1 -0
  27. package/dist/esm/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js +35 -0
  28. package/dist/esm/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js.map +1 -0
  29. package/dist/esm/initiative-templates/_internal/computeLinks.js +27 -0
  30. package/dist/esm/initiative-templates/_internal/computeLinks.js.map +1 -0
  31. package/dist/esm/initiative-templates/_internal/computeProps.js +39 -0
  32. package/dist/esm/initiative-templates/_internal/computeProps.js.map +1 -0
  33. package/dist/esm/initiative-templates/_internal/getPropertyMap.js +18 -0
  34. package/dist/esm/initiative-templates/_internal/getPropertyMap.js.map +1 -0
  35. package/dist/esm/initiative-templates/defaults.js +35 -0
  36. package/dist/esm/initiative-templates/defaults.js.map +1 -0
  37. package/dist/esm/initiative-templates/edit.js +96 -0
  38. package/dist/esm/initiative-templates/edit.js.map +1 -0
  39. package/dist/esm/initiative-templates/fetch.js +68 -0
  40. package/dist/esm/initiative-templates/fetch.js.map +1 -0
  41. package/dist/esm/initiative-templates/index.js +5 -0
  42. package/dist/esm/initiative-templates/index.js.map +1 -0
  43. package/dist/esm/initiative-templates/view.js +77 -0
  44. package/dist/esm/initiative-templates/view.js.map +1 -0
  45. package/dist/esm/permissions/HubPermissionPolicies.js +2 -0
  46. package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
  47. package/dist/esm/permissions/types/Permission.js +2 -0
  48. package/dist/esm/permissions/types/Permission.js.map +1 -1
  49. package/dist/esm/projects/HubProject.js +1 -1
  50. package/dist/node/core/EntityEditor.js +4 -0
  51. package/dist/node/core/EntityEditor.js.map +1 -1
  52. package/dist/node/core/fetchHubEntity.js +3 -0
  53. package/dist/node/core/fetchHubEntity.js.map +1 -1
  54. package/dist/node/core/getTypeFromEntity.js +6 -0
  55. package/dist/node/core/getTypeFromEntity.js.map +1 -1
  56. package/dist/node/core/schemas/internal/getEntityEditorSchemas.js +8 -0
  57. package/dist/node/core/schemas/internal/getEntityEditorSchemas.js.map +1 -1
  58. package/dist/node/core/schemas/types.js +2 -0
  59. package/dist/node/core/schemas/types.js.map +1 -1
  60. package/dist/node/core/types/HubEntityType.js +1 -0
  61. package/dist/node/core/types/HubEntityType.js.map +1 -1
  62. package/dist/node/core/types/IHubInitiativeTemplate.js +3 -0
  63. package/dist/node/core/types/IHubInitiativeTemplate.js.map +1 -0
  64. package/dist/node/core/types/index.js +1 -0
  65. package/dist/node/core/types/index.js.map +1 -1
  66. package/dist/node/core/updateHubEntity.js +4 -0
  67. package/dist/node/core/updateHubEntity.js.map +1 -1
  68. package/dist/node/index.js +1 -0
  69. package/dist/node/index.js.map +1 -1
  70. package/dist/node/initiative-templates/HubInitiativeTemplate.js +196 -0
  71. package/dist/node/initiative-templates/HubInitiativeTemplate.js.map +1 -0
  72. package/dist/node/initiative-templates/_internal/InitiativeTemplateBusinessRules.js +75 -0
  73. package/dist/node/initiative-templates/_internal/InitiativeTemplateBusinessRules.js.map +1 -0
  74. package/dist/node/initiative-templates/_internal/InitiativeTemplateSchema.js +9 -0
  75. package/dist/node/initiative-templates/_internal/InitiativeTemplateSchema.js.map +1 -0
  76. package/dist/node/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js +38 -0
  77. package/dist/node/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.js.map +1 -0
  78. package/dist/node/initiative-templates/_internal/computeLinks.js +31 -0
  79. package/dist/node/initiative-templates/_internal/computeLinks.js.map +1 -0
  80. package/dist/node/initiative-templates/_internal/computeProps.js +43 -0
  81. package/dist/node/initiative-templates/_internal/computeProps.js.map +1 -0
  82. package/dist/node/initiative-templates/_internal/getPropertyMap.js +22 -0
  83. package/dist/node/initiative-templates/_internal/getPropertyMap.js.map +1 -0
  84. package/dist/node/initiative-templates/defaults.js +38 -0
  85. package/dist/node/initiative-templates/defaults.js.map +1 -0
  86. package/dist/node/initiative-templates/edit.js +103 -0
  87. package/dist/node/initiative-templates/edit.js.map +1 -0
  88. package/dist/node/initiative-templates/fetch.js +74 -0
  89. package/dist/node/initiative-templates/fetch.js.map +1 -0
  90. package/dist/node/initiative-templates/index.js +8 -0
  91. package/dist/node/initiative-templates/index.js.map +1 -0
  92. package/dist/node/initiative-templates/view.js +80 -0
  93. package/dist/node/initiative-templates/view.js.map +1 -0
  94. package/dist/node/permissions/HubPermissionPolicies.js +2 -0
  95. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
  96. package/dist/node/permissions/types/Permission.js +2 -0
  97. package/dist/node/permissions/types/Permission.js.map +1 -1
  98. package/dist/node/projects/HubProject.js +1 -1
  99. package/dist/types/core/schemas/types.d.ts +1 -1
  100. package/dist/types/core/types/HubEntityType.d.ts +1 -1
  101. package/dist/types/core/types/IHubInitiativeTemplate.d.ts +14 -0
  102. package/dist/types/core/types/index.d.ts +1 -0
  103. package/dist/types/index.d.ts +1 -0
  104. package/dist/types/initiative-templates/HubInitiativeTemplate.d.ts +82 -0
  105. package/dist/types/initiative-templates/_internal/InitiativeTemplateBusinessRules.d.ts +16 -0
  106. package/dist/types/initiative-templates/_internal/InitiativeTemplateSchema.d.ts +4 -0
  107. package/dist/types/initiative-templates/_internal/InitiativeTemplateUiSchemaEdit.d.ts +15 -0
  108. package/dist/types/initiative-templates/_internal/computeLinks.d.ts +12 -0
  109. package/dist/types/initiative-templates/_internal/computeProps.d.ts +12 -0
  110. package/dist/types/initiative-templates/_internal/getPropertyMap.d.ts +7 -0
  111. package/dist/types/initiative-templates/defaults.d.ts +8 -0
  112. package/dist/types/initiative-templates/edit.d.ts +32 -0
  113. package/dist/types/initiative-templates/fetch.d.ts +16 -0
  114. package/dist/types/initiative-templates/index.d.ts +4 -0
  115. package/dist/types/initiative-templates/view.d.ts +20 -0
  116. package/dist/types/permissions/types/Permission.d.ts +2 -1
  117. package/package.json +1 -1
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enrichInitiativeTemplateSearchResult = exports.convertItemToInitiativeTemplate = exports.fetchInitiativeTemplate = void 0;
4
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ const get_family_1 = require("../content/get-family");
6
+ const PropertyMapper_1 = require("../core/_internal/PropertyMapper");
7
+ const slugs_1 = require("../items/slugs");
8
+ const models_1 = require("../models");
9
+ const utils_1 = require("../utils");
10
+ const computeProps_1 = require("./_internal/computeProps");
11
+ const getPropertyMap_1 = require("./_internal/getPropertyMap");
12
+ const computeLinks_1 = require("./_internal/computeLinks");
13
+ async function fetchInitiativeTemplate(identifier, requestOptions) {
14
+ let getPrms;
15
+ if (utils_1.isGuid(identifier)) {
16
+ // get item by id
17
+ getPrms = arcgis_rest_portal_1.getItem(identifier, requestOptions);
18
+ }
19
+ else {
20
+ getPrms = slugs_1.getItemBySlug(identifier, requestOptions);
21
+ }
22
+ return getPrms.then((item) => {
23
+ if (!item)
24
+ return null;
25
+ return convertItemToInitiativeTemplate(item, requestOptions);
26
+ });
27
+ }
28
+ exports.fetchInitiativeTemplate = fetchInitiativeTemplate;
29
+ /**
30
+ * @private
31
+ * Convert a Hub Initiative Template Item into a Hub Initiative Template, feching any additional
32
+ * information that may be required
33
+ * @param item
34
+ * @param requestOptions
35
+ * @returns
36
+ */
37
+ async function convertItemToInitiativeTemplate(item, requestOptions) {
38
+ const model = await models_1.fetchModelFromItem(item, requestOptions);
39
+ const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
40
+ const it = mapper.storeToEntity(model, {});
41
+ return computeProps_1.computeProps(model, it, requestOptions);
42
+ }
43
+ exports.convertItemToInitiativeTemplate = convertItemToInitiativeTemplate;
44
+ async function enrichInitiativeTemplateSearchResult(item, include, requestOptions) {
45
+ const result = {
46
+ access: item.access,
47
+ id: item.id,
48
+ type: item.type,
49
+ name: item.title,
50
+ owner: item.owner,
51
+ typeKeywords: item.typeKeywords,
52
+ tags: item.tags,
53
+ categories: item.categories,
54
+ summary: item.snippet || item.description,
55
+ createdDate: new Date(item.created),
56
+ createdDateSource: "item.created",
57
+ updatedDate: new Date(item.modified),
58
+ updatedDateSource: "item.modified",
59
+ family: get_family_1.getFamily(item.type),
60
+ links: {
61
+ self: "not-implemented",
62
+ siteRelative: "not-implemented",
63
+ thumbnail: "not-implemented",
64
+ workspaceRelative: "not-implemented",
65
+ },
66
+ };
67
+ // TODO: reimplement enrichment fetching when we know what enrichments we're looking for
68
+ // Handle links
69
+ // TODO: links should be an enrichment
70
+ result.links = computeLinks_1.computeLinks(item, requestOptions);
71
+ return result;
72
+ }
73
+ exports.enrichInitiativeTemplateSearchResult = enrichInitiativeTemplateSearchResult;
74
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/initiative-templates/fetch.ts"],"names":[],"mappings":";;;AACA,iEAA0D;AAE1D,sDAAkD;AAGlD,qEAAkE;AAClE,0CAA+C;AAE/C,sCAA+C;AAG/C,oCAAyC;AACzC,2DAAwD;AACxD,+DAA4D;AAK5D,2DAAwD;AAEjD,KAAK,UAAU,uBAAuB,CAC3C,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,+BAA+B,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AAfD,0DAeC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,+BAA+B,CACnD,IAAW,EACX,cAA+B;IAE/B,MAAM,KAAK,GAAG,MAAM,2BAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,+BAAc,CAC/B,+BAAc,EAAE,CACjB,CAAC;IACF,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAA2B,CAAC;IACrE,OAAO,2BAAY,CAAC,KAAK,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;AACjD,CAAC;AAVD,0EAUC;AAEM,KAAK,UAAU,oCAAoC,CACxD,IAAW,EACX,OAAiB,EACjB,cAAkC;IAElC,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW;QACzC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,iBAAiB,EAAE,cAAc;QACjC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpC,iBAAiB,EAAE,eAAe;QAClC,MAAM,EAAE,sBAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,iBAAiB;YAC/B,SAAS,EAAE,iBAAiB;YAC5B,iBAAiB,EAAE,iBAAiB;SACrC;KACF,CAAC;IAEF,wFAAwF;IAExF,eAAe;IACf,sCAAsC;IACtC,MAAM,CAAC,KAAK,GAAG,2BAAY,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC;AAChB,CAAC;AAnCD,oFAmCC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./HubInitiativeTemplate"), exports);
5
+ tslib_1.__exportStar(require("./edit"), exports);
6
+ tslib_1.__exportStar(require("./fetch"), exports);
7
+ tslib_1.__exportStar(require("./view"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/initiative-templates/index.ts"],"names":[],"mappings":";;;AAAA,kEAAwC;AACxC,iDAAuB;AACvB,kDAAwB;AACxB,iDAAuB"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initiativeTemplateResultToCardModel = exports.initiativeTemplateToCardModel = void 0;
4
+ const getCardModelUrl_1 = require("../urls/getCardModelUrl");
5
+ const content_1 = require("../content");
6
+ const internalContentUtils_1 = require("../content/_internal/internalContentUtils");
7
+ /**
8
+ * Convert an initiative template entity into a card view model that can
9
+ * be consumed by the suite of hub gallery components
10
+ *
11
+ * @param initiativeTemplate initiative template entity
12
+ * @param context auth & portal information
13
+ * @param opts view model options
14
+ * @returns
15
+ */
16
+ exports.initiativeTemplateToCardModel = (initiativeTemplate, context, opts) => {
17
+ const { actionLinks = [], baseUrl = "", locale = "en-US", target = "self", } = opts || {};
18
+ const titleUrl = getCardModelUrl_1.getCardModelUrlFromEntity(initiativeTemplate, context, target, baseUrl);
19
+ return Object.assign(Object.assign(Object.assign({}, getSharedInitiativeTemplateCardModel(initiativeTemplate, locale)), { actionLinks,
20
+ titleUrl }), (initiativeTemplate.thumbnailUrl && {
21
+ thumbnailUrl: initiativeTemplate.thumbnailUrl,
22
+ }));
23
+ };
24
+ /**
25
+ * Convert an initiative template hub search result into a card view model that
26
+ * can be consumed by the suite of hub gallery components
27
+ *
28
+ * @param searchResult hub initiative template search result
29
+ * @param opts view model options
30
+ */
31
+ exports.initiativeTemplateResultToCardModel = (searchResult, opts) => {
32
+ const { actionLinks = [], baseUrl = "", locale = "en-US", target = "self", } = opts || {};
33
+ const titleUrl = getCardModelUrl_1.getCardModelUrlFromResult(searchResult, target, baseUrl);
34
+ return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, getSharedInitiativeTemplateCardModel(searchResult, locale)), { actionLinks }), (!isNaN(searchResult.index) && { index: searchResult.index })), { titleUrl }), (searchResult.links.thumbnail && {
35
+ thumbnailUrl: searchResult.links.thumbnail,
36
+ }));
37
+ };
38
+ const getSharedInitiativeTemplateCardModel = (entityOrSearchResult, locale) => {
39
+ var _a, _b;
40
+ const additionalInfo = [
41
+ {
42
+ i18nKey: "type",
43
+ value: entityOrSearchResult.type,
44
+ },
45
+ {
46
+ i18nKey: "dateUpdated",
47
+ value: entityOrSearchResult.updatedDate.toLocaleDateString(locale),
48
+ },
49
+ ...(((_a = entityOrSearchResult.tags) === null || _a === void 0 ? void 0 : _a.length) ? [
50
+ {
51
+ i18nKey: "tags",
52
+ value: entityOrSearchResult.tags.join(", "),
53
+ },
54
+ ]
55
+ : []),
56
+ ...(((_b = entityOrSearchResult.categories) === null || _b === void 0 ? void 0 : _b.length) ? [
57
+ {
58
+ i18nKey: "categories",
59
+ value: internalContentUtils_1.getShortenedCategories(entityOrSearchResult.categories).join(", "),
60
+ },
61
+ ]
62
+ : []),
63
+ {
64
+ i18nKey: "dateCreated",
65
+ value: entityOrSearchResult.createdDate.toLocaleDateString(locale),
66
+ },
67
+ ];
68
+ return {
69
+ access: entityOrSearchResult.access,
70
+ badges: [],
71
+ id: entityOrSearchResult.id,
72
+ family: content_1.getFamily(entityOrSearchResult.type),
73
+ source: entityOrSearchResult.owner,
74
+ summary: entityOrSearchResult.summary,
75
+ title: entityOrSearchResult.name,
76
+ type: entityOrSearchResult.type,
77
+ additionalInfo,
78
+ };
79
+ };
80
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/initiative-templates/view.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ const ContentBusinessRules_1 = require("../content/_internal/ContentBusinessRule
9
9
  const GroupBusinessRules_1 = require("../groups/_internal/GroupBusinessRules");
10
10
  const PageBusinessRules_1 = require("../pages/_internal/PageBusinessRules");
11
11
  const PlatformPermissionPolicies_1 = require("./PlatformPermissionPolicies");
12
+ const InitiativeTemplateBusinessRules_1 = require("../initiative-templates/_internal/InitiativeTemplateBusinessRules");
12
13
  // Examples of possible Permission Policies
13
14
  // const DiscussionPermissionPolicies: IPermissionPolicy[] = [
14
15
  // {
@@ -82,6 +83,7 @@ exports.HubPermissionsPolicies = [
82
83
  ...PageBusinessRules_1.PagePermissionPolicies,
83
84
  ...PlatformPermissionPolicies_1.PlatformPermissionPolicies,
84
85
  ...TempPermissionPolicies,
86
+ ...InitiativeTemplateBusinessRules_1.InitiativeTemplatePermissionPolicies,
85
87
  ];
86
88
  /**
87
89
  * 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;AAC/E,8FAAgG;AAChG,oFAAsF;AAGtF,+EAAiF;AACjF,4EAA8E;AAC9E,6EAA0E;AAC1E,2CAA2C;AAC3C,8DAA8D;AAC9D,MAAM;AACN,gDAAgD;AAChD,2BAA2B;AAC3B,iCAAiC;AACjC,8CAA8C;AAC9C,OAAO;AACP,MAAM;AACN,uDAAuD;AACvD,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,iCAAiC;AACjC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,6CAA6C;AAC7C,iCAAiC;AACjC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AAEL,MAAM,sBAAsB,GAAwB;IAClD;QACE,yBAAyB;QACzB,UAAU,EAAE,yBAAyB;QACrC,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KAClC;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,sBAAsB,GAAwB;IACzD,GAAG,2CAAuB;IAC1B,GAAG,gDAAyB;IAC5B,GAAG,sDAA4B;IAC/B,GAAG,sDAA4B;IAC/B,GAAG,gDAAyB;IAC5B,GAAG,4CAAuB;IAC1B,GAAG,0CAAsB;IACzB,GAAG,uDAA0B;IAC7B,GAAG,sBAAsB;CAC1B,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;AAChG,oFAAsF;AAGtF,+EAAiF;AACjF,4EAA8E;AAC9E,6EAA0E;AAC1E,uHAAyH;AACzH,2CAA2C;AAC3C,8DAA8D;AAC9D,MAAM;AACN,gDAAgD;AAChD,2BAA2B;AAC3B,iCAAiC;AACjC,8CAA8C;AAC9C,OAAO;AACP,MAAM;AACN,uDAAuD;AACvD,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,iCAAiC;AACjC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,6CAA6C;AAC7C,iCAAiC;AACjC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AAEL,MAAM,sBAAsB,GAAwB;IAClD;QACE,yBAAyB;QACzB,UAAU,EAAE,yBAAyB;QACrC,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KAClC;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,sBAAsB,GAAwB;IACzD,GAAG,2CAAuB;IAC1B,GAAG,gDAAyB;IAC5B,GAAG,sDAA4B;IAC/B,GAAG,sDAA4B;IAC/B,GAAG,gDAAyB;IAC5B,GAAG,4CAAuB;IAC1B,GAAG,0CAAsB;IACzB,GAAG,uDAA0B;IAC7B,GAAG,sBAAsB;IACzB,GAAG,sEAAoC;CACxC,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"}
@@ -9,6 +9,7 @@ const ContentBusinessRules_1 = require("../../content/_internal/ContentBusinessR
9
9
  const GroupBusinessRules_1 = require("../../groups/_internal/GroupBusinessRules");
10
10
  const PageBusinessRules_1 = require("../../pages/_internal/PageBusinessRules");
11
11
  const PlatformPermissionPolicies_1 = require("../PlatformPermissionPolicies");
12
+ const InitiativeTemplateBusinessRules_1 = require("../../initiative-templates/_internal/InitiativeTemplateBusinessRules");
12
13
  /**
13
14
  * Defines the values for Permissions
14
15
  * It's critical that the arrays defined in the modules use `as const`
@@ -27,6 +28,7 @@ const validPermissions = [
27
28
  ...PlatformPermissionPolicies_1.PlatformPermissions,
28
29
  ...TempPermissions,
29
30
  ...DiscussionBusinessRules_1.DiscussionPermissions,
31
+ ...InitiativeTemplateBusinessRules_1.InitiativeTemplatePermissions,
30
32
  ];
31
33
  /**
32
34
  * 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;AAC5F,iGAA4F;AAC5F,uFAAkF;AAClF,kFAA6E;AAC7E,+EAA0E;AAC1E,8EAAoE;AACpE;;;;GAIG;AACH,6EAA6E;AAC7E,kIAAkI;AAClI,MAAM,eAAe,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAEpD,MAAM,gBAAgB,GAAG;IACvB,GAAG,mCAAe;IAClB,GAAG,yCAAkB;IACrB,GAAG,+CAAqB;IACxB,GAAG,yCAAkB;IACrB,GAAG,qCAAgB;IACnB,GAAG,mCAAe;IAClB,GAAG,gDAAmB;IACtB,GAAG,eAAe;IAClB,GAAG,+CAAqB;CAChB,CAAC;AAgBX;;;;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;AAC5F,uFAAkF;AAClF,kFAA6E;AAC7E,+EAA0E;AAC1E,8EAAoE;AACpE,0HAAqH;AACrH;;;;GAIG;AACH,6EAA6E;AAC7E,kIAAkI;AAClI,MAAM,eAAe,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAEpD,MAAM,gBAAgB,GAAG;IACvB,GAAG,mCAAe;IAClB,GAAG,yCAAkB;IACrB,GAAG,+CAAqB;IACxB,GAAG,yCAAkB;IACrB,GAAG,qCAAgB;IACnB,GAAG,mCAAe;IAClB,GAAG,gDAAmB;IACtB,GAAG,eAAe;IAClB,GAAG,+CAAqB;IACxB,GAAG,+DAA6B;CACxB,CAAC;AAiBX;;;;GAIG;AACH,SAAgB,YAAY,CAAC,eAAuB;IAClD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AAClE,CAAC;AAFD,oCAEC"}
@@ -111,7 +111,7 @@ class HubProject extends HubItemEntity_1.HubItemEntity {
111
111
  /*
112
112
  * Get a specific editor config for the HubProject entity.
113
113
  * @param i18nScope translation scope to be interpolated into the uiSchema
114
- * @param type editor type - corresonds to the returned uiSchema
114
+ * @param type editor type - corresponds to the returned uiSchema
115
115
  * @param options optional hash of dynamic uiSchema element options
116
116
  */
117
117
  async getEditorConfig(i18nScope, type) {
@@ -5,7 +5,7 @@ import Ajv from "ajv";
5
5
  * to the supported/defined uiSchema configurations
6
6
  */
7
7
  export declare type EditorType = (typeof validEditorTypes)[number];
8
- export declare const validEditorTypes: readonly ["hub:project:create", "hub:project:edit", "hub:content:edit", "hub:content:settings", "hub:content:discussions", "hub:initiative:edit", "hub:initiative:create", "hub:site:edit", "hub:site:create", "hub:site:followers", "hub:site:discussions", "hub:discussion:edit", "hub:discussion:create", "hub:discussion:settings", "hub:page:edit", "hub:group:edit", "hub:group:settings", "hub:group:discussions"];
8
+ export declare const validEditorTypes: readonly ["hub:project:create", "hub:project:edit", "hub:content:edit", "hub:content:settings", "hub:content:discussions", "hub:initiative:edit", "hub:initiative:create", "hub:site:edit", "hub:site:create", "hub:site:followers", "hub:site:discussions", "hub:discussion:edit", "hub:discussion:create", "hub:discussion:settings", "hub:page:edit", "hub:group:edit", "hub:group:settings", "hub:group:discussions", "hub:initiativeTemplate:edit"];
9
9
  export declare enum UiSchemaRuleEffects {
10
10
  SHOW = "SHOW",
11
11
  HIDE = "HIDE",
@@ -1,2 +1,2 @@
1
- export declare const HUB_ENTITY_TYPES: readonly ["site", "project", "initiative", "page", "discussion", "content", "org", "group"];
1
+ export declare const HUB_ENTITY_TYPES: readonly ["site", "project", "initiative", "initiativeTemplate", "page", "discussion", "content", "org", "group"];
2
2
  export declare type HubEntityType = (typeof HUB_ENTITY_TYPES)[number];
@@ -0,0 +1,14 @@
1
+ import { IHubItemEntity } from "./IHubItemEntity";
2
+ import { IWithLayout, IWithSlug, IWithCatalog } from "../traits";
3
+ import { IHubItemEntityEditor } from "./IHubItemEntity";
4
+ /** Defines the properties of a Hub Initiative Template object */
5
+ export interface IHubInitiativeTemplate extends IHubItemEntity, IWithSlug, IWithCatalog, IWithLayout {
6
+ previewUrl: string;
7
+ recommendedTemplates: string[];
8
+ siteSolutionId: string;
9
+ }
10
+ /**
11
+ * This type redefines the IHubInitiativeTemplate interface in such a way
12
+ * that it can be consumed by the entity editor.
13
+ */
14
+ export declare type IHubInitiativeTemplateEditor = IHubItemEntityEditor<IHubInitiativeTemplate> & {};
@@ -11,6 +11,7 @@ export * from "./IHubEvent";
11
11
  export * from "./IHubGroup";
12
12
  export * from "./IHubImage";
13
13
  export * from "./IHubInitiative";
14
+ export * from "./IHubInitiativeTemplate";
14
15
  export * from "./IHubItemEntity";
15
16
  export * from "./IHubLayout";
16
17
  export * from "./IHubLocation";
@@ -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 "./initiative-templates";
15
16
  export * from "./discussions";
16
17
  export * from "./items";
17
18
  export * from "./models";
@@ -0,0 +1,82 @@
1
+ import { HubItemEntity } from "../core/HubItemEntity";
2
+ import { IHubInitiativeTemplate, IWithCatalogBehavior, IWithCardBehavior, IConvertToCardModelOpts, IHubCardViewModel, IEntityEditorContext, IHubInitiativeTemplateEditor, HubEntity } from "../core";
3
+ import { IEditorConfig, IWithEditorBehavior } from "../core/behaviors/IWithEditorBehavior";
4
+ import { EditorType } from "../core/schemas/types";
5
+ import { IArcGISContext } from "..";
6
+ import { Catalog } from "../search";
7
+ /**
8
+ * Hub Initiative Template Class
9
+ */
10
+ export declare class HubInitiativeTemplate extends HubItemEntity<IHubInitiativeTemplate> implements IWithCatalogBehavior, IWithEditorBehavior, IWithCardBehavior {
11
+ private _catalog;
12
+ private constructor();
13
+ get catalog(): Catalog;
14
+ /**
15
+ * Create an instance from an IHubInitiativeTemplate object
16
+ * @param json - JSON object to create a HubInitiativeTemplate from
17
+ * @param context - ArcGIS context
18
+ * @returns - instance of HubInitiativeTemplate
19
+ */
20
+ static fromJson(json: Partial<IHubInitiativeTemplate>, context: IArcGISContext): HubInitiativeTemplate;
21
+ /**
22
+ * Create a new HubInitiativeTemplate, returning a HubInitiativeTemplate instance.
23
+ * Note: This does not persist the HubInitiativeTemplate into the backing store
24
+ * @param partialInitiativeTemplate
25
+ * @param context
26
+ * @param save
27
+ * @returns
28
+ */
29
+ static create(partialInitiativeTemplate: Partial<IHubInitiativeTemplate>, context: IArcGISContext, save?: boolean): Promise<HubInitiativeTemplate>;
30
+ /**
31
+ * Fetch a HubInitiativeTemplate from the backing store and return a HubInitiativeTemplate instance.
32
+ * @param identifier - Identifier of the initiative template to load
33
+ * @param context
34
+ */
35
+ static fetch(identifier: string, context: IArcGISContext): Promise<HubInitiativeTemplate>;
36
+ /**
37
+ * Given a partial initiative template, apply defaults to it to ensure that a baseline of properties are set
38
+ * @param partialInitiativeTemplate
39
+ * @param context
40
+ * @returns
41
+ */
42
+ private static applyDefaults;
43
+ /**
44
+ * Convert the project entity into a card view model that can
45
+ * be consumed by the suite of hub gallery components
46
+ * @param opts - view model options
47
+ * @returns
48
+ */
49
+ convertToCardModel(opts?: IConvertToCardModelOpts): IHubCardViewModel;
50
+ /**
51
+ * Get the editor config for the HubInitiativeTemplate entity.
52
+ * @param i18nScope translation scope to be interpolated into the uiSchema
53
+ * @param type editor type -- corresponds to the returned uiSchema
54
+ */
55
+ getEditorConfig(i18nScope: string, type: EditorType): Promise<IEditorConfig>;
56
+ /**
57
+ * Return the initiative template as an editor object
58
+ * @param editorContext
59
+ */
60
+ toEditor(editorContext?: IEntityEditorContext, include?: string[]): Promise<IHubInitiativeTemplateEditor>;
61
+ /**
62
+ * Load the initiative template from the editor object
63
+ * @param editor
64
+ */
65
+ fromEditor(editor: IHubInitiativeTemplateEditor): Promise<HubEntity>;
66
+ /**
67
+ * Apply a new state to the instance
68
+ * @param changes
69
+ */
70
+ update(changes: Partial<IHubInitiativeTemplate>): void;
71
+ /**
72
+ * Save the HubInitiativeTemplate to the backing store.
73
+ * @returns
74
+ */
75
+ save(): Promise<void>;
76
+ /**
77
+ * Delete the HubInitiativeTemplate from the store
78
+ * set a flag to indicate that it is destroyed
79
+ * @returns
80
+ */
81
+ delete(): Promise<void>;
82
+ }
@@ -0,0 +1,16 @@
1
+ import { IFeatureFlags, IPermissionPolicy } from "../../permissions";
2
+ /**
3
+ * Default features for an Initiative Template. These are the features that can be enabled / disabled by the entity owner
4
+ */
5
+ export declare const InitiativeTemplateDefaultFeatures: IFeatureFlags;
6
+ /**
7
+ * Initiative Template Permission Policies
8
+ * These define the requirements any user must meet to perform related actions
9
+ * @private
10
+ */
11
+ export declare const InitiativeTemplatePermissions: readonly ["hub:initiativeTemplate", "hub:initiativeTemplate:create", "hub:initiativeTemplate:delete", "hub:initiativeTemplate:edit", "hub:initiativeTemplate:view", "hub:initiativeTemplate:workspace:overview", "hub:initiativeTemplate:workspace:details", "hub:initiativeTemplate:workspace:collaborators", "hub:initiativeTemplate:workspace:settings", "hub:initiativeTemplate:manage"];
12
+ /**
13
+ * Initiative Template policies
14
+ * @private
15
+ */
16
+ export declare const InitiativeTemplatePermissionPolicies: IPermissionPolicy[];
@@ -0,0 +1,4 @@
1
+ import { IConfigurationSchema } from "../../core";
2
+ export declare type InitiativeTemplateEditorType = (typeof InitiativeTemplateEditorTypes)[number];
3
+ export declare const InitiativeTemplateEditorTypes: readonly ["hub:initiativeTemplate:edit"];
4
+ export declare const InitiativeTemplateSchema: IConfigurationSchema;
@@ -0,0 +1,15 @@
1
+ import { IArcGISContext } from "../..";
2
+ import { IHubInitiativeTemplate } from "../../core";
3
+ import { IUiSchema } from "../../core/schemas/types";
4
+ /**
5
+ * @private
6
+ * constructs the complete edit uiSchema for Hub Initiative Templates.
7
+ * This defines how the schema properties should be rendered
8
+ * in the initiative template editing experience.
9
+ *
10
+ * @param i18nScope
11
+ * @param entity
12
+ * @param context
13
+ * @returns
14
+ */
15
+ export declare const buildUiSchema: (i18nScope: string, entity: IHubInitiativeTemplate, context: IArcGISContext) => Promise<IUiSchema>;
@@ -0,0 +1,12 @@
1
+ import { IRequestOptions } from "@esri/arcgis-rest-request";
2
+ import { IItem } from "@esri/arcgis-rest-types";
3
+ import { IHubEntityLinks } from "../../core";
4
+ /**
5
+ * Compute the links that get appended to a Hub Initiative Template
6
+ * search result and entity
7
+ *
8
+ * @param item
9
+ * @param requestOptions
10
+ * @returns
11
+ */
12
+ export declare function computeLinks(item: IItem, requestOptions: IRequestOptions): IHubEntityLinks;
@@ -0,0 +1,12 @@
1
+ import { IRequestOptions } from "@esri/arcgis-rest-request";
2
+ import { IHubInitiativeTemplate } from "../../core";
3
+ import { IModel } from "../../types";
4
+ /**
5
+ * Given a model and an initiative template, set various computed properties that can't be directly mapped
6
+ * @private
7
+ * @param model
8
+ * @param initiativeTemplate
9
+ * @param requestOptions
10
+ * @returns
11
+ */
12
+ export declare function computeProps(model: IModel, initiativeTemplate: Partial<IHubInitiativeTemplate>, requestOptions: IRequestOptions): IHubInitiativeTemplate;
@@ -0,0 +1,7 @@
1
+ import { IPropertyMap } from "../../core/_internal/PropertyMapper";
2
+ /**
3
+ * @private
4
+ * Returns an Array of IPropertyMap objects
5
+ * that define the projection of properties from an IModel to an IHubInitiativeTemplate
6
+ */
7
+ export declare function getPropertyMap(): IPropertyMap[];
@@ -0,0 +1,8 @@
1
+ import { IHubInitiativeTemplate } from "../core/types/IHubInitiativeTemplate";
2
+ import { IModel } from "../types";
3
+ export declare const HUB_INITIATIVE_TEMPLATE_ITEM_TYPE = "Hub Initiative Template";
4
+ /**
5
+ * Default values of a IHubInitiativeTemplate
6
+ */
7
+ export declare const DEFAULT_INITIATIVE_TEMPLATE: Partial<IHubInitiativeTemplate>;
8
+ export declare const DEFAULT_INITIATIVE_TEMPLATE_MODEL: IModel;
@@ -0,0 +1,32 @@
1
+ import { IUserRequestOptions } from "@esri/arcgis-rest-auth";
2
+ import { IPortal } from "@esri/arcgis-rest-portal";
3
+ import { IHubInitiativeTemplate, IHubInitiativeTemplateEditor } from "../core/types/IHubInitiativeTemplate";
4
+ /**
5
+ * @private
6
+ * Create a new Hub Initiative Template item
7
+ * @param partialInitiativeTemplate
8
+ * @param requestOptions
9
+ * @returns
10
+ */
11
+ export declare function createInitiativeTemplate(partialInitiativeTemplate: Partial<IHubInitiativeTemplate>, requestOptions: IUserRequestOptions): Promise<IHubInitiativeTemplate>;
12
+ /**
13
+ * Convert an IHubInitiativeTemplateEditor back to an IHubInitiativeTemplate
14
+ * @param editor
15
+ * @param portal
16
+ * @returns
17
+ */
18
+ export declare function editorToInitiativeTemplate(editor: IHubInitiativeTemplateEditor, portal: IPortal): IHubInitiativeTemplate;
19
+ /**
20
+ * @private
21
+ * Update a Hub Initiative Template
22
+ * @param initiativeTemplate
23
+ * @param requestOptions
24
+ */
25
+ export declare function updateInitiativeTemplate(initiativeTemplate: IHubInitiativeTemplate, requestOptions: IUserRequestOptions): Promise<IHubInitiativeTemplate>;
26
+ /**
27
+ * @private
28
+ * Remove a Hub Initiative Template
29
+ * @param id
30
+ * @param requestOptions
31
+ */
32
+ export declare function deleteInitiativeTemplate(id: string, requestOptions: IUserRequestOptions): Promise<void>;
@@ -0,0 +1,16 @@
1
+ import { IRequestOptions } from "@esri/arcgis-rest-request";
2
+ import { IItem } from "@esri/arcgis-rest-portal";
3
+ import { IHubInitiativeTemplate } from "../core/types";
4
+ import { IHubSearchResult } from "../search";
5
+ import { IHubRequestOptions } from "../types";
6
+ export declare function fetchInitiativeTemplate(identifier: string, requestOptions: IRequestOptions): Promise<IHubInitiativeTemplate>;
7
+ /**
8
+ * @private
9
+ * Convert a Hub Initiative Template Item into a Hub Initiative Template, feching any additional
10
+ * information that may be required
11
+ * @param item
12
+ * @param requestOptions
13
+ * @returns
14
+ */
15
+ export declare function convertItemToInitiativeTemplate(item: IItem, requestOptions: IRequestOptions): Promise<IHubInitiativeTemplate>;
16
+ export declare function enrichInitiativeTemplateSearchResult(item: IItem, include: string[], requestOptions: IHubRequestOptions): Promise<IHubSearchResult>;
@@ -0,0 +1,4 @@
1
+ export * from "./HubInitiativeTemplate";
2
+ export * from "./edit";
3
+ export * from "./fetch";
4
+ export * from "./view";
@@ -0,0 +1,20 @@
1
+ import { IHubInitiativeTemplate } from "../core/types/IHubInitiativeTemplate";
2
+ import { ResultToCardModelFn, EntityToCardModelFn } from "../core/types/IHubCardViewModel";
3
+ /**
4
+ * Convert an initiative template entity into a card view model that can
5
+ * be consumed by the suite of hub gallery components
6
+ *
7
+ * @param initiativeTemplate initiative template entity
8
+ * @param context auth & portal information
9
+ * @param opts view model options
10
+ * @returns
11
+ */
12
+ export declare const initiativeTemplateToCardModel: EntityToCardModelFn<IHubInitiativeTemplate>;
13
+ /**
14
+ * Convert an initiative template hub search result into a card view model that
15
+ * can be consumed by the suite of hub gallery components
16
+ *
17
+ * @param searchResult hub initiative template search result
18
+ * @param opts view model options
19
+ */
20
+ export declare const initiativeTemplateResultToCardModel: ResultToCardModelFn;
@@ -6,6 +6,7 @@ import { ContentPermissions } from "../../content/_internal/ContentBusinessRules
6
6
  import { GroupPermissions } from "../../groups/_internal/GroupBusinessRules";
7
7
  import { PagePermissions } from "../../pages/_internal/PageBusinessRules";
8
8
  import { PlatformPermissions } from "../PlatformPermissionPolicies";
9
+ import { InitiativeTemplatePermissions } from "../../initiative-templates/_internal/InitiativeTemplateBusinessRules";
9
10
  /**
10
11
  * Defines the values for Permissions
11
12
  * It's critical that the arrays defined in the modules use `as const`
@@ -15,7 +16,7 @@ declare const TempPermissions: string[];
15
16
  /**
16
17
  * Defines the possible values for Permissions
17
18
  */
18
- export declare type Permission = (typeof SitePermissions)[number] | (typeof ProjectPermissions)[number] | (typeof InitiativePermissions)[number] | (typeof ContentPermissions)[number] | (typeof GroupPermissions)[number] | (typeof PagePermissions)[number] | (typeof PlatformPermissions)[number] | (typeof TempPermissions)[number] | (typeof DiscussionPermissions)[number];
19
+ export declare type Permission = (typeof SitePermissions)[number] | (typeof ProjectPermissions)[number] | (typeof InitiativePermissions)[number] | (typeof ContentPermissions)[number] | (typeof GroupPermissions)[number] | (typeof PagePermissions)[number] | (typeof PlatformPermissions)[number] | (typeof TempPermissions)[number] | (typeof DiscussionPermissions)[number] | (typeof InitiativeTemplatePermissions)[number];
19
20
  /**
20
21
  * Validate a Permission
21
22
  * @param permission
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "14.24.0",
3
+ "version": "14.25.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",