@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,216 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDefaultCreateableTypes = exports.getWorkflowForType = void 0;
4
+ const checkPermission_1 = require("../../permissions/checkPermission");
5
+ /**
6
+ * Given a type and context, return the workflows that are available to the user.
7
+ * This checks the permissions for defined for the type, and if the user has the
8
+ * permission, returns the workflows defined for the type.
9
+ * @param type
10
+ * @param context
11
+ * @returns
12
+ */
13
+ function getWorkflowForType(type, context) {
14
+ // Default response is an empty array of workflows
15
+ // meaning the user can not do anything with this type
16
+ const response = {
17
+ type,
18
+ targetEntity: "item",
19
+ workflows: [],
20
+ };
21
+ // If the type has a definition, we use those settings, but otherwise
22
+ // we default to "existing"
23
+ const definition = TypeWorkflowDefinitions.find((ct) => ct.type === type);
24
+ // if we don't have a definition, we default to "existing"
25
+ if (!definition) {
26
+ // check of the user can share items
27
+ if (checkPermission_1.checkPermission("platform:portal:user:shareToGroup", context).access) {
28
+ response.workflows = ["existing"];
29
+ }
30
+ else {
31
+ // if the user can't share items, we don't return any workflows
32
+ // FUTURE: Add the failed permisson check to the response
33
+ }
34
+ }
35
+ else {
36
+ // ensure the targetEntity is set
37
+ response.targetEntity = definition.targetEntity;
38
+ // otherwise we check the permission first...
39
+ if (checkPermission_1.checkPermission(definition.permission, context).access) {
40
+ response.workflows = definition.workflows;
41
+ }
42
+ else {
43
+ // we leave the workflows empty if the user does not have the permission
44
+ // FUTURE: Add the failed permisson check to the response
45
+ }
46
+ }
47
+ return response;
48
+ }
49
+ exports.getWorkflowForType = getWorkflowForType;
50
+ /**
51
+ * Return a list of types to use as the "default" types a user could possibly
52
+ * create / add (depending on permissions and group access).
53
+ * This list is used when an IQuery does not have type predicates, which
54
+ * we interpret as "all types", which is this list.
55
+ * @param context
56
+ * @returns
57
+ */
58
+ function getDefaultCreateableTypes(context, limitTo = []) {
59
+ const itemCreateableTypes = ["Hub Project", "Hub Initiative", "Discussion"];
60
+ // If the user has the hub:license:enterprise-sites permission
61
+ // they are on Enterprise and the types are "site applications" and "site pages"
62
+ if (checkPermission_1.checkPermission("hub:environment:enterprise", context).access) {
63
+ itemCreateableTypes.push("Site Application");
64
+ itemCreateableTypes.push("Site Page");
65
+ }
66
+ else {
67
+ // Otherwise we infer they are running on AGO, and can
68
+ // the types are "hub site applications" and "hub pages"
69
+ itemCreateableTypes.push("Hub Site Application");
70
+ itemCreateableTypes.push("Hub Page");
71
+ }
72
+ const eventCreateableTypes = ["Event"];
73
+ const groupCreateableTypes = ["Group"];
74
+ let response = [];
75
+ if (limitTo.length) {
76
+ if (limitTo.includes("item")) {
77
+ response = itemCreateableTypes;
78
+ }
79
+ if (limitTo.includes("event")) {
80
+ response = [...response, ...eventCreateableTypes];
81
+ }
82
+ if (limitTo.includes("group")) {
83
+ response = [...response, ...groupCreateableTypes];
84
+ }
85
+ }
86
+ else {
87
+ response = [
88
+ ...itemCreateableTypes,
89
+ ...eventCreateableTypes,
90
+ ...groupCreateableTypes,
91
+ ];
92
+ }
93
+ return response;
94
+ }
95
+ exports.getDefaultCreateableTypes = getDefaultCreateableTypes;
96
+ /**
97
+ * @internal
98
+ * Define the content types and their workflows
99
+ * Note: This does not include non-item backed types like Event or Group
100
+ * which are handled separately in getQueryContentConfig
101
+ * Note: This is not exported from the package so changes are non-breaking
102
+ * in terms of semver.
103
+ */
104
+ const TypeWorkflowDefinitions = [
105
+ {
106
+ type: "Discussion",
107
+ targetEntity: "item",
108
+ permission: "hub:discussion:create",
109
+ workflows: ["create", "existing"],
110
+ },
111
+ {
112
+ type: "Hub Project",
113
+ targetEntity: "item",
114
+ permission: "hub:project:create",
115
+ workflows: ["create", "existing"],
116
+ },
117
+ {
118
+ type: "Hub Page",
119
+ targetEntity: "item",
120
+ permission: "hub:page:create",
121
+ workflows: ["create", "existing"],
122
+ },
123
+ {
124
+ type: "Site Page",
125
+ targetEntity: "item",
126
+ permission: "hub:page:create",
127
+ workflows: ["create", "existing"],
128
+ },
129
+ {
130
+ type: "Hub Initiative",
131
+ targetEntity: "item",
132
+ permission: "hub:initiative:create",
133
+ workflows: ["create", "existing"],
134
+ },
135
+ {
136
+ type: "Hub Site Application",
137
+ targetEntity: "item",
138
+ permission: "hub:site:create",
139
+ workflows: ["create", "existing"],
140
+ },
141
+ {
142
+ type: "Site Application",
143
+ targetEntity: "item",
144
+ permission: "hub:site:create",
145
+ workflows: ["create", "existing"],
146
+ },
147
+ {
148
+ type: "Group",
149
+ targetEntity: "group",
150
+ permission: "hub:group:create",
151
+ workflows: ["create"],
152
+ },
153
+ {
154
+ type: "Event",
155
+ targetEntity: "event",
156
+ permission: "hub:event:create",
157
+ workflows: ["create", "existing"],
158
+ },
159
+ {
160
+ // Documents will be uploadable / creatable by Hub
161
+ // so this entry exists separate from the others
162
+ // which will be created in AGO, and just ADDED
163
+ // via Hub
164
+ type: "$document",
165
+ targetEntity: "item",
166
+ permission: "hub:content:document:create",
167
+ workflows: ["upload", "existing"],
168
+ },
169
+ // Anything that just has existing really just needs
170
+ // to check if the user has the permission to share
171
+ // which we can do with the platform permission vs having
172
+ // to define a specific permission for each type
173
+ {
174
+ type: "$application",
175
+ targetEntity: "item",
176
+ permission: "platform:portal:user:shareToGroup",
177
+ workflows: ["existing"],
178
+ },
179
+ {
180
+ type: "$feedback",
181
+ targetEntity: "item",
182
+ permission: "platform:portal:user:shareToGroup",
183
+ workflows: ["existing"],
184
+ },
185
+ {
186
+ type: "$dashboard",
187
+ targetEntity: "item",
188
+ permission: "platform:portal:user:shareToGroup",
189
+ workflows: ["existing"],
190
+ },
191
+ {
192
+ type: "$dataset",
193
+ targetEntity: "item",
194
+ permission: "platform:portal:user:shareToGroup",
195
+ workflows: ["existing"],
196
+ },
197
+ {
198
+ type: "$experience",
199
+ targetEntity: "item",
200
+ permission: "platform:portal:user:shareToGroup",
201
+ workflows: ["existing"],
202
+ },
203
+ {
204
+ type: "$storymap",
205
+ targetEntity: "item",
206
+ permission: "platform:portal:user:shareToGroup",
207
+ workflows: ["existing"],
208
+ },
209
+ {
210
+ type: "$webmap",
211
+ targetEntity: "item",
212
+ permission: "platform:portal:user:shareToGroup",
213
+ workflows: ["existing"],
214
+ },
215
+ ];
216
+ //# sourceMappingURL=getWorkflowForType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWorkflowForType.js","sourceRoot":"","sources":["../../../../src/search/_internal/getWorkflowForType.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,6 @@ tslib_1.__exportStar(require("./portalSearchUsers"), exports);
8
8
  tslib_1.__exportStar(require("./hubSearchChannels"), exports);
