@esri/hub-common 14.169.0 → 14.170.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 (139) hide show
  1. package/dist/esm/content/_internal/ContentBusinessRules.js +6 -0
  2. package/dist/esm/content/_internal/ContentBusinessRules.js.map +1 -1
  3. package/dist/esm/core/_internal/getBasePropertyMap.js +1 -1
  4. package/dist/esm/core/_internal/getBasePropertyMap.js.map +1 -1
  5. package/dist/esm/core/types/IHubProject.js.map +1 -1
  6. package/dist/esm/discussions/defaults.js +2 -0
  7. package/dist/esm/discussions/defaults.js.map +1 -1
  8. package/dist/esm/events/defaults.js +1 -1
  9. package/dist/esm/events/defaults.js.map +1 -1
  10. package/dist/esm/index.js +5 -0
  11. package/dist/esm/index.js.map +1 -1
  12. package/dist/esm/initiatives/defaults.js +2 -0
  13. package/dist/esm/initiatives/defaults.js.map +1 -1
  14. package/dist/esm/permissions/HubPermissionPolicies.js +4 -0
  15. package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
  16. package/dist/esm/permissions/checkPermission.js +16 -14
  17. package/dist/esm/permissions/checkPermission.js.map +1 -1
  18. package/dist/esm/permissions/types/Permission.js +1 -0
  19. package/dist/esm/permissions/types/Permission.js.map +1 -1
  20. package/dist/esm/projects/defaults.js +2 -0
  21. package/dist/esm/projects/defaults.js.map +1 -1
  22. package/dist/esm/search/Catalog.js +85 -54
  23. package/dist/esm/search/Catalog.js.map +1 -1
  24. package/dist/esm/search/_internal/getCatalogGroups.js +51 -0
  25. package/dist/esm/search/_internal/getCatalogGroups.js.map +1 -0
  26. package/dist/esm/search/_internal/getEntityTypeFromType.js +1 -1
  27. package/dist/esm/search/_internal/getUserGroupsFromQuery.js +46 -0
  28. package/dist/esm/search/_internal/getUserGroupsFromQuery.js.map +1 -0
  29. package/dist/esm/search/_internal/getWorkflowForType.js +211 -0
  30. package/dist/esm/search/_internal/getWorkflowForType.js.map +1 -0
  31. package/dist/esm/search/_internal/index.js +2 -0
  32. package/dist/esm/search/_internal/index.js.map +1 -1
  33. package/dist/esm/search/_internal/negateGroupPredicates.js +2 -2
  34. package/dist/esm/search/_internal/negateGroupPredicates.js.map +1 -1
  35. package/dist/esm/search/_internal/portalSearchItems.js +12 -2
  36. package/dist/esm/search/_internal/portalSearchItems.js.map +1 -1
  37. package/dist/esm/search/getAddContentConfig.js +230 -0
  38. package/dist/esm/search/getAddContentConfig.js.map +1 -0
  39. package/dist/esm/search/getPredicateValues.js +32 -0
  40. package/dist/esm/search/getPredicateValues.js.map +1 -0
  41. package/dist/esm/search/searchCatalogs.js +66 -0
  42. package/dist/esm/search/searchCatalogs.js.map +1 -0
  43. package/dist/esm/search/searchEntityCatalogs.js +19 -0
  44. package/dist/esm/search/searchEntityCatalogs.js.map +1 -0
  45. package/dist/esm/search/serializeQueryForPortal.js +4 -4
  46. package/dist/esm/search/serializeQueryForPortal.js.map +1 -1
  47. package/dist/esm/search/types/AddContentWorkflowTypes.js +1 -0
  48. package/dist/esm/search/types/AddContentWorkflowTypes.js.map +1 -0
  49. package/dist/esm/search/types/IGroupsByMembership.js +4 -0
  50. package/dist/esm/search/types/IGroupsByMembership.js.map +1 -0
  51. package/dist/esm/search/types/index.js +1 -1
  52. package/dist/esm/search/types/index.js.map +1 -1
  53. package/dist/esm/sites/defaults.js +2 -0
  54. package/dist/esm/sites/defaults.js.map +1 -1
  55. package/dist/node/content/_internal/ContentBusinessRules.js +6 -0
  56. package/dist/node/content/_internal/ContentBusinessRules.js.map +1 -1
  57. package/dist/node/core/_internal/getBasePropertyMap.js +1 -1
  58. package/dist/node/core/_internal/getBasePropertyMap.js.map +1 -1
  59. package/dist/node/core/types/IHubProject.js.map +1 -1
  60. package/dist/node/discussions/defaults.js +2 -0
  61. package/dist/node/discussions/defaults.js.map +1 -1
  62. package/dist/node/events/defaults.js +1 -1
  63. package/dist/node/events/defaults.js.map +1 -1
  64. package/dist/node/index.js +5 -0
  65. package/dist/node/index.js.map +1 -1
  66. package/dist/node/initiatives/defaults.js +2 -0
  67. package/dist/node/initiatives/defaults.js.map +1 -1
  68. package/dist/node/permissions/HubPermissionPolicies.js +4 -0
  69. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
  70. package/dist/node/permissions/checkPermission.js +16 -14
  71. package/dist/node/permissions/checkPermission.js.map +1 -1
  72. package/dist/node/permissions/types/Permission.js +1 -0
  73. package/dist/node/permissions/types/Permission.js.map +1 -1
  74. package/dist/node/projects/defaults.js +2 -0
  75. package/dist/node/projects/defaults.js.map +1 -1
  76. package/dist/node/search/Catalog.js +85 -54
  77. package/dist/node/search/Catalog.js.map +1 -1
  78. package/dist/node/search/_internal/getCatalogGroups.js +55 -0
  79. package/dist/node/search/_internal/getCatalogGroups.js.map +1 -0
  80. package/dist/node/search/_internal/getEntityTypeFromType.js +1 -1
  81. package/dist/node/search/_internal/getUserGroupsFromQuery.js +50 -0
  82. package/dist/node/search/_internal/getUserGroupsFromQuery.js.map +1 -0
  83. package/dist/node/search/_internal/getWorkflowForType.js +216 -0
  84. package/dist/node/search/_internal/getWorkflowForType.js.map +1 -0
  85. package/dist/node/search/_internal/index.js +2 -0
  86. package/dist/node/search/_internal/index.js.map +1 -1
  87. package/dist/node/search/_internal/negateGroupPredicates.js +1 -1
  88. package/dist/node/search/_internal/negateGroupPredicates.js.map +1 -1
  89. package/dist/node/search/_internal/portalSearchItems.js +15 -4
  90. package/dist/node/search/_internal/portalSearchItems.js.map +1 -1
  91. package/dist/node/search/getAddContentConfig.js +234 -0
  92. package/dist/node/search/getAddContentConfig.js.map +1 -0
  93. package/dist/node/search/getPredicateValues.js +36 -0
  94. package/dist/node/search/getPredicateValues.js.map +1 -0
  95. package/dist/node/search/searchCatalogs.js +70 -0
  96. package/dist/node/search/searchCatalogs.js.map +1 -0
  97. package/dist/node/search/searchEntityCatalogs.js +23 -0
  98. package/dist/node/search/searchEntityCatalogs.js.map +1 -0
  99. package/dist/node/search/serializeQueryForPortal.js +4 -4
  100. package/dist/node/search/serializeQueryForPortal.js.map +1 -1
  101. package/dist/node/search/types/{ISearchResponseHash.js → AddContentWorkflowTypes.js} +1 -1
  102. package/dist/node/search/types/AddContentWorkflowTypes.js.map +1 -0
  103. package/dist/node/search/types/IGroupsByMembership.js +6 -0
  104. package/dist/node/search/types/IGroupsByMembership.js.map +1 -0
  105. package/dist/node/search/types/index.js +1 -1
  106. package/dist/node/search/types/index.js.map +1 -1
  107. package/dist/node/sites/defaults.js +2 -0
  108. package/dist/node/sites/defaults.js.map +1 -1
  109. package/dist/types/content/_internal/ContentBusinessRules.d.ts +1 -1
  110. package/dist/types/core/traits/IWithCatalog.d.ts +9 -0
  111. package/dist/types/core/types/IHubDiscussion.d.ts +4 -2
  112. package/dist/types/core/types/IHubEvent.d.ts +4 -2
  113. package/dist/types/core/types/IHubInitiative.d.ts +5 -2
  114. package/dist/types/core/types/IHubItemEntity.d.ts +3 -1
  115. package/dist/types/core/types/IHubProject.d.ts +3 -2
  116. package/dist/types/core/types/IHubSite.d.ts +6 -2
  117. package/dist/types/index.d.ts +5 -0
  118. package/dist/types/search/Catalog.d.ts +15 -12
  119. package/dist/types/search/_internal/getCatalogGroups.d.ts +11 -0
  120. package/dist/types/search/_internal/getEntityTypeFromType.d.ts +1 -1
  121. package/dist/types/search/_internal/getUserGroupsFromQuery.d.ts +13 -0
  122. package/dist/types/search/_internal/getWorkflowForType.d.ts +61 -0
  123. package/dist/types/search/_internal/index.d.ts +2 -0
  124. package/dist/types/search/_internal/portalSearchItems.d.ts +7 -0
  125. package/dist/types/search/getAddContentConfig.d.ts +11 -0
  126. package/dist/types/search/getPredicateValues.d.ts +8 -0
  127. package/dist/types/search/searchCatalogs.d.ts +15 -0
  128. package/dist/types/search/searchEntityCatalogs.d.ts +15 -0
  129. package/dist/types/search/types/AddContentWorkflowTypes.d.ts +36 -0
  130. package/dist/types/search/types/IGroupsByMembership.d.ts +22 -0
  131. package/dist/types/search/types/IHubCatalog.d.ts +14 -0
  132. package/dist/types/search/types/IHubSearchOptions.d.ts +29 -17
  133. package/dist/types/search/types/index.d.ts +1 -1
  134. package/dist/types/search/types/types.d.ts +16 -0
  135. package/package.json +1 -1
  136. package/dist/esm/search/types/ISearchResponseHash.js +0 -1
  137. package/dist/esm/search/types/ISearchResponseHash.js.map +0 -1
  138. package/dist/node/search/types/ISearchResponseHash.js.map +0 -1
  139. package/dist/types/search/types/ISearchResponseHash.d.ts +0 -7
