@esri/hub-common 14.20.0 → 14.21.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 (28) hide show
  1. package/dist/esm/discussions/utils.js +134 -0
  2. package/dist/esm/discussions/utils.js.map +1 -1
  3. package/dist/esm/search/_internal/portalSearchGroupMembers.js +1 -1
  4. package/dist/esm/search/_internal/portalSearchGroupMembers.js.map +1 -1
  5. package/dist/esm/search/_internal/portalSearchUsers.js +108 -22
  6. package/dist/esm/search/_internal/portalSearchUsers.js.map +1 -1
  7. package/dist/esm/search/hubSearch.js +4 -2
  8. package/dist/esm/search/hubSearch.js.map +1 -1
  9. package/dist/esm/search/serializeQueryForPortal.js +14 -4
  10. package/dist/esm/search/serializeQueryForPortal.js.map +1 -1
  11. package/dist/esm/users/HubUsers.js +1 -7
  12. package/dist/esm/users/HubUsers.js.map +1 -1
  13. package/dist/node/discussions/utils.js +142 -1
  14. package/dist/node/discussions/utils.js.map +1 -1
  15. package/dist/node/search/_internal/portalSearchGroupMembers.js +1 -1
  16. package/dist/node/search/_internal/portalSearchGroupMembers.js.map +1 -1
  17. package/dist/node/search/_internal/portalSearchUsers.js +111 -23
  18. package/dist/node/search/_internal/portalSearchUsers.js.map +1 -1
  19. package/dist/node/search/hubSearch.js +3 -1
  20. package/dist/node/search/hubSearch.js.map +1 -1
  21. package/dist/node/search/serializeQueryForPortal.js +14 -4
  22. package/dist/node/search/serializeQueryForPortal.js.map +1 -1
  23. package/dist/node/users/HubUsers.js +1 -7
  24. package/dist/node/users/HubUsers.js.map +1 -1
  25. package/dist/types/discussions/utils.d.ts +53 -0
  26. package/dist/types/search/_internal/portalSearchUsers.d.ts +49 -5
  27. package/dist/types/search/types/IHubCatalog.d.ts +1 -1
  28. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import { CANNOT_DISCUSS } from "./constants";
2
+ import { AclCategory, AclSubCategory, SharingAccess, } from "./api/types";
2
3
  /**
3
4
  * Utility to determine if a given IGroup, IItem, IHubContent, or IHubItemEntity
4
5
  * is discussable.
@@ -22,4 +23,137 @@ export function setDiscussableKeyword(typeKeywords, discussable) {
22
23
  }
23
24
  return updatedTypeKeywords;
24
25
  }
26
+ /**
27
+ * Determines if the given channel is considered to be a `public` channel, supporting both
28
+ * legacy permissions and V2 ACL model.
29
+ * @param channel An IChannel record
30
+ * @returns true if the channel is considered `public`
31
+ */
32
+ export function isPublicChannel(channel) {
33
+ return channel.channelAcl
34
+ ? channel.channelAcl.some(({ category }) => category === AclCategory.AUTHENTICATED_USER)
35
+ : channel.access === SharingAccess.PUBLIC;
36
+ }
37
+ /**
38
+ * Determines if the given channel is considered to be an `org` channel, supporting both
39
+ * legacy permissions and V2 ACL model.
40
+ * @param channel An IChannel record
41
+ * @returns true if the channel is considered `org`
42
+ */
43
+ export function isOrgChannel(channel) {
44
+ return channel.channelAcl
45
+ ? !isPublicChannel(channel) &&
46
+ channel.channelAcl.some(({ category, subCategory }) => category === AclCategory.ORG &&
47
+ subCategory === AclSubCategory.MEMBER)
48
+ : channel.access === SharingAccess.ORG;
49
+ }
50
+ /**
51
+ * Determines if the given channel is considered to be a `private` channel, supporting both
52
+ * legacy permissions and V2 ACL model.
53
+ * @param channel An IChannel record
54
+ * @returns true if the channel is considered `private`
55
+ */
56
+ export function isPrivateChannel(channel) {
57
+ return !isPublicChannel(channel) && !isOrgChannel(channel);
58
+ }
59
+ /**
60
+ * Determines the given channel's access, supporting both legacy permissions and V2 ACL
61
+ * model.
62
+ * @param channel An IChannel record
63
+ * @returns `public`, `org` or `private`
64
+ */
65
+ export function getChannelAccess(channel) {
66
+ let access = SharingAccess.PRIVATE;
67
+ if (isPublicChannel(channel)) {
68
+ access = SharingAccess.PUBLIC;
69
+ }
70
+ else if (isOrgChannel(channel)) {
71
+ access = SharingAccess.ORG;
72
+ }
73
+ return access;
74
+ }
75
+ /**
76
+ * Returns an array of org ids configured for the channel, supporting both legacy permissions
77
+ * and V2 ACL model.
78
+ * @param channel An IChannel record
79
+ * @returns an array of org ids for the given channel
80
+ */
81
+ export function getChannelOrgIds(channel) {
82
+ return channel.channelAcl
83
+ ? channel.channelAcl.reduce((acc, permission) => permission.category === AclCategory.ORG &&
84
+ permission.subCategory === AclSubCategory.MEMBER
85
+ ? [...acc, permission.key]
86
+ : acc, [])
87
+ : channel.orgs;
88
+ }
89
+ /**
90
+ * Returns an array of group ids configured for the channel, supporting both legacy permissions
91
+ * and V2 ACL model.
92
+ * @param channel An IChannel record
93
+ * @returns an array of group ids for the given channel
94
+ */
95
+ export function getChannelGroupIds(channel) {
96
+ return channel.channelAcl
97
+ ? channel.channelAcl.reduce((acc, permission) => permission.category === AclCategory.GROUP &&
98
+ permission.subCategory === AclSubCategory.MEMBER
99
+ ? [...acc, permission.key]
100
+ : acc, [])
101
+ : channel.groups;
102
+ }
103
+ /**
104
+ * A utility method used to build an IQuery to search for users that are permitted to be at-mentioned for the given channel.
105
+ * @param input An array of strings to search for. Each string is mapped to `username` and `fullname`, filters as an OR condition
106
+ * @param channel An IChannel record
107
+ * @param currentUsername The currently authenticated user's username
108
+ * @param options An IHubSearchOptions object
109
+ * @returns a promise that resolves an IHubSearchResponse<IHubSearchResult>
110
+ */
111
+ export function getChannelUsersQuery(inputs, channel, currentUsername) {
112
+ const groupIds = getChannelGroupIds(channel);
113
+ const orgIds = getChannelOrgIds(channel);
114
+ const groupsPredicate = { group: groupIds };
115
+ let filters;
116
+ if (isPublicChannel(channel)) {
117
+ filters = [
118
+ {
119
+ operation: "OR",
120
+ predicates: [{ orgid: { from: "0", to: "{" } }],
121
+ },
122
+ ];
123
+ }
124
+ else if (isOrgChannel(channel)) {
125
+ const additional = groupIds.length ? [groupsPredicate] : [];
126
+ filters = [
127
+ {
128
+ operation: "OR",
129
+ predicates: [{ orgid: orgIds }, ...additional],
130
+ },
131
+ ];
132
+ }
133
+ else {
134
+ filters = [
135
+ {
136
+ operation: "AND",
137
+ predicates: [groupsPredicate],
138
+ },
139
+ ];
140
+ }
141
+ if (currentUsername) {
142
+ filters.push({
143
+ operation: "AND",
144
+ predicates: [{ username: { not: currentUsername } }],
145
+ });
146
+ }
147
+ const query = {
148
+ targetEntity: "communityUser",
149
+ filters: [
150
+ {
151
+ operation: "OR",
152
+ predicates: inputs.reduce((acc, input) => [...acc, { username: input }, { fullname: input }], []),
153
+ },
154
+ ...filters,
155
+ ],
156
+ };
157
+ return query;
158
+ }
25
159
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/discussions/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7C;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,OAA+D;;IAE/D,OAAO,CAAC,OAAC,OAAO,CAAC,YAAY,mCAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAsB,EACtB,WAAoB;IAEpB,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAC7C,CAAC,WAAmB,EAAE,EAAE,CAAC,WAAW,KAAK,cAAc,CACxD,CAAC;IACF,IAAI,CAAC,WAAW,EAAE;QAChB,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC1C;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/discussions/utils.ts"],"names":[],"mappings":"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"}
@@ -157,6 +157,6 @@ async function memberToSearchResult(member, include = [], requestOptions) {
157
157
  setProp(key, fetchedUser[key], user);
158
158
  }
159
159
  });
160
- return enrichUserSearchResult(user, include, requestOptions);
160
+ return enrichUserSearchResult(user, ["org.name as OrgName", ...include], requestOptions);
161
161
  }