9
9
  tslib_1.__exportStar(require("./hubSearchEvents"), exports);
10
10
  tslib_1.__exportStar(require("./hubSearchEventAttendees"), exports);
11
+ tslib_1.__exportStar(require("./getWorkflowForType"), exports);
12
+ tslib_1.__exportStar(require("./getCatalogGroups"), exports);
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/search/_internal/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,2DAAiC;AACjC,+DAAqC;AACrC,8DAAoC;AACpC,8DAAoC;AACpC,4DAAkC;AAClC,oEAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/search/_internal/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,2DAAiC;AACjC,+DAAqC;AACrC,8DAAoC;AACpC,8DAAoC;AACpC,4DAAkC;AAClC,oEAA0C;AAC1C,+DAAqC;AACrC,6DAAmC"}
@@ -14,7 +14,7 @@ function negateGroupPredicates(query) {
14
14
  if (!query) {
15
15
  return;
16
16
  }
17
- const expanded = portalSearchItems_1.expandQuery(query);
17
+ const expanded = portalSearchItems_1.expandPredicates(query);
18
18
  // negate the group predicate on the query
19
19
  // we opted to be surgical about this vs attempting a `negateQuery(query)` function
20
20
  expanded.filters.forEach((f) => {
@@ -1 +1 @@
1
- {"version":3,"file":"negateGroupPredicates.js","sourceRoot":"","sources":["../../../../src/search/_internal/negateGroupPredicates.ts"],"names":[],"mappings":";;;AACA,2DAAkD;AAElD;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,KAAa;IACjD,gDAAgD;IAChD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO;KACR;IACD,MAAM,QAAQ,GAAG,+BAAW,CAAC,KAAK,CAAC,CAAC;IACpC,0CAA0C;IAC1C,mFAAmF;IACnF,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,CAAC,KAAK,EAAE;gBACX,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC/D,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;gBACjB,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;aAClB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAlBD,sDAkBC"}
1
+ {"version":3,"file":"negateGroupPredicates.js","sourceRoot":"","sources":["../../../../src/search/_internal/negateGroupPredicates.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AAEvD;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,KAAa;IACjD,gDAAgD;IAChD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO;KACR;IACD,MAAM,QAAQ,GAAG,oCAAgB,CAAC,KAAK,CAAC,CAAC;IACzC,0CAA0C;IAC1C,mFAAmF;IACnF,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,CAAC,KAAK,EAAE;gBACX,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC/D,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;gBACjB,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;aAClB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAlBD,sDAkBC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isWellKnownTypeFilter = exports.applyWellKnownItemPredicates = exports.applyWellKnownCollectionFilters = exports.WellKnownItemPredicates = exports.itemToSearchResult = exports.expandQuery = exports.portalSearchItemsAsItems = exports.portalSearchItems = void 0;
3
+ exports.isWellKnownTypeFilter = exports.applyWellKnownItemPredicates = exports.applyWellKnownCollectionFilters = exports.WellKnownItemPredicates = exports.itemToSearchResult = exports.expandPredicates = exports.expandQuery = exports.portalSearchItemsAsItems = exports.portalSearchItems = void 0;
4
4
  const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
5
  const serializeQueryForPortal_1 = require("../serializeQueryForPortal");
6
6
  const HubPages_1 = require("../../pages/HubPages");
@@ -54,13 +54,24 @@ function expandQuery(query) {
54
54
  // TODO: Should we remove this with the whole idea of collections?
55
55
  updatedQuery = applyWellKnownItemPredicates(updatedQuery);
56
56
  // Expand the individual predicates in each filter
57
- updatedQuery.filters = updatedQuery.filters.map((filter) => {
57
+ return expandPredicates(updatedQuery);
58
+ }
59
+ exports.expandQuery = expandQuery;
60
+ /**
61
+ * Expand the predicates in a query without applying
62
+ * the well-known type expansions
63
+ * @param query
64
+ * @returns
65
+ */
66
+ function expandPredicates(query) {
67
+ const clonedQuery = util_1.cloneObject(query);
68
+ clonedQuery.filters = clonedQuery.filters.map((filter) => {
58
69
  filter.predicates = filter.predicates.map(expandPredicate_1.expandPredicate);
59
70
  return filter;
60
71
  });
61
- return updatedQuery;
72
+ return clonedQuery;
62
73
  }
63
- exports.expandQuery = expandQuery;
74
+ exports.expandPredicates = expandPredicates;
64
75
  /**
65
76
  * Common preprocessing for search options and the query
66
77
  * @param options
@@ -1 +1 @@
1
- {"version":3,"file":"portalSearchItems.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchItems.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portalSearchItems.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchItems.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAddContentConfig = void 0;
4
+ const checkPermission_1 = require("../permissions/checkPermission");
5
+ const util_1 = require("../util");
6
+ const negateGroupPredicates_1 = require("./_internal/negateGroupPredicates");
7
+ const getPredicateValues_1 = require("./getPredicateValues");
8
+ const getWorkflowForType_1 = require("./_internal/getWorkflowForType");
9
+ const get_prop_1 = require("../objects/get-prop");
10
+ const getUserGroupsFromQuery_1 = require("./_internal/getUserGroupsFromQuery");
11
+ const _internal_1 = require("./_internal");
12
+ const EmptyAddContentWorkflowConfig = {
13
+ create: null,
14
+ upload: null,
15
+ existing: null,
16
+ state: "disabled",
17
+ };
18
+ /**
19
+ * Get the add content configuration, given nothing, or a catalog or query.
20
+ * Delegates to the appropriate function based on the type of the input.
21
+ * @param context
22
+ * @param catalogOrQuery
23
+ * @returns
24
+ */
25
+ function getAddContentConfig(context, catalogOrQuery) {
26
+ if (catalogOrQuery) {
27
+ if (get_prop_1.getProp(catalogOrQuery, "targetEntity")) {
28
+ return getAddContentConfigForQuery(catalogOrQuery, context);
29
+ }
30
+ else if (get_prop_1.getProp(catalogOrQuery, "schemaVersion")) {
31
+ return getAddContentConfigForCatalog(catalogOrQuery, context);
32
+ }
33
+ else {
34
+ // Some other type of object was passed in, so just return an empty config
35
+ const result = util_1.cloneObject(EmptyAddContentWorkflowConfig);
36
+ result.reason = "invalid-object";
37
+ return result;
38
+ }
39
+ }
40
+ else {
41
+ // nothing was passed in, so return the default config
42
+ return getDefaultAddContentConfig(context);
43
+ }
44
+ }
45
+ exports.getAddContentConfig = getAddContentConfig;
46
+ /**
47
+ * Return the default add content config for the user
48
+ * This will just have "create" entries for the types the user can create
49
+ * @param context
50
+ * @returns
51
+ */
52
+ function getDefaultAddContentConfig(context) {
53
+ var _a;
54
+ const response = util_1.cloneObject(EmptyAddContentWorkflowConfig);
55
+ // get the types the user can create
56
+ const types = getWorkflowForType_1.getDefaultCreateableTypes(context);
57
+ const workflowTypes = types.map((type) => {
58
+ return getWorkflowForType_1.getWorkflowForType(type, context);
59
+ });
60
+ workflowTypes.forEach((wft) => {
61
+ // Looked at DRYing this up but typescript complained so I left it
62
+ if (wft.workflows.includes("create")) {
63
+ if (!response.create) {
64
+ response.create = {
65
+ targetEntity: wft.targetEntity,
66
+ workflow: "create",
67
+ types: [],
68
+ };
69
+ }
70
+ response.create.types.push(wft.type);
71
+ }
72
+ });
73
+ response.state = ((_a = response.create) === null || _a === void 0 ? void 0 : _a.types.length) ? "enabled" : "disabled";
74
+ if (response.state === "disabled") {
75
+ response.reason = "no-permission";
76
+ }
77
+ return response;
78
+ }
79
+ /**
80
+ * Given a catalog, collect all the groups in all the predicates
81
+ * which the user is an owner, admin, or member of; and return
82
+ * the default createable types for the user.
83
+ * @param catalog
84
+ * @param context
85
+ * @returns
86
+ */
87
+ function getAddContentConfigForCatalog(catalog, context) {
88
+ let response = util_1.cloneObject(EmptyAddContentWorkflowConfig);
89
+ const userGroups = _internal_1.getCatalogGroups(catalog, context);
90
+ if (!userGroups.owner.length &&
91
+ !userGroups.admin.length &&
92
+ !userGroups.member.length) {
93
+ response.state = "disabled";
94
+ response.reason = "not-in-groups";
95
+ return response;
96
+ }
97
+ // We don't try to get the types from the catalog
98
+ // we just use the default createable types
99
+ response = getDefaultAddContentConfig(context);
100
+ if (response.create) {
101
+ response.create.groups = userGroups;
102
+ }
103
+ else {
104
+ response.state = "disabled";
105
+ response.reason = "no-permission";
106
+ }
107
+ return response;
108
+ }
109
+ /**
110
+ * Get the config for a specific IQuery
111
+ * Delegates based on targetEntity
112
+ * @param query
113
+ * @param context
114
+ * @returns
115
+ */
116
+ function getAddContentConfigForQuery(query, context) {
117
+ if (query.targetEntity === "item") {
118
+ return getAddContentConfigForItemQuery(query, context);
119
+ }
120
+ else if (query.targetEntity === "event") {
121
+ return getAddContentConfigForEventQuery(query, context);
122
+ }
123
+ else {
124
+ const response = util_1.cloneObject(EmptyAddContentWorkflowConfig);
125
+ response.state = "disabled";
126
+ response.reason = "unsupported-target-entity";
127
+ return response;
128
+ }
129
+ }
130
+ /**
131
+ * Specific logic for targetEntity="event"
132
+ * @param query
133
+ * @param userGroups
134
+ * @param response
135
+ * @param context
136
+ * @returns
137
+ */
138
+ function getAddContentConfigForEventQuery(query, context) {
139
+ const response = util_1.cloneObject(EmptyAddContentWorkflowConfig);
140
+ const userGroups = getUserGroupsFromQuery_1.getUserGroupsFromQuery(query, context.currentUser);
141
+ if (!userGroups.owner.length &&
142
+ !userGroups.admin.length &&
143
+ !userGroups.member.length) {
144
+ response.state = "disabled";
145
+ response.reason = "not-in-groups";
146
+ return response;
147
+ }
148
+ // events can be created or added but the user needs permission
149
+ if (checkPermission_1.checkPermission("hub:event:create", context).access) {
150
+ response.create = {
151
+ targetEntity: "event",
152
+ workflow: "create",
153
+ types: ["Event"],
154
+ groups: userGroups,
155
+ };
156
+ }
157
+ // Anyone can add an event (no permission check)
158
+ response.existing = {
159
+ targetEntity: "event",
160
+ workflow: "existing",
161
+ types: ["Event"],
162
+ query: negateGroupPredicates_1.negateGroupPredicates(query),
163
+ groups: userGroups,
164
+ };
165
+ response.state = "enabled";
166
+ return response;
167
+ }
168
+ /**
169
+ * Specific logic for targetEntity="item"
170
+ * @param query
171
+ * @param userGroups
172
+ * @param response
173
+ * @param context
174
+ * @returns
175
+ */
176
+ function getAddContentConfigForItemQuery(query, context) {
177
+ const response = util_1.cloneObject(EmptyAddContentWorkflowConfig);
178
+ const userGroups = getUserGroupsFromQuery_1.getUserGroupsFromQuery(query, context.currentUser);
179
+ if (!userGroups.owner.length &&
180
+ !userGroups.admin.length &&
181
+ !userGroups.member.length) {
182
+ response.state = "disabled";
183
+ response.reason = "not-in-groups";
184
+ return response;
185
+ }
186
+ // Get all the types from all the the predicates in all of the filters
187
+ let queryTypes = getPredicateValues_1.getPredicateValues("type", query);
188
+ // If there are no types we need to use the default creatable types
189
+ if (!queryTypes.length) {
190
+ queryTypes = getWorkflowForType_1.getDefaultCreateableTypes(context, [query.targetEntity]);
191
+ }
192
+ const workflowTypes = queryTypes.map((type) => {
193
+ return getWorkflowForType_1.getWorkflowForType(type, context);
194
+ });
195
+ //
196
+ const negatedGroupQuery = negateGroupPredicates_1.negateGroupPredicates(query);
197
+ // now map over the workflowTypes and create the response object
198
+ workflowTypes.forEach((wft) => {
199
+ // Looked at DRYing this up but typescript complained so I left it
200
+ if (wft.workflows.includes("create")) {
201
+ if (!response.create) {
202
+ response.create = {
203
+ targetEntity: wft.targetEntity,
204
+ workflow: "create",
205
+ types: [],
206
+ groups: userGroups,
207
+ };
208
+ }
209
+ response.create.types.push(wft.type);
210
+ }
211
+ if (wft.workflows.includes("existing")) {
212
+ if (!response.existing) {
213
+ response.existing = {
214
+ targetEntity: wft.targetEntity,
215
+ workflow: "existing",
216
+ types: [],
217
+ groups: userGroups,
218
+ query: negatedGroupQuery,
219
+ };
220
+ }
221
+ response.existing.types.push(wft.type);
222
+ }
223
+ });
224
+ // Did we get any workflows the user can do?
225
+ if (response.create || response.existing) {
226
+ response.state = "enabled";
227
+ }
228
+ else {
229
+ response.state = "disabled";
230
+ response.reason = "no-permission";
231
+ }
232
+ return response;
233
+ }
234
+ //# sourceMappingURL=getAddContentConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAddContentConfig.js","sourceRoot":"","sources":["../../../src/search/getAddContentConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPredicateValues = void 0;
4
+ const objects_1 = require("../objects");
5
+ const util_1 = require("../util");
6
+ const _internal_1 = require("./_internal");
7
+ /**
8
+ * Get all the values for a predicate in a query
9
+ * @param predicateProp The predicate property to get the values for
10
+ * @param query The query to get the values from
11
+ * @returns An array of all the values for the predicate
12
+ */
13
+ function getPredicateValues(predicateProp, query, props = ["any", "all"]) {
14
+ // ensure the query is expanded (meaning that the predicates are IMatchOptions)
15
+ const expanded = _internal_1.expandPredicates(query);
16
+ return (
17
+ // iterate over the filters
18
+ expanded.filters
19
+ // get all the predicates from all the filters and flatten...
20
+ .reduce((acc, filter) => [...acc, ...filter.predicates], [])
21
+ // get the `.any` and `.all` values for the prop
22
+ .reduce((acc, predicate) => {
23
+ // iterate the props and add them to the accumulator
24
+ props.forEach((prop) => {
25
+ acc = [
26
+ ...acc,
27
+ ...objects_1.getWithDefault(predicate, `${predicateProp}.${prop}`, []),
28
+ ];
29
+ });
30
+ return acc;
31
+ }, [])
32
+ // drop dupes
33
+ .filter(util_1.unique));
34
+ }
35
+ exports.getPredicateValues = getPredicateValues;
36
+ //# sourceMappingURL=getPredicateValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPredicateValues.js","sourceRoot":"","sources":["../../../src/search/getPredicateValues.ts"],"names":[],"mappings":";;;AACA,wCAA4C;AAC5C,kCAAiC;AACjC,2CAA+C;AAE/C;;;;;GAKG;AAEH,SAAgB,kBAAkB,CAChC,aAAqB,EACrB,KAAa,EACb,QAAkB,CAAC,KAAK,EAAE,KAAK,CAAC;IAEhC,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,4BAAgB,CAAC,KAAK,CAAC,CAAC;IAEzC,OAAO;IACL,2BAA2B;IAC3B,QAAQ,CAAC,OAAO;QACd,6DAA6D;SAC5D,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QAC5D,gDAAgD;SAC/C,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QACzB,oDAAoD;QACpD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,GAAG,wBAAc,CAAC,SAAS,EAAE,GAAG,aAAa,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;aAC7D,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC;QACN,aAAa;SACZ,MAAM,CAAC,aAAM,CAAC,CAClB,CAAC;AACJ,CAAC;AA5BD,gDA4BC"}