@@ -0,0 +1,36 @@
1
+ import { IGroupsByMembership } from "./IGroupsByMembership";
2
+ import { EntityType, IQuery } from "./IHubCatalog";
3
+ /**
4
+ * `AddContentWorkflow` is a string literal type that
5
+ * defines the possible "Add Content" workflows
6
+ */
7
+ export declare type AddContentWorkflow = "create" | "upload" | "existing";
8
+ /**
9
+ * `IAddContentWorkflowConfig` is an interface that defines the
10
+ * configuration for the "Add Content" workflows
11
+ */
12
+ export interface IAddContentWorkflowConfig {
13
+ create?: IAddContentCreateWorkflowConfig;
14
+ upload?: IAddContentUploadWorkflowConfig;
15
+ existing?: IAddContentExistingWorkflowConfig;
16
+ state: "enabled" | "disabled";
17
+ reason?: "no-permission" | "not-in-groups" | "invalid-object" | "unsupported-target-entity";
18
+ }
19
+ export declare type AddContentWorkflowConfig = IAddContentCreateWorkflowConfig | IAddContentExistingWorkflowConfig | IAddContentUploadWorkflowConfig;
20
+ interface IAddContentWorkflowBaseConfig {
21
+ targetEntity: EntityType;
22
+ workflow: AddContentWorkflow;
23
+ types: string[];
24
+ groups?: IGroupsByMembership;
25
+ }
26
+ export interface IAddContentCreateWorkflowConfig extends IAddContentWorkflowBaseConfig {
27
+ workflow: "create";
28
+ }
29
+ export interface IAddContentExistingWorkflowConfig extends IAddContentWorkflowBaseConfig {
30
+ workflow: "existing";
31
+ query: IQuery;
32
+ }
33
+ export interface IAddContentUploadWorkflowConfig extends IAddContentWorkflowBaseConfig {
34
+ workflow: "upload";
35
+ }
36
+ export {};
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Arrays of groupId's, based on the user's membership in the group
3
+ */
4
+ export interface IGroupsByMembership {
5
+ /**
6
+ * Groups where the user is the owner, allowing them
7
+ * to add / remove members, as well as share content
8
+ * they do not own
9
+ */
10
+ owner: string[];
11
+ /**
12
+ * Groups where the user is an admin, allowing them
13
+ * to add / remove members, as well as share content
14
+ * they do not own
15
+ */
16
+ admin: string[];
17
+ /**
18
+ * Groups where the user is a member. ViewOnly groups
19
+ * will not be included in this list.
20
+ */
21
+ member: string[];
22
+ }
@@ -4,6 +4,10 @@ export interface IHubCatalog {
4
4
  * Title for the Gallery
5
5
  */
6
6
  title?: string;
7
+ /**
8
+ * Optional Emoji to show in the UI
9
+ */
10
+ emojii?: string;
7
11
  /**
8
12
  * Filter defines the "scopes" of the Catalog, on a per entity type basis
9
13
  */
@@ -16,6 +20,16 @@ export interface IHubCatalog {
16
20
  * Schema Version
17
21
  */
18
22
  schemaVersion: number;
23
+ /**
24
+ * Hashes to verify the integrity of the catalog
25
+ * Only verified when the catalog is loaded into the editor
26
+ * If the hashes do not match, the catalog will not be loaded
27
+ * and the user will simply have the option to reset the catalog
28
+ */
29
+ integrity?: {
30
+ scopes: string;
31
+ collections: string;
32
+ };
19
33
  }
20
34
  export interface ICatalogScope extends Partial<Record<EntityType, IQuery>> {
21
35
  }
@@ -3,10 +3,38 @@ import { IHubRequestOptions } from "../../types";
3
3
  import { EntityType } from "./IHubCatalog";
4
4
  import { NamedApis, IApiDefinition } from "./types";
5
5
  export declare type Enrichments = "data" | "metadata" | "org" | "service" | "layers";
6
+ /**
7
+ * Paging Options
8
+ * Separated out from IHubSearchOptions to allow for reuse
9
+ */
10
+ export interface IPagingOptions {
11
+ /**
12
+ * Maximum number of results to return, per-page
13
+ */
14
+ num?: number;
15
+ /**
16
+ * The result number of the first entry in the result set response. The start parameter, along with the num parameter, can be used to paginate the search results.
17
+ */
18
+ start?: number;
19
+ }
20
+ /**
21
+ * Sorting Options
22
+ * Separated out from IHubSearchOptions to allow for reuse
23
+ */
24
+ export interface ISortOptions {
25
+ /**
26
+ * What field should the results be sorted on
27
+ */
28
+ sortField?: string;
29
+ /**
30
+ * Sort direction
31
+ */
32
+ sortOrder?: "desc" | "asc";
33
+ }
6
34
  /**
7
35
  * Search Options
8
36
  */
9
- export interface IHubSearchOptions {
37
+ export interface IHubSearchOptions extends IPagingOptions, ISortOptions {
10
38
  /**
11
39
  * Fields to return aggregations on
12
40
  */
@@ -49,24 +77,8 @@ export interface IHubSearchOptions {
49
77
  * Specify what entity to search for; For use with hubSearch
50
78
  */
51
79
  targetEntity?: EntityType;
52
- /**
53
- * Maximum number of results to return, per-page
54
- */
55
- num?: number;
56
80
  /**
57
81
  * LEGACY. Use `start` and `num` instead
58
82
  */
59
83
  page?: string;
60
- /**
61
- * What field should the results be sorted on
62
- */
63
- sortField?: string;
64
- /**
65
- * Sort direction
66
- */
67
- sortOrder?: "desc" | "asc";
68
- /**
69
- * The result number of the first entry in the result set response. The start parameter, along with the num parameter, can be used to paginate the search results.
70
- */
71
- start?: number;
72
84
  }
@@ -4,4 +4,4 @@ export * from "./IHubSearchResult";
4
4
  export * from "./IHubSearchResponse";
5
5
  export * from "./types";
6
6
  export * from "./IHubCatalog";
7
- export * from "./ISearchResponseHash";
7
+ export * from "./AddContentWorkflowTypes";
@@ -1,4 +1,6 @@
1
1
  import { EntityType, IHubCatalog } from "./IHubCatalog";
2
+ import { IHubSearchResponse } from "./IHubSearchResponse";
3
+ import { IHubSearchResult } from "./IHubSearchResult";
2
4
  /**
3
5
  * Sort Option to be displayed in a UI
4
6
  */
@@ -110,3 +112,17 @@ export interface IContainsResponse {
110
112
  */
111
113
  duration?: number;
112
114
  }
115
+ /**
116
+ * Response from a search operation on a Catalog
117
+ */
118
+ export interface ICatalogSearchResponse {
119
+ catalogTitle: string;
120
+ collectionResults: ISearchResponseHash;
121
+ scopeResults?: ISearchResponseHash;
122
+ }
123
+ /**
124
+ * Response from a Catalog search operation where the responses for different collections
125
+ * or entities are grouped into a single object.
126
+ */
127
+ export interface ISearchResponseHash extends Record<string, IHubSearchResponse<IHubSearchResult>> {
128
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "14.169.0",
3
+ "version": "14.170.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",
@@ -1 +0,0 @@
1
- //# sourceMappingURL=ISearchResponseHash.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ISearchResponseHash.js","sourceRoot":"","sources":["../../../../src/search/types/ISearchResponseHash.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ISearchResponseHash.js","sourceRoot":"","sources":["../../../../src/search/types/ISearchResponseHash.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- import { IHubSearchResponse, IHubSearchResult } from ".";
2
- /**
3
- * Response from a Catalog search operation where the responses for different collections
4
- * or entities are grouped into a single object.
5
- */
6
- export interface ISearchResponseHash extends Record<string, IHubSearchResponse<IHubSearchResult>> {
7
- }