162
162
  //# sourceMappingURL=portalSearchGroupMembers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"portalSearchGroupMembers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroupMembers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAOrE,OAAO,EAGL,OAAO,EACP,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE5D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAa,EACb,OAA0B;IAE1B,+DAA+D;IAC/D,IAAI,OAAe,CAAC;IACpB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACvB,6BAA6B;gBAC7B,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;aACnB;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBACnC,4BAA4B;gBAC5B,OAAO,GAAG,IAAI,CAAC;aAChB;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBACnC,gCAAgC;gBAChC,wCAAwC;gBACxC,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aAC9D;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,QAAQ,CAChB,0BAA0B,EAC1B,6DAA6D,CAC9D,CAAC;KACH;IAED,kDAAkD;IAClD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC3C,uDAAuD;QACvD,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,2BAA2B;YAC3B,IAAI,CAAC,CAAC,IAAI,EAAE;gBACV,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBAChB,OAAO,CAAC,CAAC,IAAI,CAAC;aACf;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;YACF,wCAAwC;aACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,OAAO,SAAS,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAC1C,CAAC,CAAC;YACF,8BAA8B;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC;YACF,kCAAkC;aACjC,GAAG,CAAC,eAAe,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC1C,mFAAmF;IACnF,MAAM,KAAK,GAAmC;QAC5C,KAAK;QACL,WAAW;QACX,WAAW;QACX,SAAS;QACT,OAAO;KACR,CAAC;IACF,sBAAsB;IACtB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAChC,EAAE,CAAC,IAAsC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SAC5D;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC;IACrB,EAAE,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAE3C,iBAAiB;IACjB,OAAO,kBAAkB,CAAC,EAA8B,CAAC,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAC/B,aAAuC;IAEvC,iEAAiE;IACjE,MAAM,IAAI,GAAG,gCACR,aAAa,GACb,aAAa,CAAC,cAAc,CACJ,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEjE,qCAAqC;IACrC,uCAAuC;IACvC,MAAM,EAAE,GAAG,CAAC,MAAoB,EAAE,EAAE;QAClC,OAAO,oBAAoB,iCACpB,MAAM,KAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,KAClE,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,cAAc,CAC7B,CAAC;IACJ,CAAC,CAAC;IAEF,mBAAmB;IACnB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO;QACP,OAAO,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,IAAI,EAAE,eAAe,CACnB,aAAa,EACb,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,EACV,kBAAkB,CACnB;KACF,CAAC;AACJ,CAAC;AAgBD;;;;;;;;GAQG;AACH,KAAK,UAAU,oBAAoB,CACjC,MAAgD,EAChD,UAAoB,EAAE,EACtB,cAAmC;IAEnC,mDAAmD;IACnD,yDAAyD;IACzD,MAAM,IAAI,GAAgC;QACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,QAAQ;QACzC,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC;IAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC;QAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,cAAc,EAAE,cAAc,CAAC,cAAc;QAC7C,MAAM,EAAE,cAAc,CAAC,MAAM;KAC9B,CAAC,CAAC;IACH,iDAAiD;IACjD,mFAAmF;IACnF,2EAA2E;IAC3E,oBAAoB;IACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,IAAI,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE;YAC9D,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;SACtC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"portalSearchGroupMembers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroupMembers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAOrE,OAAO,EAGL,OAAO,EACP,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE5D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAa,EACb,OAA0B;IAE1B,+DAA+D;IAC/D,IAAI,OAAe,CAAC;IACpB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACvB,6BAA6B;gBAC7B,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;aACnB;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBACnC,4BAA4B;gBAC5B,OAAO,GAAG,IAAI,CAAC;aAChB;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBACnC,gCAAgC;gBAChC,wCAAwC;gBACxC,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aAC9D;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,QAAQ,CAChB,0BAA0B,EAC1B,6DAA6D,CAC9D,CAAC;KACH;IAED,kDAAkD;IAClD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC3C,uDAAuD;QACvD,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,2BAA2B;YAC3B,IAAI,CAAC,CAAC,IAAI,EAAE;gBACV,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBAChB,OAAO,CAAC,CAAC,IAAI,CAAC;aACf;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;YACF,wCAAwC;aACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,OAAO,SAAS,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAC1C,CAAC,CAAC;YACF,8BAA8B;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC;YACF,kCAAkC;aACjC,GAAG,CAAC,eAAe,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC1C,mFAAmF;IACnF,MAAM,KAAK,GAAmC;QAC5C,KAAK;QACL,WAAW;QACX,WAAW;QACX,SAAS;QACT,OAAO;KACR,CAAC;IACF,sBAAsB;IACtB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAChC,EAAE,CAAC,IAAsC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SAC5D;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC;IACrB,EAAE,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAE3C,iBAAiB;IACjB,OAAO,kBAAkB,CAAC,EAA8B,CAAC,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAC/B,aAAuC;IAEvC,iEAAiE;IACjE,MAAM,IAAI,GAAG,gCACR,aAAa,GACb,aAAa,CAAC,cAAc,CACJ,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEjE,qCAAqC;IACrC,uCAAuC;IACvC,MAAM,EAAE,GAAG,CAAC,MAAoB,EAAE,EAAE;QAClC,OAAO,oBAAoB,iCACpB,MAAM,KAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,KAClE,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,cAAc,CAC7B,CAAC;IACJ,CAAC,CAAC;IAEF,mBAAmB;IACnB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO;QACP,OAAO,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,IAAI,EAAE,eAAe,CACnB,aAAa,EACb,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,EACV,kBAAkB,CACnB;KACF,CAAC;AACJ,CAAC;AAgBD;;;;;;;;GAQG;AACH,KAAK,UAAU,oBAAoB,CACjC,MAAgD,EAChD,UAAoB,EAAE,EACtB,cAAmC;IAEnC,mDAAmD;IACnD,yDAAyD;IACzD,MAAM,IAAI,GAAgC;QACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,QAAQ;QACzC,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC;IAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC;QAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,cAAc,EAAE,cAAc,CAAC,cAAc;QAC7C,MAAM,EAAE,cAAc,CAAC,MAAM;KAC9B,CAAC,CAAC;IACH,iDAAiD;IACjD,mFAAmF;IACnF,2EAA2E;IAC3E,oBAAoB;IACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,IAAI,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE;YAC9D,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;SACtC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,sBAAsB,CAC3B,IAAI,EACJ,CAAC,qBAAqB,EAAE,GAAG,OAAO,CAAC,EACnC,cAAc,CACf,CAAC;AACJ,CAAC"}
@@ -1,31 +1,26 @@
1
- import { searchUsers, } from "@esri/arcgis-rest-portal";
1
+ import { searchUsers, searchCommunityUsers as _searchCommunityUsers, } from "@esri/arcgis-rest-portal";
2
2
  import { enrichUserSearchResult } from "../../users";
3
3
  import { serializeQueryForPortal } from "../serializeQueryForPortal";
4
4
  import HubError from "../../HubError";
5
5
  import { getNextFunction } from "../utils";
6
6
  import { expandPredicate } from "./expandPredicate";
7
- /**
8
- * @private
9
- * Portal Search Implementation for Users
10
- * @param filterGroups
11
- * @param options
12
- * @returns
13
- */
14
- export async function portalSearchUsers(query, options) {
7
+ import { cloneObject } from "../../util";
8
+ function buildSearchOptions(query, options, operation) {
15
9
  // requestOptions is always required and user must be authd
16
10
  if (!options.requestOptions) {
17
- throw new HubError("portalSearchUsers", "requestOptions: IHubRequestOptions is required.");
11
+ throw new HubError(operation, "requestOptions: IHubRequestOptions is required.");
18
12
  }
19
13
  if (!options.requestOptions.authentication) {
20
- throw new HubError("portalSearchUsers", "requestOptions must pass authentication.");
14
+ throw new HubError(operation, "requestOptions must pass authentication.");
21
15
  }
16
+ const clonedQuery = cloneObject(query);
22
17
  // Expand the individual predicates in each filter
23
- query.filters = query.filters.map((filter) => {
18
+ clonedQuery.filters = clonedQuery.filters.map((filter) => {
24
19
  filter.predicates = filter.predicates.map(expandPredicate);
25
20
  return filter;
26
21
  });
27
22
  // Serialize the all the groups for portal
28
- const so = serializeQueryForPortal(query);
23
+ const so = serializeQueryForPortal(clonedQuery);
29
24
  // Array of properties we want to copy from IHubSearchOptions to the ISearchOptions
30
25
  const props = [
31
26
  "num",
@@ -44,26 +39,96 @@ export async function portalSearchUsers(query, options) {
44
39
  // Unlike Groups and Item, the Users api *requires* authentication
45
40
  // so we set it directly
46
41
  so.authentication = options.requestOptions.authentication;
42
+ return so;
43
+ }
44
+ /**
45
+ * @private
46
+ *
47
+ * Portal Search Implementation for Users within the currently authenticated user's organization.
48
+ * Automatically adds "org.name as OrgName" enrichment
49
+ *
50
+ * DEPRECATED: This method will be deprecated in a future release, as it's not ideal to impose default enrichments in all
51
+ * cases. When this method is depreated, all places that currently call `hubSearch` with a `targetEntity` of `user` will
52
+ * need to be updated to use the `portalUser` `targetEntity` and explicitly pass `"org.name as OrgName"` in `inclues` to
53
+ * preserve that enrichment, if needed. E.g.
54
+ *
55
+ * ```js
56
+ * // before
57
+ * await hubSearch(
58
+ * { targetEntity: "user", ... },
59
+ * { start: 1, ... },
60
+ * );
61
+ *
62
+ * // after
63
+ * await hubSearch(
64
+ * { targetEntity: "portalUser", ... },
65
+ * { start: 1, include: ["org.name as OrgName", ...], ... },
66
+ * );
67
+ * ```
68
+ *
69
+ * @param query An IQuery object representing the query to serialize
70
+ * @param options An IHubSearchOptions of search options
71
+ * @returns a promise that resolves an IHubSearchResponse<IHubSearchResult> of users results
72
+ */
73
+ export function searchPortalUsersLegacy(query, options) {
74
+ const searchOptions = buildSearchOptions(query, options, "searchPortalUsersLegacy");
75
+ // Execute search
76
+ return searchPortal(Object.assign(Object.assign({}, searchOptions), { include: ["org.name as OrgName", ...(searchOptions.include || [])] }));
77
+ }
78
+ /**
79
+ * @private
80
+ *
81
+ * Portal Search Implementation for Users within the currently authenticated user's organization.
82
+ * No enrichments added by default.
83
+ *
84
+ * @param query An IQuery object representing the query to serialize
85
+ * @param options An IHubSearchOptions of search options
86
+ * @returns a promise that resolves an IHubSearchResponse<IHubSearchResult> of users results
87
+ */
88
+ export function searchPortalUsers(query, options) {
89
+ const searchOptions = buildSearchOptions(query, options, "searchPortalUsers");
90
+ // Execute search
91
+ return searchPortal(searchOptions);
92
+ }
93
+ /**
94
+ * @private
95
+ *
96
+ * Community Search Implementation for Users within in any organization.
97
+ * No enrichments added by default.
98
+ *
99
+ * @param query An IQuery object representing the query to serialize
100
+ * @param options An IHubSearchOptions of search options
101
+ * @returns a promise that resolves an IHubSearchResponse<IHubSearchResult> of users results
102
+ */
103
+ export function searchCommunityUsers(query, options) {
104
+ const searchOptions = buildSearchOptions(query, options, "searchCommunityUsers");
47
105
  // Execute search
48
- return searchPortal(so);
106
+ return searchCommunity(searchOptions);
107
+ }
108
+ /**
109
+ * @private
110
+ * @param searchOptions An IUserSearchOptions object
111
+ * @param searchResponse A ISearchResult<IUser> object
112
+ * @returns
113
+ */
114
+ function mapUsersToSearchResults(searchOptions, searchResponse) {
115
+ // create mappable fn that will close
116
+ // over the includes and requestOptions
117
+ const fn = (user) => userToSearchResult(user, searchOptions.include, searchOptions.requestOptions);
118
+ return Promise.all(searchResponse.results.map(fn));
49
119
  }
50
120
  /**
51
121
  * Internal portal search, which then converts `IGroup`s to `IHubSearchResult`s
52
122
  * handling enrichments & includes along the way
53
123
  *
54
124
  * @param searchOptions
55
- * @returns
125
+ * @returns a promise that resolves enriched internal portal user search results
56
126
  */
57
127
  async function searchPortal(searchOptions) {
58
128
  // Execute portal search
59
129
  const resp = await searchUsers(searchOptions);
60
- // create mappable fn that will close
61
- // over the includes and requestOptions
62
- const fn = (user) => {
63
- return userToSearchResult(user, searchOptions.include, searchOptions.requestOptions);
64
- };
65
130
  // map over results
66
- const results = await Promise.all(resp.results.map(fn));
131
+ const results = await mapUsersToSearchResults(searchOptions, resp);
67
132
  // Group Search does not support aggregations
68
133
  // Construct the return
69
134
  return {
@@ -73,6 +138,27 @@ async function searchPortal(searchOptions) {
73
138
  next: getNextFunction(searchOptions, resp.nextStart, resp.total, searchPortal),
74
139
  };
75
140
  }
141
+ /**
142
+ * Community search, which then converts `IGroup`s to `IHubSearchResult`s
143
+ * handling enrichments & includes along the way
144
+ *
145
+ * @param searchOptions
146
+ * @returns a promise that resolves enriched community user search results
147
+ */
148
+ async function searchCommunity(searchOptions) {
149
+ // Execute portal search
150
+ const resp = await _searchCommunityUsers(searchOptions);
151
+ // map over results
152
+ const results = await mapUsersToSearchResults(searchOptions, resp);
153
+ // Group Search does not support aggregations
154
+ // Construct the return
155
+ return {
156
+ total: resp.total,
157
+ results,
158
+ hasNext: resp.nextStart > -1,
159
+ next: getNextFunction(searchOptions, resp.nextStart, resp.total, searchCommunity),
160
+ };
161
+ }
76
162
  /**
77
163
  * Convert an Item to a IHubSearchResult
78
164
  * Fetches the includes and attaches them to the item
@@ -81,7 +167,7 @@ async function searchPortal(searchOptions) {
81
167
  * @param requestOptions
82
168
  * @returns
83
169
  */
84
- async function userToSearchResult(user, include = [], requestOptions) {
170
+ function userToSearchResult(user, include = [], requestOptions) {
85
171
  // Delegate to HubUsers module
86
172
  // This layer of indirection is not necessary but
87
173
  // aligns with how the items search works and
@@ -1 +1 @@
1
- {"version":3,"file":"portalSearchUsers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchUsers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portalSearchUsers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchUsers.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { getApi } from "./_internal/commonHelpers/getApi";
6
6
  import { portalSearchGroupMembers } from "./_internal/portalSearchGroupMembers";
7
7
  import { portalSearchItems } from "./_internal/portalSearchItems";
8
8
  import { portalSearchGroups } from "./_internal/portalSearchGroups";
9
- import { portalSearchUsers } from "./_internal/portalSearchUsers";
9
+ import { searchPortalUsersLegacy, searchPortalUsers, searchCommunityUsers } from "./_internal/portalSearchUsers";
10
10
  import { hubSearchItems } from "./_internal/hubSearchItems";
11
11
  import { hubSearchChannels } from "./_internal/hubSearchChannels";
12
12
  /**
@@ -50,7 +50,9 @@ export async function hubSearch(query, options) {
50
50
  arcgis: {
51
51
  item: portalSearchItems,
52
52
  group: portalSearchGroups,
53
- user: portalSearchUsers,
53
+ user: searchPortalUsersLegacy,
54
+ portalUser: searchPortalUsers,
55
+ communityUser: searchCommunityUsers,
54
56
  groupMember: portalSearchGroupMembers,
55
57
  },
56
58
  "arcgis-hub": {
@@ -1 +1 @@
1
- {"version":3,"file":"hubSearch.js","sourceRoot":"","sources":["../../../src/search/hubSearch.ts"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOtC,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAa,EACb,OAA0B;IAE1B,kBAAkB;IAClB,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;KACvD;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACjC,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAC;KACrE;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;QAC9C,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,yDAAyD,CAC1D,CAAC;KACH;IAED,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC3B,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,iDAAiD,CAClD,CAAC;KACH;IAED,8BAA8B;IAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;KACtB;IAED,wCAAwC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC;IAEtC,+EAA+E;IAC/E,8EAA8E;IAC9E,4EAA4E;IAC5E,iDAAiD;IACjD,MAAM,EAAE,cAAc,KAAmB,OAAO,EAArB,SAAS,UAAK,OAAO,EAA1C,kBAAgC,CAAU,CAAC;IACjD,MAAM,gBAAgB,GAAsB,WAAW,CAAC,SAAS,CAAC,CAAC;IACnE,gBAAgB,CAAC,cAAc,GAAG,cAAc,CAAC;IAEjD,gBAAgB,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG;QACb,MAAM,EAAE;YACN,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,wBAAwB;SACtC;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,iBAAiB;SAC3B;KACF,CAAC;IAEF,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,EAAE,EAAE;QACP,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,eAAe,UAAU,qBAAqB,gBAAgB,CAAC,GAAG,CAAC,IAAI,iFAAiF,CACzJ,CAAC;KACH;IACD,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"hubSearch.js","sourceRoot":"","sources":["../../../src/search/hubSearch.ts"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOtC,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACjH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAa,EACb,OAA0B;IAE1B,kBAAkB;IAClB,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;KACvD;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACjC,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAC;KACrE;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;QAC9C,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,yDAAyD,CAC1D,CAAC;KACH;IAED,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC3B,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,iDAAiD,CAClD,CAAC;KACH;IAED,8BAA8B;IAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;KACtB;IAED,wCAAwC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC;IAEtC,+EAA+E;IAC/E,8EAA8E;IAC9E,4EAA4E;IAC5E,iDAAiD;IACjD,MAAM,EAAE,cAAc,KAAmB,OAAO,EAArB,SAAS,UAAK,OAAO,EAA1C,kBAAgC,CAAU,CAAC;IACjD,MAAM,gBAAgB,GAAsB,WAAW,CAAC,SAAS,CAAC,CAAC;IACnE,gBAAgB,CAAC,cAAc,GAAG,cAAc,CAAC;IAEjD,gBAAgB,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG;QACb,MAAM,EAAE;YACN,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,uBAAuB;YAC7B,UAAU,EAAE,iBAAiB;YAC7B,aAAa,EAAE,oBAAoB;YACnC,WAAW,EAAE,wBAAwB;SACtC;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,iBAAiB;SAC3B;KACF,CAAC;IAEF,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,EAAE,EAAE;QACP,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,eAAe,UAAU,qBAAqB,gBAAgB,CAAC,GAAG,CAAC,IAAI,iFAAiF,CACzJ,CAAC;KACH;IACD,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAClD,CAAC"}
@@ -141,8 +141,8 @@ function serializePredicate(predicate) {
141
141
  if (!specialProps.includes(key) && key !== "term") {
142
142
  so.q = serializeMatchOptions(key, value);
143
143
  }
144
- if (dateProps.includes(key)) {
145
- so.q = serializeDateRange(key, value);
144
+ if (dateProps.includes(key) || isRange(value)) {
145
+ so.q = serializeRange(key, value);
146
146
  }
147
147
  if (boolProps.includes(key)) {
148
148
  so.q = `${key}:${value}`;
@@ -202,12 +202,12 @@ function serializeMatchOptions(key, value) {
202
202
  return result;
203
203
  }
204
204
  /**
205
- * Serialize a date-range into Portal syntax
205
+ * Serialize a range into Portal syntax
206
206
  * @param key
207
207
  * @param range
208
208
  * @returns
209
209
  */
210
- function serializeDateRange(key, range) {
210
+ function serializeRange(key, range) {
211
211
  return `${key}:[${range.from} TO ${range.to}]`;
212
212
  }
213
213
  /**
@@ -230,4 +230,14 @@ function serializeStringOrArray(join, key, value) {
230
230
  }
231
231
  return q;
232
232
  }
233
+ /**
234
+ * Determines if the given value is a range object
235
+ * @param value A search param value
236
+ * @returns true when the value is a range object, e.g. { from: '0', to: '{' }
237
+ */
238
+ function isRange(value) {
239
+ return (typeof value === "object" &&
240
+ value !== null &&
241
+ ["from", "to"].every((key) => typeof value[key] !== "undefined"));
242
+ }
233
243
  //# sourceMappingURL=serializeQueryForPortal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializeQueryForPortal.js","sourceRoot":"","sources":["../../../src/search/serializeQueryForPortal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializeQueryForPortal.js","sourceRoot":"","sources":["../../../src/search/serializeQueryForPortal.ts"],"names":[],"mappings":"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"}
@@ -47,14 +47,8 @@ export async function enrichUserSearchResult(user, include, requestOptions) {
47
47
  result.memberType = user.memberType;
48
48
  result.isGroupOwner = user.isGroupOwner;
49
49
  }
50
- // Informal Enrichments - basically adding type-specific props
51
- // derived directly from the entity
52
- // default includes
53
- const DEFAULTS = ["org.name AS orgName"];
54
- // merge includes
55
- include = [...DEFAULTS, ...include].filter(unique);
56
50
  // Parse the includes into a valid set of enrichments
57
- const specs = include.map(parseInclude);
51
+ const specs = include.filter(unique).map(parseInclude);
58
52
  // Extract out the low-level enrichments needed
59
53
  const enrichments = mapBy("enrichment", specs).filter(unique);
60
54
  // fetch the enrichments
@@ -1 +1 @@
1
- {"version":3,"file":"HubUsers.js","sourceRoot":"","sources":["../../../src/users/HubUsers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAiC,EACjC,OAAiB,EACjB,cAAkC;;IAElC,6BAA6B;IAC7B,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAqB;QAClC,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,MAAM;QACZ;;;;;;WAMG;QACH,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnB,KAAK,EAAE,IAAI,CAAC,QAAQ;QACpB,yDAAyD;QACzD,4FAA4F;QAC5F,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC1E,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,QAAQ;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,iBAAiB;YAC/B,SAAS,EAAE,IAAI;SAChB;KACF,CAAC;IACF,qDAAqD;IACrD,IAAI,IAAI,CAAC,UAAU,EAAE;QACnB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;KACzC;IAED,8DAA8D;IAC9D,mCAAmC;IAEnC,mBAAmB;IACnB,MAAM,QAAQ,GAAa,CAAC,qBAAqB,CAAC,CAAC;IAEnD,iBAAiB;IACjB,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,qDAAqD;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxC,+CAA+C;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,wBAAwB;IACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,6EAA6E;IAC7E,2DAA2D;IAC3D,0BAA0B;IAC1B,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,QAAQ,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;KAC1E;IAED,yCAAyC;IACzC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,SAAG,cAAc,CAAC,cAAc,0CAAE,KAAK,CAAC;IAEnD,4DAA4D;IAC5D,qDAAqD;IACrD,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,mBAAmB,CAC1C,cAAc,CAAC,MAAM,EACrB,IAAI,EACJ,KAAK,CACN,CAAC;KACH;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,WAAW,MAAM,CAAC,EAAE,EAAE,CAAC;IAEnD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"HubUsers.js","sourceRoot":"","sources":["../../../src/users/HubUsers.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setDiscussableKeyword = exports.isDiscussable = void 0;
3
+ exports.getChannelUsersQuery = exports.getChannelGroupIds = exports.getChannelOrgIds = exports.getChannelAccess = exports.isPrivateChannel = exports.isOrgChannel = exports.isPublicChannel = exports.setDiscussableKeyword = exports.isDiscussable = void 0;
4
4
  const constants_1 = require("./constants");
5
+ const types_1 = require("./api/types");
5
6
  /**
6
7
  * Utility to determine if a given IGroup, IItem, IHubContent, or IHubItemEntity
7
8
  * is discussable.
@@ -27,4 +28,144 @@ function setDiscussableKeyword(typeKeywords, discussable) {
27
28
  return updatedTypeKeywords;
28
29
  }
29
30
  exports.setDiscussableKeyword = setDiscussableKeyword;
31
+ /**
32
+ * Determines if the given channel is considered to be a `public` channel, supporting both
33
+ * legacy permissions and V2 ACL model.
34
+ * @param channel An IChannel record
35
+ * @returns true if the channel is considered `public`
36
+ */
37
+ function isPublicChannel(channel) {
38
+ return channel.channelAcl
39
+ ? channel.channelAcl.some(({ category }) => category === types_1.AclCategory.AUTHENTICATED_USER)
40
+ : channel.access === types_1.SharingAccess.PUBLIC;
41
+ }
42
+ exports.isPublicChannel = isPublicChannel;
43
+ /**
44
+ * Determines if the given channel is considered to be an `org` channel, supporting both
45
+ * legacy permissions and V2 ACL model.
46
+ * @param channel An IChannel record
47
+ * @returns true if the channel is considered `org`
48
+ */
49
+ function isOrgChannel(channel) {
50
+ return channel.channelAcl
51
+ ? !isPublicChannel(channel) &&
52
+ channel.channelAcl.some(({ category, subCategory }) => category === types_1.AclCategory.ORG &&
53
+ subCategory === types_1.AclSubCategory.MEMBER)
54
+ : channel.access === types_1.SharingAccess.ORG;
55
+ }
56
+ exports.isOrgChannel = isOrgChannel;
57
+ /**
58
+ * Determines if the given channel is considered to be a `private` channel, supporting both
59
+ * legacy permissions and V2 ACL model.
60
+ * @param channel An IChannel record
61
+ * @returns true if the channel is considered `private`
62
+ */
63
+ function isPrivateChannel(channel) {
64
+ return !isPublicChannel(channel) && !isOrgChannel(channel);
65
+ }
66
+ exports.isPrivateChannel = isPrivateChannel;
67
+ /**
68
+ * Determines the given channel's access, supporting both legacy permissions and V2 ACL
69
+ * model.
70
+ * @param channel An IChannel record
71
+ * @returns `public`, `org` or `private`
72
+ */
73
+ function getChannelAccess(channel) {
74
+ let access = types_1.SharingAccess.PRIVATE;
75
+ if (isPublicChannel(channel)) {
76
+ access = types_1.SharingAccess.PUBLIC;
77
+ }
78
+ else if (isOrgChannel(channel)) {
79
+ access = types_1.SharingAccess.ORG;
80
+ }
81
+ return access;
82
+ }
83
+ exports.getChannelAccess = getChannelAccess;
84
+ /**
85
+ * Returns an array of org ids configured for the channel, supporting both legacy permissions
86
+ * and V2 ACL model.
87
+ * @param channel An IChannel record
88
+ * @returns an array of org ids for the given channel
89
+ */
90
+ function getChannelOrgIds(channel) {
91
+ return channel.channelAcl
92
+ ? channel.channelAcl.reduce((acc, permission) => permission.category === types_1.AclCategory.ORG &&
93
+ permission.subCategory === types_1.AclSubCategory.MEMBER
94
+ ? [...acc, permission.key]
95
+ : acc, [])
96
+ : channel.orgs;
97
+ }
98
+ exports.getChannelOrgIds = getChannelOrgIds;
99
+ /**
100
+ * Returns an array of group ids configured for the channel, supporting both legacy permissions
101
+ * and V2 ACL model.
102
+ * @param channel An IChannel record
103
+ * @returns an array of group ids for the given channel
104
+ */
105
+ function getChannelGroupIds(channel) {
106
+ return channel.channelAcl
107
+ ? channel.channelAcl.reduce((acc, permission) => permission.category === types_1.AclCategory.GROUP &&
108
+ permission.subCategory === types_1.AclSubCategory.MEMBER
109
+ ? [...acc, permission.key]
110
+ : acc, [])
111
+ : channel.groups;
112
+ }
113
+ exports.getChannelGroupIds = getChannelGroupIds;
114
+ /**
115
+ * A utility method used to build an IQuery to search for users that are permitted to be at-mentioned for the given channel.
116
+ * @param input An array of strings to search for. Each string is mapped to `username` and `fullname`, filters as an OR condition
117
+ * @param channel An IChannel record
118
+ * @param currentUsername The currently authenticated user's username
119
+ * @param options An IHubSearchOptions object
120
+ * @returns a promise that resolves an IHubSearchResponse<IHubSearchResult>
121
+ */
122
+ function getChannelUsersQuery(inputs, channel, currentUsername) {
123
+ const groupIds = getChannelGroupIds(channel);
124
+ const orgIds = getChannelOrgIds(channel);
125
+ const groupsPredicate = { group: groupIds };
126
+ let filters;
127
+ if (isPublicChannel(channel)) {
128
+ filters = [
129
+ {
130
+ operation: "OR",
131
+ predicates: [{ orgid: { from: "0", to: "{" } }],
132
+ },
133
+ ];
134
+ }
135
+ else if (isOrgChannel(channel)) {
136
+ const additional = groupIds.length ? [groupsPredicate] : [];
137
+ filters = [
138
+ {
139
+ operation: "OR",
140
+ predicates: [{ orgid: orgIds }, ...additional],
141
+ },
142
+ ];
143
+ }
144
+ else {
145
+ filters = [
146
+ {
147
+ operation: "AND",
148
+ predicates: [groupsPredicate],
149
+ },
150
+ ];
151
+ }
152
+ if (currentUsername) {
153
+ filters.push({
154
+ operation: "AND",
155
+ predicates: [{ username: { not: currentUsername } }],
156
+ });
157
+ }
158
+ const query = {
159
+ targetEntity: "communityUser",
160
+ filters: [
161
+ {
162
+ operation: "OR",
163
+ predicates: inputs.reduce((acc, input) => [...acc, { username: input }, { fullname: input }], []),
164
+ },
165
+ ...filters,
166
+ ],
167
+ };
168
+ return query;
169
+ }
170
+ exports.getChannelUsersQuery = getChannelUsersQuery;
30
171
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/discussions/utils.ts"],"names":[],"mappings":";;;AAEA,2CAA6C;AAK7C;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,OAA+D;;IAE/D,OAAO,CAAC,OAAC,OAAO,CAAC,YAAY,mCAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,0BAAc,CAAC,CAAC;AAChE,CAAC;AAJD,sCAIC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CACnC,YAAsB,EACtB,WAAoB;IAEpB,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAC7C,CAAC,WAAmB,EAAE,EAAE,CAAC,WAAW,KAAK,0BAAc,CACxD,CAAC;IACF,IAAI,CAAC,WAAW,EAAE;QAChB,mBAAmB,CAAC,IAAI,CAAC,0BAAc,CAAC,CAAC;KAC1C;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAXD,sDAWC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/discussions/utils.ts"],"names":[],"mappings":"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"}
@@ -161,6 +161,6 @@ async function memberToSearchResult(member, include = [], requestOptions) {
161
161
  objects_1.setProp(key, fetchedUser[key], user);
162
162
  }
163
163
  });
164
- return users_1.enrichUserSearchResult(user, include, requestOptions);
164
+ return users_1.enrichUserSearchResult(user, ["org.name as OrgName", ...include], requestOptions);
165
165
  }
166
166
  //# sourceMappingURL=portalSearchGroupMembers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"portalSearchGroupMembers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroupMembers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portalSearchGroupMembers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroupMembers.ts"],"names":[],"mappings":";;;AAAA,wEAAqE;AAOrE,iEAKkC;AAClC,uDAAoD;AACpD,oCAA2C;AAC3C,6CAAsC;AAEtC,uCAAqD;AACrD,uCAAuC;AACvC,2CAA4D;AAE5D;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,wBAAwB,CAC5C,KAAa,EACb,OAA0B;IAE1B,+DAA+D;IAC/D,IAAI,OAAe,CAAC;IACpB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,iBAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACvB,6BAA6B;gBAC7B,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;aACnB;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBACnC,4BAA4B;gBAC5B,OAAO,GAAG,IAAI,CAAC;aAChB;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBACnC,gCAAgC;gBAChC,wCAAwC;gBACxC,OAAO,GAAG,iBAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,iBAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aAC9D;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,kBAAQ,CAChB,0BAA0B,EAC1B,6DAA6D,CAC9D,CAAC;KACH;IAED,kDAAkD;IAClD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC3C,uDAAuD;QACvD,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,2BAA2B;YAC3B,IAAI,CAAC,CAAC,IAAI,EAAE;gBACV,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBAChB,OAAO,CAAC,CAAC,IAAI,CAAC;aACf;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;YACF,wCAAwC;aACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,OAAO,mBAAS,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAC1C,CAAC,CAAC;YACF,8BAA8B;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC;YACF,kCAAkC;aACjC,GAAG,CAAC,iCAAe,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,EAAE,GAAG,iDAAuB,CAAC,KAAK,CAAC,CAAC;IAC1C,mFAAmF;IACnF,MAAM,KAAK,GAAmC;QAC5C,KAAK;QACL,WAAW;QACX,WAAW;QACX,SAAS;QACT,OAAO;KACR,CAAC;IACF,sBAAsB;IACtB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAChC,EAAE,CAAC,IAAsC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SAC5D;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC;IACrB,EAAE,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAE3C,iBAAiB;IACjB,OAAO,kBAAkB,CAAC,EAA8B,CAAC,CAAC;AAC5D,CAAC;AA9ED,4DA8EC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAC/B,aAAuC;IAEvC,iEAAiE;IACjE,MAAM,IAAI,GAAG,gCACR,aAAa,GACb,aAAa,CAAC,cAAc,CACJ,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,qCAAgB,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEjE,qCAAqC;IACrC,uCAAuC;IACvC,MAAM,EAAE,GAAG,CAAC,MAAoB,EAAE,EAAE;QAClC,OAAO,oBAAoB,iCACpB,MAAM,KAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,KAClE,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,cAAc,CAC7B,CAAC;IACJ,CAAC,CAAC;IAEF,mBAAmB;IACnB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO;QACP,OAAO,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,IAAI,EAAE,uBAAe,CACnB,aAAa,EACb,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,EACV,kBAAkB,CACnB;KACF,CAAC;AACJ,CAAC;AAgBD;;;;;;;;GAQG;AACH,KAAK,UAAU,oBAAoB,CACjC,MAAgD,EAChD,UAAoB,EAAE,EACtB,cAAmC;IAEnC,mDAAmD;IACnD,yDAAyD;IACzD,MAAM,IAAI,GAAgC;QACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,QAAQ;QACzC,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC;IAEF,MAAM,SAAS,GAAG,gBAAQ,CAAC,4BAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC;QAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,cAAc,EAAE,cAAc,CAAC,cAAc;QAC7C,MAAM,EAAE,cAAc,CAAC,MAAM;KAC9B,CAAC,CAAC;IACH,iDAAiD;IACjD,mFAAmF;IACnF,2EAA2E;IAC3E,oBAAoB;IACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,IAAI,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE;YAC9D,iBAAO,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;SACtC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,8BAAsB,CAC3B,IAAI,EACJ,CAAC,qBAAqB,EAAE,GAAG,OAAO,CAAC,EACnC,cAAc,CACf,CAAC;AACJ,CAAC"}
@@ -1,34 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.portalSearchUsers = void 0;
3
+ exports.searchCommunityUsers = exports.searchPortalUsers = exports.searchPortalUsersLegacy = void 0;
4
4
  const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
5
  const users_1 = require("../../users");
6
6
  const serializeQueryForPortal_1 = require("../serializeQueryForPortal");
7
7
  const HubError_1 = require("../../HubError");
8
8
  const utils_1 = require("../utils");
9
9
  const expandPredicate_1 = require("./expandPredicate");
10
- /**
11
- * @private
12
- * Portal Search Implementation for Users
13
- * @param filterGroups
14
- * @param options
15
- * @returns
16
- */
17
- async function portalSearchUsers(query, options) {
10
+ const util_1 = require("../../util");
11
+ function buildSearchOptions(query, options, operation) {
18
12
  // requestOptions is always required and user must be authd
19
13
  if (!options.requestOptions) {
20
- throw new HubError_1.default("portalSearchUsers", "requestOptions: IHubRequestOptions is required.");
14
+ throw new HubError_1.default(operation, "requestOptions: IHubRequestOptions is required.");
21
15
  }
22
16
  if (!options.requestOptions.authentication) {
23
- throw new HubError_1.default("portalSearchUsers", "requestOptions must pass authentication.");
17
+ throw new HubError_1.default(operation, "requestOptions must pass authentication.");
24
18
  }
19
+ const clonedQuery = util_1.cloneObject(query);
25
20
  // Expand the individual predicates in each filter
26
- query.filters = query.filters.map((filter) => {
21
+ clonedQuery.filters = clonedQuery.filters.map((filter) => {
27
22
  filter.predicates = filter.predicates.map(expandPredicate_1.expandPredicate);
28
23
  return filter;
29
24
  });
30
25
  // Serialize the all the groups for portal
31
- const so = serializeQueryForPortal_1.serializeQueryForPortal(query);
26
+ const so = serializeQueryForPortal_1.serializeQueryForPortal(clonedQuery);
32
27
  // Array of properties we want to copy from IHubSearchOptions to the ISearchOptions
33
28
  const props = [
34
29
  "num",
@@ -47,27 +42,99 @@ async function portalSearchUsers(query, options) {
47
42
  // Unlike Groups and Item, the Users api *requires* authentication
48
43
  // so we set it directly
49
44
  so.authentication = options.requestOptions.authentication;
45
+ return so;
46
+ }
47
+ /**
48
+ * @private
49
+ *
50
+ * Portal Search Implementation for Users within the currently authenticated user's organization.
51
+ * Automatically adds "org.name as OrgName" enrichment
52
+ *
53
+ * DEPRECATED: This method will be deprecated in a future release, as it's not ideal to impose default enrichments in all
54
+ * cases. When this method is depreated, all places that currently call `hubSearch` with a `targetEntity` of `user` will
55
+ * need to be updated to use the `portalUser` `targetEntity` and explicitly pass `"org.name as OrgName"` in `inclues` to
56
+ * preserve that enrichment, if needed. E.g.
57
+ *
58
+ * ```js
59
+ * // before
60
+ * await hubSearch(
61
+ * { targetEntity: "user", ... },
62
+ * { start: 1, ... },
63
+ * );
64
+ *
65
+ * // after
66
+ * await hubSearch(
67
+ * { targetEntity: "portalUser", ... },
68
+ * { start: 1, include: ["org.name as OrgName", ...], ... },
69
+ * );
70
+ * ```
71
+ *
72
+ * @param query An IQuery object representing the query to serialize
73
+ * @param options An IHubSearchOptions of search options
74
+ * @returns a promise that resolves an IHubSearchResponse<IHubSearchResult> of users results
75
+ */
76
+ function searchPortalUsersLegacy(query, options) {
77
+ const searchOptions = buildSearchOptions(query, options, "searchPortalUsersLegacy");
78
+ // Execute search
79
+ return searchPortal(Object.assign(Object.assign({}, searchOptions), { include: ["org.name as OrgName", ...(searchOptions.include || [])] }));
80
+ }
81
+ exports.searchPortalUsersLegacy = searchPortalUsersLegacy;
82
+ /**
83
+ * @private
84
+ *
85
+ * Portal Search Implementation for Users within the currently authenticated user's organization.
86
+ * No enrichments added by default.
87
+ *
88
+ * @param query An IQuery object representing the query to serialize
89
+ * @param options An IHubSearchOptions of search options
90
+ * @returns a promise that resolves an IHubSearchResponse<IHubSearchResult> of users results
91
+ */
92
+ function searchPortalUsers(query, options) {
93
+ const searchOptions = buildSearchOptions(query, options, "searchPortalUsers");
94
+ // Execute search
95
+ return searchPortal(searchOptions);
96
+ }
97
+ exports.searchPortalUsers = searchPortalUsers;
98
+ /**
99
+ * @private
100
+ *
101
+ * Community Search Implementation for Users within in any organization.
102
+ * No enrichments added by default.
103
+ *
104
+ * @param query An IQuery object representing the query to serialize
105
+ * @param options An IHubSearchOptions of search options
106
+ * @returns a promise that resolves an IHubSearchResponse<IHubSearchResult> of users results
107
+ */
108
+ function searchCommunityUsers(query, options) {
109
+ const searchOptions = buildSearchOptions(query, options, "searchCommunityUsers");
50
110
  // Execute search
51
- return searchPortal(so);
111
+ return searchCommunity(searchOptions);
112
+ }
113
+ exports.searchCommunityUsers = searchCommunityUsers;
114
+ /**
115
+ * @private
116
+ * @param searchOptions An IUserSearchOptions object
117
+ * @param searchResponse A ISearchResult<IUser> object
118
+ * @returns
119
+ */
120
+ function mapUsersToSearchResults(searchOptions, searchResponse) {
121
+ // create mappable fn that will close
122
+ // over the includes and requestOptions
123
+ const fn = (user) => userToSearchResult(user, searchOptions.include, searchOptions.requestOptions);
124
+ return Promise.all(searchResponse.results.map(fn));
52
125
  }
53
- exports.portalSearchUsers = portalSearchUsers;
54
126
  /**
55
127
  * Internal portal search, which then converts `IGroup`s to `IHubSearchResult`s
56
128
  * handling enrichments & includes along the way
57
129
  *
58
130
  * @param searchOptions
59
- * @returns
131
+ * @returns a promise that resolves enriched internal portal user search results
60
132
  */
61
133
  async function searchPortal(searchOptions) {
62
134
  // Execute portal search
63
135
  const resp = await arcgis_rest_portal_1.searchUsers(searchOptions);
64
- // create mappable fn that will close
65
- // over the includes and requestOptions
66
- const fn = (user) => {
67
- return userToSearchResult(user, searchOptions.include, searchOptions.requestOptions);
68
- };
69
136
  // map over results
70
- const results = await Promise.all(resp.results.map(fn));
137
+ const results = await mapUsersToSearchResults(searchOptions, resp);
71
138
  // Group Search does not support aggregations
72
139
  // Construct the return
73
140
  return {
@@ -77,6 +144,27 @@ async function searchPortal(searchOptions) {
77
144
  next: utils_1.getNextFunction(searchOptions, resp.nextStart, resp.total, searchPortal),
78
145
  };
79
146
  }
147
+ /**
148
+ * Community search, which then converts `IGroup`s to `IHubSearchResult`s
149
+ * handling enrichments & includes along the way
150
+ *
151
+ * @param searchOptions
152
+ * @returns a promise that resolves enriched community user search results
153
+ */
154
+ async function searchCommunity(searchOptions) {
155
+ // Execute portal search
156
+ const resp = await arcgis_rest_portal_1.searchCommunityUsers(searchOptions);
157
+ // map over results
158
+ const results = await mapUsersToSearchResults(searchOptions, resp);
159
+ // Group Search does not support aggregations
160
+ // Construct the return
161
+ return {
162
+ total: resp.total,
163
+ results,
164
+ hasNext: resp.nextStart > -1,
165
+ next: utils_1.getNextFunction(searchOptions, resp.nextStart, resp.total, searchCommunity),
166
+ };
167
+ }
80
168
  /**
81
169
  * Convert an Item to a IHubSearchResult
82
170
  * Fetches the includes and attaches them to the item
@@ -85,7 +173,7 @@ async function searchPortal(searchOptions) {
85
173
  * @param requestOptions
86
174
  * @returns
87
175
  */
88
- async function userToSearchResult(user, include = [], requestOptions) {
176
+ function userToSearchResult(user, include = [], requestOptions) {
89
177
  // Delegate to HubUsers module
90
178
  // This layer of indirection is not necessary but
91
179
  // aligns with how the items search works and
@@ -1 +1 @@
1
- {"version":3,"file":"portalSearchUsers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchUsers.ts"],"names":[],"mappings":";;;AAAA,iEAIkC;AAElC,uCAAqD;AACrD,wEAAqE;AACrE,6CAAsC;AAQtC,oCAA2C;AAC3C,uDAAoD;AAEpD;;;;;;GAMG;AACI,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,OAA0B;IAE1B,2DAA2D;IAC3D,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC3B,MAAM,IAAI,kBAAQ,CAChB,mBAAmB,EACnB,iDAAiD,CAClD,CAAC;KACH;IAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE;QAC1C,MAAM,IAAI,kBAAQ,CAChB,mBAAmB,EACnB,0CAA0C,CAC3C,CAAC;KACH;IAED,kDAAkD;IAClD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC3C,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,iCAAe,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,EAAE,GAAG,iDAAuB,CAAC,KAAK,CAAC,CAAC;IAC1C,mFAAmF;IACnF,MAAM,KAAK,GAAmC;QAC5C,KAAK;QACL,WAAW;QACX,WAAW;QACX,SAAS;QACT,OAAO;QACP,gBAAgB;KACjB,CAAC;IACF,sBAAsB;IACtB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAChC,EAAE,CAAC,IAA4B,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SAClD;IACH,CAAC,CAAC,CAAC;IAEH,kEAAkE;IAClE,wBAAwB;IACxB,EAAE,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC;IAE1D,iBAAiB;IACjB,OAAO,YAAY,CAAC,EAAwB,CAAC,CAAC;AAChD,CAAC;AAjDD,8CAiDC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CACzB,aAAiC;IAEjC,wBAAwB;IACxB,MAAM,IAAI,GAAG,MAAM,gCAAW,CAAC,aAAa,CAAC,CAAC;IAE9C,qCAAqC;IACrC,uCAAuC;IACvC,MAAM,EAAE,GAAG,CAAC,IAAW,EAAE,EAAE;QACzB,OAAO,kBAAkB,CACvB,IAAI,EACJ,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,cAAc,CAC7B,CAAC;IACJ,CAAC,CAAC;IAEF,mBAAmB;IACnB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAExD,6CAA6C;IAC7C,uBAAuB;IACvB,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO;QACP,OAAO,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,IAAI,EAAE,uBAAe,CACnB,aAAa,EACb,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,EACV,YAAY,CACb;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,kBAAkB,CAC/B,IAAW,EACX,UAAoB,EAAE,EACtB,cAAmC;IAEnC,8BAA8B;IAC9B,iDAAiD;IACjD,6CAA6C;IAC7C,mCAAmC;IACnC,OAAO,8BAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"portalSearchUsers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchUsers.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,9 @@ async function hubSearch(query, options) {
53
53
  arcgis: {
54
54
  item: portalSearchItems_1.portalSearchItems,
55
55
  group: portalSearchGroups_1.portalSearchGroups,
56
- user: portalSearchUsers_1.portalSearchUsers,
56
+ user: portalSearchUsers_1.searchPortalUsersLegacy,
57
+ portalUser: portalSearchUsers_1.searchPortalUsers,
58
+ communityUser: portalSearchUsers_1.searchCommunityUsers,
57
59
  groupMember: portalSearchGroupMembers_1.portalSearchGroupMembers,
58
60
  },
59
61
  "arcgis-hub": {
@@ -1 +1 @@
1
- {"version":3,"file":"hubSearch.js","sourceRoot":"","sources":["../../../src/search/hubSearch.ts"],"names":[],"mappings":";;;;AAAA,0CAAmC;AACnC,wCAAqC;AACrC,kCAAsC;AAOtC,6DAA0D;AAE1D,mFAAgF;AAChF,qEAAkE;AAClE,uEAAoE;AACpE,qEAAkE;AAClE,+DAA4D;AAC5D,qEAAkE;AAElE;;;;;;;;GAQG;AACI,KAAK,UAAU,SAAS,CAC7B,KAAa,EACb,OAA0B;IAE1B,kBAAkB;IAClB,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,kBAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;KACvD;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACjC,MAAM,IAAI,kBAAQ,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAC;KACrE;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;QAC9C,MAAM,IAAI,kBAAQ,CAChB,WAAW,EACX,yDAAyD,CAC1D,CAAC;KACH;IAED,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC3B,MAAM,IAAI,kBAAQ,CAChB,WAAW,EACX,iDAAiD,CAClD,CAAC;KACH;IAED,8BAA8B;IAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;KACtB;IAED,wCAAwC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC;IAEtC,+EAA+E;IAC/E,8EAA8E;IAC9E,4EAA4E;IAC5E,iDAAiD;IACjD,MAAM,EAAE,cAAc,KAAmB,OAAO,EAArB,SAAS,kBAAK,OAAO,EAA1C,kBAAgC,CAAU,CAAC;IACjD,MAAM,gBAAgB,GAAsB,kBAAW,CAAC,SAAS,CAAC,CAAC;IACnE,gBAAgB,CAAC,cAAc,GAAG,cAAc,CAAC;IAEjD,gBAAgB,CAAC,GAAG,GAAG,eAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG;QACb,MAAM,EAAE;YACN,IAAI,EAAE,qCAAiB;YACvB,KAAK,EAAE,uCAAkB;YACzB,IAAI,EAAE,qCAAiB;YACvB,WAAW,EAAE,mDAAwB;SACtC;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,+BAAc;YACpB,OAAO,EAAE,qCAAiB;SAC3B;KACF,CAAC;IAEF,MAAM,EAAE,GAAG,iBAAO,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,EAAE,EAAE;QACP,MAAM,IAAI,kBAAQ,CAChB,WAAW,EACX,eAAe,UAAU,qBAAqB,gBAAgB,CAAC,GAAG,CAAC,IAAI,iFAAiF,CACzJ,CAAC;KACH;IACD,OAAO,EAAE,CAAC,kBAAW,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAClD,CAAC;AAlED,8BAkEC"}
1
+ {"version":3,"file":"hubSearch.js","sourceRoot":"","sources":["../../../src/search/hubSearch.ts"],"names":[],"mappings":";;;;AAAA,0CAAmC;AACnC,wCAAqC;AACrC,kCAAsC;AAOtC,6DAA0D;AAC1D,mFAAgF;AAChF,qEAAkE;AAClE,uEAAoE;AACpE,qEAAiH;AACjH,+DAA4D;AAC5D,qEAAkE;AAElE;;;;;;;;GAQG;AACI,KAAK,UAAU,SAAS,CAC7B,KAAa,EACb,OAA0B;IAE1B,kBAAkB;IAClB,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,kBAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;KACvD;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACjC,MAAM,IAAI,kBAAQ,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAC;KACrE;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;QAC9C,MAAM,IAAI,kBAAQ,CAChB,WAAW,EACX,yDAAyD,CAC1D,CAAC;KACH;IAED,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC3B,MAAM,IAAI,kBAAQ,CAChB,WAAW,EACX,iDAAiD,CAClD,CAAC;KACH;IAED,8BAA8B;IAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;KACtB;IAED,wCAAwC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC;IAEtC,+EAA+E;IAC/E,8EAA8E;IAC9E,4EAA4E;IAC5E,iDAAiD;IACjD,MAAM,EAAE,cAAc,KAAmB,OAAO,EAArB,SAAS,kBAAK,OAAO,EAA1C,kBAAgC,CAAU,CAAC;IACjD,MAAM,gBAAgB,GAAsB,kBAAW,CAAC,SAAS,CAAC,CAAC;IACnE,gBAAgB,CAAC,cAAc,GAAG,cAAc,CAAC;IAEjD,gBAAgB,CAAC,GAAG,GAAG,eAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG;QACb,MAAM,EAAE;YACN,IAAI,EAAE,qCAAiB;YACvB,KAAK,EAAE,uCAAkB;YACzB,IAAI,EAAE,2CAAuB;YAC7B,UAAU,EAAE,qCAAiB;YAC7B,aAAa,EAAE,wCAAoB;YACnC,WAAW,EAAE,mDAAwB;SACtC;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,+BAAc;YACpB,OAAO,EAAE,qCAAiB;SAC3B;KACF,CAAC;IAEF,MAAM,EAAE,GAAG,iBAAO,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,EAAE,EAAE;QACP,MAAM,IAAI,kBAAQ,CAChB,WAAW,EACX,eAAe,UAAU,qBAAqB,gBAAgB,CAAC,GAAG,CAAC,IAAI,iFAAiF,CACzJ,CAAC;KACH;IACD,OAAO,EAAE,CAAC,kBAAW,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAClD,CAAC;AApED,8BAoEC"}
@@ -145,8 +145,8 @@ function serializePredicate(predicate) {
145
145
  if (!specialProps.includes(key) && key !== "term") {
146
146
  so.q = serializeMatchOptions(key, value);
147
147
  }
148
- if (dateProps.includes(key)) {
149
- so.q = serializeDateRange(key, value);
148
+ if (dateProps.includes(key) || isRange(value)) {
149
+ so.q = serializeRange(key, value);
150
150
  }
151
151
  if (boolProps.includes(key)) {
152
152
  so.q = `${key}:${value}`;
@@ -206,12 +206,12 @@ function serializeMatchOptions(key, value) {
206
206
  return result;
207
207
  }
208
208
  /**
209
- * Serialize a date-range into Portal syntax
209
+ * Serialize a range into Portal syntax
210
210
  * @param key
211
211
  * @param range
212
212
  * @returns
213
213
  */
214
- function serializeDateRange(key, range) {
214
+ function serializeRange(key, range) {
215
215
  return `${key}:[${range.from} TO ${range.to}]`;
216
216
  }
217
217
  /**
@@ -234,4 +234,14 @@ function serializeStringOrArray(join, key, value) {
234
234
  }
235
235
  return q;
236
236
  }
237
+ /**
238
+ * Determines if the given value is a range object
239
+ * @param value A search param value
240
+ * @returns true when the value is a range object, e.g. { from: '0', to: '{' }
241
+ */
242
+ function isRange(value) {
243
+ return (typeof value === "object" &&
244
+ value !== null &&
245
+ ["from", "to"].every((key) => typeof value[key] !== "undefined"));
246
+ }
237
247
  //# sourceMappingURL=serializeQueryForPortal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializeQueryForPortal.js","sourceRoot":"","sources":["../../../src/search/serializeQueryForPortal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializeQueryForPortal.js","sourceRoot":"","sources":["../../../src/search/serializeQueryForPortal.ts"],"names":[],"mappings":"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"}
@@ -50,14 +50,8 @@ async function enrichUserSearchResult(user, include, requestOptions) {
50
50
  result.memberType = user.memberType;
51
51
  result.isGroupOwner = user.isGroupOwner;
52
52
  }
53
- // Informal Enrichments - basically adding type-specific props
54
- // derived directly from the entity
55
- // default includes
56
- const DEFAULTS = ["org.name AS orgName"];
57
- // merge includes
58
- include = [...DEFAULTS, ...include].filter(util_1.unique);
59
53
  // Parse the includes into a valid set of enrichments
60
- const specs = include.map(parseInclude_1.parseInclude);
54
+ const specs = include.filter(util_1.unique).map(parseInclude_1.parseInclude);
61
55
  // Extract out the low-level enrichments needed
62
56
  const enrichments = utils_2.mapBy("enrichment", specs).filter(util_1.unique);
63
57
  // fetch the enrichments
@@ -1 +1 @@
1
- {"version":3,"file":"HubUsers.js","sourceRoot":"","sources":["../../../src/users/HubUsers.ts"],"names":[],"mappings":";;;AACA,yDAA+D;AAC/D,wCAAqC;AACrC,2CAAsD;AACtD,mEAAgE;AAEhE,kCAAyC;AACzC,kCAAiC;AACjC,oCAAiC;AAIjC;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAC1C,IAAiC,EACjC,OAAiB,EACjB,cAAkC;;IAElC,6BAA6B;IAC7B,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAqB;QAClC,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,MAAM;QACZ;;;;;;WAMG;QACH,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnB,KAAK,EAAE,IAAI,CAAC,QAAQ;QACpB,yDAAyD;QACzD,4FAA4F;QAC5F,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC1E,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,QAAQ;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,iBAAiB;YAC/B,SAAS,EAAE,IAAI;SAChB;KACF,CAAC;IACF,qDAAqD;IACrD,IAAI,IAAI,CAAC,UAAU,EAAE;QACnB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;KACzC;IAED,8DAA8D;IAC9D,mCAAmC;IAEnC,mBAAmB;IACnB,MAAM,QAAQ,GAAa,CAAC,qBAAqB,CAAC,CAAC;IAEnD,iBAAiB;IACjB,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,aAAM,CAAC,CAAC;IACnD,qDAAqD;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,2BAAY,CAAC,CAAC;IACxC,+CAA+C;IAC/C,MAAM,WAAW,GAAG,aAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,aAAM,CAAC,CAAC;IAC9D,wBAAwB;IACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,6EAA6E;IAC7E,2DAA2D;IAC3D,0BAA0B;IAC1B,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,QAAQ,GAAG,MAAM,kCAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;KAC1E;IAED,yCAAyC;IACzC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,iBAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,SAAG,cAAc,CAAC,cAAc,0CAAE,KAAK,CAAC;IAEnD,4DAA4D;IAC5D,qDAAqD;IACrD,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,2BAAmB,CAC1C,cAAc,CAAC,MAAM,EACrB,IAAI,EACJ,KAAK,CACN,CAAC;KACH;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,qBAAc,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,WAAW,MAAM,CAAC,EAAE,EAAE,CAAC;IAEnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAhFD,wDAgFC"}
1
+ {"version":3,"file":"HubUsers.js","sourceRoot":"","sources":["../../../src/users/HubUsers.ts"],"names":[],"mappings":";;;AACA,yDAA+D;AAC/D,wCAAqC;AACrC,2CAAsD;AACtD,mEAAgE;AAEhE,kCAAyC;AACzC,kCAAiC;AACjC,oCAAiC;AAIjC;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAC1C,IAAiC,EACjC,OAAiB,EACjB,cAAkC;;IAElC,6BAA6B;IAC7B,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAqB;QAClC,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,MAAM;QACZ;;;;;;WAMG;QACH,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnB,KAAK,EAAE,IAAI,CAAC,QAAQ;QACpB,yDAAyD;QACzD,4FAA4F;QAC5F,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC1E,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,QAAQ;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,iBAAiB;YAC/B,SAAS,EAAE,IAAI;SAChB;KACF,CAAC;IACF,qDAAqD;IACrD,IAAI,IAAI,CAAC,UAAU,EAAE;QACnB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;KACzC;IAED,qDAAqD;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,aAAM,CAAC,CAAC,GAAG,CAAC,2BAAY,CAAC,CAAC;IACvD,+CAA+C;IAC/C,MAAM,WAAW,GAAG,aAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,aAAM,CAAC,CAAC;IAC9D,wBAAwB;IACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,6EAA6E;IAC7E,2DAA2D;IAC3D,0BAA0B;IAC1B,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,QAAQ,GAAG,MAAM,kCAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;KAC1E;IAED,yCAAyC;IACzC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,iBAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,SAAG,cAAc,CAAC,cAAc,0CAAE,KAAK,CAAC;IAEnD,4DAA4D;IAC5D,qDAAqD;IACrD,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,2BAAmB,CAC1C,cAAc,CAAC,MAAM,EACrB,IAAI,EACJ,KAAK,CACN,CAAC;KACH;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,qBAAc,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,WAAW,MAAM,CAAC,EAAE,EAAE,CAAC;IAEnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAxED,wDAwEC"}
@@ -1,5 +1,7 @@
1
1
  import { IGroup, IItem } from "@esri/arcgis-rest-types";
2
2
  import { IHubContent, IHubItemEntity } from "../core";
3
+ import { IChannel, SharingAccess } from "./api/types";
4
+ import { IQuery } from "../search";
3
5
  /**
4
6
  * Utility to determine if a given IGroup, IItem, IHubContent, or IHubItemEntity
5
7
  * is discussable.
@@ -14,3 +16,54 @@ export declare function isDiscussable(subject: Partial<IGroup | IItem | IHubCont
14
16
  * @returns {string[]} updated list of type keywords
15
17
  */
16
18
  export declare function setDiscussableKeyword(typeKeywords: string[], discussable: boolean): string[];
19
+ /**
20
+ * Determines if the given channel is considered to be a `public` channel, supporting both
21
+ * legacy permissions and V2 ACL model.
22
+ * @param channel An IChannel record
23
+ * @returns true if the channel is considered `public`
24
+ */
25
+ export declare function isPublicChannel(channel: IChannel): boolean;
26
+ /**
27
+ * Determines if the given channel is considered to be an `org` channel, supporting both
28
+ * legacy permissions and V2 ACL model.
29
+ * @param channel An IChannel record
30
+ * @returns true if the channel is considered `org`
31
+ */
32
+ export declare function isOrgChannel(channel: IChannel): boolean;
33
+ /**
34
+ * Determines if the given channel is considered to be a `private` channel, supporting both
35
+ * legacy permissions and V2 ACL model.
36
+ * @param channel An IChannel record
37
+ * @returns true if the channel is considered `private`
38
+ */
39
+ export declare function isPrivateChannel(channel: IChannel): boolean;
40
+ /**
41
+ * Determines the given channel's access, supporting both legacy permissions and V2 ACL
42
+ * model.
43
+ * @param channel An IChannel record
44
+ * @returns `public`, `org` or `private`
45
+ */
46
+ export declare function getChannelAccess(channel: IChannel): SharingAccess;
47
+ /**
48
+ * Returns an array of org ids configured for the channel, supporting both legacy permissions
49
+ * and V2 ACL model.
50
+ * @param channel An IChannel record
51
+ * @returns an array of org ids for the given channel
52
+ */
53
+ export declare function getChannelOrgIds(channel: IChannel): string[];
54
+ /**
55
+ * Returns an array of group ids configured for the channel, supporting both legacy permissions
56
+ * and V2 ACL model.
57
+ * @param channel An IChannel record
58
+ * @returns an array of group ids for the given channel
59
+ */
60
+ export declare function getChannelGroupIds(channel: IChannel): string[];
61
+ /**
62
+ * A utility method used to build an IQuery to search for users that are permitted to be at-mentioned for the given channel.
63
+ * @param input An array of strings to search for. Each string is mapped to `username` and `fullname`, filters as an OR condition
64
+ * @param channel An IChannel record
65
+ * @param currentUsername The currently authenticated user's username
66
+ * @param options An IHubSearchOptions object
67
+ * @returns a promise that resolves an IHubSearchResponse<IHubSearchResult>
68
+ */
69
+ export declare function getChannelUsersQuery(inputs: string[], channel: IChannel, currentUsername?: string): IQuery;
@@ -1,9 +1,53 @@
1
1
  import { IHubSearchOptions, IHubSearchResponse, IHubSearchResult, IQuery } from "../types";
2
2
  /**
3
3
  * @private
4
- * Portal Search Implementation for Users
5
- * @param filterGroups
6
- * @param options
7
- * @returns
4
+ *
5
+ * Portal Search Implementation for Users within the currently authenticated user's organization.
6
+ * Automatically adds "org.name as OrgName" enrichment
7
+ *
8
+ * DEPRECATED: This method will be deprecated in a future release, as it's not ideal to impose default enrichments in all
9
+ * cases. When this method is depreated, all places that currently call `hubSearch` with a `targetEntity` of `user` will
10
+ * need to be updated to use the `portalUser` `targetEntity` and explicitly pass `"org.name as OrgName"` in `inclues` to
11
+ * preserve that enrichment, if needed. E.g.
12
+ *
13
+ * ```js
14
+ * // before
15
+ * await hubSearch(
16
+ * { targetEntity: "user", ... },
17
+ * { start: 1, ... },
18
+ * );
19
+ *
20
+ * // after
21
+ * await hubSearch(
22
+ * { targetEntity: "portalUser", ... },
23
+ * { start: 1, include: ["org.name as OrgName", ...], ... },
24
+ * );
25
+ * ```
26
+ *
27
+ * @param query An IQuery object representing the query to serialize
28
+ * @param options An IHubSearchOptions of search options
29
+ * @returns a promise that resolves an IHubSearchResponse<IHubSearchResult> of users results
8
30
  */
9
- export declare function portalSearchUsers(query: IQuery, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
31
+ export declare function searchPortalUsersLegacy(query: IQuery, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
32
+ /**
33
+ * @private
34
+ *
35
+ * Portal Search Implementation for Users within the currently authenticated user's organization.
36
+ * No enrichments added by default.
37
+ *
38
+ * @param query An IQuery object representing the query to serialize
39
+ * @param options An IHubSearchOptions of search options
40
+ * @returns a promise that resolves an IHubSearchResponse<IHubSearchResult> of users results
41
+ */
42
+ export declare function searchPortalUsers(query: IQuery, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
43
+ /**
44
+ * @private
45
+ *
46
+ * Community Search Implementation for Users within in any organization.
47
+ * No enrichments added by default.
48
+ *
49
+ * @param query An IQuery object representing the query to serialize
50
+ * @param options An IHubSearchOptions of search options
51
+ * @returns a promise that resolves an IHubSearchResponse<IHubSearchResult> of users results
52
+ */
53
+ export declare function searchCommunityUsers(query: IQuery, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
@@ -50,7 +50,7 @@ export interface IHubCollection {
50
50
  */
51
51
  targetEntity: EntityType;
52
52
  }
53
- export declare type EntityType = "item" | "group" | "user" | "groupMember" | "event" | "channel";
53
+ export declare type EntityType = "item" | "group" | "user" | "portalUser" | "communityUser" | "groupMember" | "event" | "channel";
54
54
  /**
55
55
  * @private
56
56
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "14.20.0",
3
+ "version": "14.21.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",