@esri/hub-common 16.0.2 → 16.2.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.
- package/dist/esm/core/schemas/internal/discussions/EntityUiSchemaDiscussionsSettings.js +141 -0
- package/dist/esm/core/schemas/internal/discussions/EntityUiSchemaDiscussionsSettings.js.map +1 -0
- package/dist/esm/core/schemas/internal/getEditorSchemas.js +1 -0
- package/dist/esm/core/schemas/internal/getEditorSchemas.js.map +1 -1
- package/dist/esm/discussions/_internal/DiscussionBusinessRules.js +7 -2
- package/dist/esm/discussions/_internal/DiscussionBusinessRules.js.map +1 -1
- package/dist/esm/discussions/_internal/DiscussionSchema.js +19 -0
- package/dist/esm/discussions/_internal/DiscussionSchema.js.map +1 -1
- package/dist/esm/discussions/_internal/DiscussionUiSchemaSettings.js +0 -23
- package/dist/esm/discussions/_internal/DiscussionUiSchemaSettings.js.map +1 -1
- package/dist/esm/discussions/edit.js +16 -2
- package/dist/esm/discussions/edit.js.map +1 -1
- package/dist/esm/events/api/orval/api/orval-events.js +38 -6
- package/dist/esm/events/api/orval/api/orval-events.js.map +1 -1
- package/dist/esm/search/_internal/hubDiscussionsHelpers/channelResultsToSearchResults.js +33 -0
- package/dist/esm/search/_internal/hubDiscussionsHelpers/channelResultsToSearchResults.js.map +1 -0
- package/dist/esm/search/_internal/hubDiscussionsHelpers/processChannelFilters.js +45 -0
- package/dist/esm/search/_internal/hubDiscussionsHelpers/processChannelFilters.js.map +1 -0
- package/dist/esm/search/_internal/hubDiscussionsHelpers/processChannelOptions.js +35 -0
- package/dist/esm/search/_internal/hubDiscussionsHelpers/processChannelOptions.js.map +1 -0
- package/dist/esm/search/_internal/hubSearchChannels.js +15 -120
- package/dist/esm/search/_internal/hubSearchChannels.js.map +1 -1
- package/dist/esm/users/_internal/UserBusinessRules.js +0 -7
- package/dist/esm/users/_internal/UserBusinessRules.js.map +1 -1
- package/dist/esm/utils/_array.js +18 -0
- package/dist/esm/utils/_array.js.map +1 -1
- package/dist/esm/utils/batch.js +2 -10
- package/dist/esm/utils/batch.js.map +1 -1
- package/dist/node/core/schemas/internal/discussions/EntityUiSchemaDiscussionsSettings.js +144 -0
- package/dist/node/core/schemas/internal/discussions/EntityUiSchemaDiscussionsSettings.js.map +1 -0
- package/dist/node/core/schemas/internal/getEditorSchemas.js +1 -0
- package/dist/node/core/schemas/internal/getEditorSchemas.js.map +1 -1
- package/dist/node/discussions/_internal/DiscussionBusinessRules.js +7 -2
- package/dist/node/discussions/_internal/DiscussionBusinessRules.js.map +1 -1
- package/dist/node/discussions/_internal/DiscussionSchema.js +19 -0
- package/dist/node/discussions/_internal/DiscussionSchema.js.map +1 -1
- package/dist/node/discussions/_internal/DiscussionUiSchemaSettings.js +0 -23
- package/dist/node/discussions/_internal/DiscussionUiSchemaSettings.js.map +1 -1
- package/dist/node/discussions/edit.js +16 -2
- package/dist/node/discussions/edit.js.map +1 -1
- package/dist/node/events/api/orval/api/orval-events.js +39 -7
- package/dist/node/events/api/orval/api/orval-events.js.map +1 -1
- package/dist/node/search/_internal/hubDiscussionsHelpers/channelResultsToSearchResults.js +37 -0
- package/dist/node/search/_internal/hubDiscussionsHelpers/channelResultsToSearchResults.js.map +1 -0
- package/dist/node/search/_internal/hubDiscussionsHelpers/processChannelFilters.js +49 -0
- package/dist/node/search/_internal/hubDiscussionsHelpers/processChannelFilters.js.map +1 -0
- package/dist/node/search/_internal/hubDiscussionsHelpers/processChannelOptions.js +39 -0
- package/dist/node/search/_internal/hubDiscussionsHelpers/processChannelOptions.js.map +1 -0
- package/dist/node/search/_internal/hubSearchChannels.js +16 -121
- package/dist/node/search/_internal/hubSearchChannels.js.map +1 -1
- package/dist/node/users/_internal/UserBusinessRules.js +0 -7
- package/dist/node/users/_internal/UserBusinessRules.js.map +1 -1
- package/dist/node/utils/_array.js +20 -1
- package/dist/node/utils/_array.js.map +1 -1
- package/dist/node/utils/batch.js +2 -10
- package/dist/node/utils/batch.js.map +1 -1
- package/dist/types/core/schemas/internal/discussions/EntityUiSchemaDiscussionsSettings.d.ts +11 -0
- package/dist/types/core/schemas/types.d.ts +2 -2
- package/dist/types/discussions/_internal/DiscussionBusinessRules.d.ts +1 -1
- package/dist/types/discussions/_internal/DiscussionSchema.d.ts +1 -1
- package/dist/types/events/api/orval/api/orval-events.d.ts +39 -6
- package/dist/types/search/_internal/hubDiscussionsHelpers/channelResultsToSearchResults.d.ts +11 -0
- package/dist/types/search/_internal/hubDiscussionsHelpers/processChannelFilters.d.ts +10 -0
- package/dist/types/search/_internal/hubDiscussionsHelpers/processChannelOptions.d.ts +10 -0
- package/dist/types/search/_internal/hubSearchChannels.d.ts +5 -26
- package/dist/types/users/_internal/UserBusinessRules.d.ts +1 -1
- package/dist/types/utils/_array.d.ts +8 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscussionUiSchemaSettings.js","sourceRoot":"","sources":["../../../../src/discussions/_internal/DiscussionUiSchemaSettings.ts"],"names":[],"mappings":";;;AAIA;;;;;GAKG;AACU,QAAA,aAAa,GAAG,KAAK,EAChC,SAAiB,EACjB,OAA4B,EAC5B,OAAuB,EACH,EAAE;IACtB,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"DiscussionUiSchemaSettings.js","sourceRoot":"","sources":["../../../../src/discussions/_internal/DiscussionUiSchemaSettings.ts"],"names":[],"mappings":";;;AAIA;;;;;GAKG;AACU,QAAA,aAAa,GAAG,KAAK,EAChC,SAAiB,EACjB,OAA4B,EAC5B,OAAuB,EACH,EAAE;IACtB,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,mCAAmC;gBAC7C,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,yCAAyC;wBAChD,QAAQ,EAAE,GAAG,SAAS,2BAA2B;wBACjD,OAAO,EAAE;4BACP,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,kCAAkC;4BAC3C,wDAAwD;4BACxD,eAAe,EAAE,CAAC,SAAS,CAAC;4BAC5B,kCAAkC;4BAClC,WAAW,EAAE,IAAI;yBAClB;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -25,6 +25,7 @@ const arcgis_1 = require("@terraformer/arcgis");
|
|
|
25
25
|
* @returns promise that resolves a IHubDiscussion
|
|
26
26
|
*/
|
|
27
27
|
async function createDiscussion(partialDiscussion, requestOptions) {
|
|
28
|
+
var _a, _b;
|
|
28
29
|
// merge incoming with the default
|
|
29
30
|
// this expansion solves the typing somehow
|
|
30
31
|
const discussion = Object.assign(Object.assign({}, defaults_1.DEFAULT_DISCUSSION), partialDiscussion);
|
|
@@ -42,11 +43,18 @@ async function createDiscussion(partialDiscussion, requestOptions) {
|
|
|
42
43
|
// create the item
|
|
43
44
|
model = await models_1.createModel(model, requestOptions);
|
|
44
45
|
const defaultSettings = getDefaultEntitySettings_1.getDefaultEntitySettings("discussion");
|
|
46
|
+
const settings = Object.assign(Object.assign({}, defaultSettings.settings), { discussions: Object.assign(Object.assign({}, defaultSettings.settings.discussions), discussion.discussionSettings) });
|
|
47
|
+
if (!((_a = settings.discussions.allowedChannelIds) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
48
|
+
settings.discussions.allowedChannelIds = null;
|
|
49
|
+
}
|
|
50
|
+
if (!((_b = settings.discussions.allowedLocations) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
51
|
+
settings.discussions.allowedLocations = null;
|
|
52
|
+
}
|
|
45
53
|
// create the entity settings
|
|
46
54
|
model.entitySettings = await settings_1.createSetting(Object.assign({ data: {
|
|
47
55
|
id: model.item.id,
|
|
48
56
|
type: defaultSettings.type,
|
|
49
|
-
settings
|
|
57
|
+
settings,
|
|
50
58
|
} }, requestOptions));
|
|
51
59
|
// map the model back into a IHubDiscussion
|
|
52
60
|
let newDiscussion = mapper.storeToEntity(model, {});
|
|
@@ -63,7 +71,7 @@ exports.createDiscussion = createDiscussion;
|
|
|
63
71
|
* @returns promise that resolves a IHubDiscussion
|
|
64
72
|
*/
|
|
65
73
|
async function updateDiscussion(discussion, requestOptions) {
|
|
66
|
-
var _a;
|
|
74
|
+
var _a, _b, _c;
|
|
67
75
|
// verify that the slug is unique, excluding the current discussion
|
|
68
76
|
await ensureUniqueEntitySlug_1.ensureUniqueEntitySlug(discussion, requestOptions);
|
|
69
77
|
discussion.typeKeywords = utils_1.setDiscussableKeyword(discussion.typeKeywords, discussion.isDiscussable);
|
|
@@ -94,6 +102,12 @@ async function updateDiscussion(discussion, requestOptions) {
|
|
|
94
102
|
// create or update entity settings
|
|
95
103
|
const defaultSettings = getDefaultEntitySettings_1.getDefaultEntitySettings("discussion");
|
|
96
104
|
const settings = Object.assign(Object.assign({}, defaultSettings.settings), { discussions: Object.assign(Object.assign(Object.assign({}, defaultSettings.settings.discussions), updatedDiscussion.discussionSettings), { allowedLocations }) });
|
|
105
|
+
if (!((_b = settings.discussions.allowedChannelIds) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
106
|
+
settings.discussions.allowedChannelIds = null;
|
|
107
|
+
}
|
|
108
|
+
if (!((_c = settings.discussions.allowedLocations) === null || _c === void 0 ? void 0 : _c.length)) {
|
|
109
|
+
settings.discussions.allowedLocations = null;
|
|
110
|
+
}
|
|
97
111
|
const newOrUpdatedSettings = updatedDiscussion.entitySettingsId
|
|
98
112
|
? await settings_1.updateSetting(Object.assign({ id: updatedDiscussion.entitySettingsId, data: { settings } }, requestOptions))
|
|
99
113
|
: await settings_1.createSetting(Object.assign({ data: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/discussions/edit.ts"],"names":[],"mappings":";;;AAAA,iEAAwE;AAExE,sCAA+D;AAC/D,0CAA+C;AAC/C,sFAAmF;AACnF,sDAIiC;AACjC,qEAAkE;AAClE,+DAA4D;AAC5D,2DAAwD;AACxD,yCAA0E;AAC1E,sFAAmF;AAEnF,mCAAgD;AAEhD,kCAAsC;AACtC,gDAAsD;AAGtD;;;;;;;;;GASG;AACI,KAAK,UAAU,gBAAgB,CACpC,iBAA0C,EAC1C,cAAkC
|
|
1
|
+
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/discussions/edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deleteRegistration = exports.updateRegistration = exports.getRegistration = exports.getRegistrations = exports.createRegistration = exports.deleteEvent = exports.updateEvent = exports.getEvent = exports.searchEvents = exports.getEvents = exports.createEvent = exports.EventAccess = exports.EventAssociationEntityType = exports.EventAttendanceType = exports.EventLocationType = exports.EventStatus = exports.RegistrationRole = exports.RegistrationStatus = exports.EventSort = exports.EventSortOrder = exports.GetEventsInclude = exports.RegistrationSort = void 0;
|
|
3
|
+
exports.deleteRegistration = exports.updateRegistration = exports.getRegistration = exports.getRegistrations = exports.createRegistration = exports.deleteEvent = exports.updateEvent = exports.getEvent = exports.searchEvents = exports.getEvents = exports.createEvent = exports.EventAccess = exports.EventAssociationEntityType = exports.EventAttendanceType = exports.EventLocationType = exports.EventStatus = exports.RegistrationRole = exports.RegistrationStatus = exports.EventSort = exports.EventSortOrder = exports.EventsSearchFormat = exports.GetEventsInclude = exports.RegistrationSort = void 0;
|
|
4
4
|
/* tslint:disable:interface-over-type-literal */
|
|
5
|
-
/**
|
|
6
|
-
* Generated by orval v6.24.0 🍺
|
|
7
|
-
* Do not edit manually.
|
|
8
|
-
* Hub Events Service
|
|
9
|
-
* OpenAPI spec version: 0.0.1
|
|
10
|
-
*/
|
|
11
5
|
/**
|
|
12
6
|
* Generated by orval v6.24.0 🍺
|
|
13
7
|
* Do not edit manually.
|
|
@@ -31,6 +25,11 @@ var GetEventsInclude;
|
|
|
31
25
|
GetEventsInclude["onlineMeeting"] = "onlineMeeting";
|
|
32
26
|
GetEventsInclude["registrations"] = "registrations";
|
|
33
27
|
})(GetEventsInclude = exports.GetEventsInclude || (exports.GetEventsInclude = {}));
|
|
28
|
+
var EventsSearchFormat;
|
|
29
|
+
(function (EventsSearchFormat) {
|
|
30
|
+
EventsSearchFormat["csv"] = "csv";
|
|
31
|
+
EventsSearchFormat["json"] = "json";
|
|
32
|
+
})(EventsSearchFormat = exports.EventsSearchFormat || (exports.EventsSearchFormat = {}));
|
|
34
33
|
var EventSortOrder;
|
|
35
34
|
(function (EventSortOrder) {
|
|
36
35
|
EventSortOrder["asc"] = "asc";
|
|
@@ -86,6 +85,9 @@ var EventAccess;
|
|
|
86
85
|
EventAccess["ORG"] = "ORG";
|
|
87
86
|
EventAccess["PUBLIC"] = "PUBLIC";
|
|
88
87
|
})(EventAccess = exports.EventAccess || (exports.EventAccess = {}));
|
|
88
|
+
/**
|
|
89
|
+
* Create a new event.
|
|
90
|
+
*/
|
|
89
91
|
exports.createEvent = (iCreateEvent, options) => {
|
|
90
92
|
return custom_client_1.customClient({
|
|
91
93
|
url: `/api/events/v1/events`,
|
|
@@ -94,9 +96,15 @@ exports.createEvent = (iCreateEvent, options) => {
|
|
|
94
96
|
data: iCreateEvent,
|
|
95
97
|
}, options);
|
|
96
98
|
};
|
|
99
|
+
/**
|
|
100
|
+
* Get a list of events matching request criteria.
|
|
101
|
+
*/
|
|
97
102
|
exports.getEvents = (params, options) => {
|
|
98
103
|
return custom_client_1.customClient({ url: `/api/events/v1/events`, method: "GET", params }, options);
|
|
99
104
|
};
|
|
105
|
+
/**
|
|
106
|
+
* Search for events matching request criteria.
|
|
107
|
+
*/
|
|
100
108
|
exports.searchEvents = (iSearchEvents, options) => {
|
|
101
109
|
return custom_client_1.customClient({
|
|
102
110
|
url: `/api/events/v1/events/search`,
|
|
@@ -105,9 +113,15 @@ exports.searchEvents = (iSearchEvents, options) => {
|
|
|
105
113
|
data: iSearchEvents,
|
|
106
114
|
}, options);
|
|
107
115
|
};
|
|
116
|
+
/**
|
|
117
|
+
* Get a single event.
|
|
118
|
+
*/
|
|
108
119
|
exports.getEvent = (id, options) => {
|
|
109
120
|
return custom_client_1.customClient({ url: `/api/events/v1/events/${id}`, method: "GET" }, options);
|
|
110
121
|
};
|
|
122
|
+
/**
|
|
123
|
+
* Update an existing event.
|
|
124
|
+
*/
|
|
111
125
|
exports.updateEvent = (id, iUpdateEvent, options) => {
|
|
112
126
|
return custom_client_1.customClient({
|
|
113
127
|
url: `/api/events/v1/events/${id}`,
|
|
@@ -116,9 +130,15 @@ exports.updateEvent = (id, iUpdateEvent, options) => {
|
|
|
116
130
|
data: iUpdateEvent,
|
|
117
131
|
}, options);
|
|
118
132
|
};
|
|
133
|
+
/**
|
|
134
|
+
* Delete an existing event.
|
|
135
|
+
*/
|
|
119
136
|
exports.deleteEvent = (id, options) => {
|
|
120
137
|
return custom_client_1.customClient({ url: `/api/events/v1/events/${id}`, method: "DELETE" }, options);
|
|
121
138
|
};
|
|
139
|
+
/**
|
|
140
|
+
* Create a new registration.
|
|
141
|
+
*/
|
|
122
142
|
exports.createRegistration = (iCreateRegistration, options) => {
|
|
123
143
|
return custom_client_1.customClient({
|
|
124
144
|
url: `/api/events/v1/registrations`,
|
|
@@ -127,12 +147,21 @@ exports.createRegistration = (iCreateRegistration, options) => {
|
|
|
127
147
|
data: iCreateRegistration,
|
|
128
148
|
}, options);
|
|
129
149
|
};
|
|
150
|
+
/**
|
|
151
|
+
* Get a list of registrations matching request criteria.
|
|
152
|
+
*/
|
|
130
153
|
exports.getRegistrations = (params, options) => {
|
|
131
154
|
return custom_client_1.customClient({ url: `/api/events/v1/registrations`, method: "GET", params }, options);
|
|
132
155
|
};
|
|
156
|
+
/**
|
|
157
|
+
* Get a registration by id.
|
|
158
|
+
*/
|
|
133
159
|
exports.getRegistration = (id, options) => {
|
|
134
160
|
return custom_client_1.customClient({ url: `/api/events/v1/registrations/${id}`, method: "GET" }, options);
|
|
135
161
|
};
|
|
162
|
+
/**
|
|
163
|
+
* Update a registration by id.
|
|
164
|
+
*/
|
|
136
165
|
exports.updateRegistration = (id, iUpdateRegistration, options) => {
|
|
137
166
|
return custom_client_1.customClient({
|
|
138
167
|
url: `/api/events/v1/registrations/${id}`,
|
|
@@ -141,6 +170,9 @@ exports.updateRegistration = (id, iUpdateRegistration, options) => {
|
|
|
141
170
|
data: iUpdateRegistration,
|
|
142
171
|
}, options);
|
|
143
172
|
};
|
|
173
|
+
/**
|
|
174
|
+
* Delete a registration by id.
|
|
175
|
+
*/
|
|
144
176
|
exports.deleteRegistration = (id, options) => {
|
|
145
177
|
return custom_client_1.customClient({ url: `/api/events/v1/registrations/${id}`, method: "DELETE" }, options);
|
|
146
178
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orval-events.js","sourceRoot":"","sources":["../../../../../../src/events/api/orval/api/orval-events.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAChD;;;;;GAKG;AACH
|
|
1
|
+
{"version":3,"file":"orval-events.js","sourceRoot":"","sources":["../../../../../../src/events/api/orval/api/orval-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.channelResultsToSearchResults = void 0;
|
|
4
|
+
const utils_1 = require("../../../discussions/utils");
|
|
5
|
+
const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
|
|
6
|
+
const batch_1 = require("../../../utils/batch");
|
|
7
|
+
const _array_1 = require("../../../utils/_array");
|
|
8
|
+
/**
|
|
9
|
+
* @private
|
|
10
|
+
* Convert an array of Discussions API channel search results into an
|
|
11
|
+
* array of IHubSearchResult objects
|
|
12
|
+
* @param channels An array of IChannel objects
|
|
13
|
+
* @param options an IHubSearchOptions object
|
|
14
|
+
* @returns a promise that resolves an array of IHubSearchResult objects
|
|
15
|
+
*/
|
|
16
|
+
async function channelResultsToSearchResults(channels, options) {
|
|
17
|
+
var _a;
|
|
18
|
+
let groupResults = [];
|
|
19
|
+
if ((_a = options.include) === null || _a === void 0 ? void 0 : _a.includes("groups")) {
|
|
20
|
+
// we can search for up to 100 channels at a time that can each
|
|
21
|
+
// have up to 100 groups...
|
|
22
|
+
const uniqueGroupIds = channels.reduce((acc, channel) => utils_1.getChannelGroupIds(channel).reduce((memo, groupId) => memo.includes(groupId) ? memo : [...memo, groupId], acc), []);
|
|
23
|
+
// conduct up to 5 concurrent searches that can request
|
|
24
|
+
// up to 100 ids per search. if less than 101 ids exist,
|
|
25
|
+
// it performs a single search
|
|
26
|
+
const batchResults = await batch_1.batch(_array_1.splitArrayByLength(uniqueGroupIds, 100), (groupIds) => arcgis_rest_portal_1.searchGroups(Object.assign({ q: groupIds.map((id) => `id:${id}`).join(" OR "), num: groupIds.length }, options.requestOptions)), 5);
|
|
27
|
+
// reassemble the batch results into a single array
|
|
28
|
+
groupResults = batchResults.reduce((acc, batchResult) => [...acc, ...batchResult.results], []);
|
|
29
|
+
}
|
|
30
|
+
return channels.map((channel) => {
|
|
31
|
+
var _a;
|
|
32
|
+
return utils_1.channelToSearchResult(channel, ((_a = options.include) === null || _a === void 0 ? void 0 : _a.includes("groups")) ? utils_1.getChannelGroupIds(channel).map((groupId) => groupResults.find(({ id }) => id === groupId) || null)
|
|
33
|
+
: []);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
exports.channelResultsToSearchResults = channelResultsToSearchResults;
|
|
37
|
+
//# sourceMappingURL=channelResultsToSearchResults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channelResultsToSearchResults.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubDiscussionsHelpers/channelResultsToSearchResults.ts"],"names":[],"mappings":";;;AACA,sDAGoC;AACpC,iEAA+E;AAC/E,gDAA6C;AAC7C,kDAA2D;AAG3D;;;;;;;GAOG;AACI,KAAK,UAAU,6BAA6B,CACjD,QAAoB,EACpB,OAA0B;;IAE1B,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,UAAI,OAAO,CAAC,OAAO,0CAAE,QAAQ,CAAC,QAAQ,GAAG;QACvC,+DAA+D;QAC/D,2BAA2B;QAC3B,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CACf,0BAAkB,CAAC,OAAO,CAAC,CAAC,MAAM,CAChC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAChB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,EACpD,GAAG,CACJ,EACH,EAAE,CACH,CAAC;QACF,uDAAuD;QACvD,wDAAwD;QACxD,8BAA8B;QAC9B,MAAM,YAAY,GAAiC,MAAM,aAAK,CAC5D,2BAAkB,CAAC,cAAc,EAAE,GAAG,CAAC,EACvC,CAAC,QAAkB,EAAE,EAAE,CACrB,iCAAY,iBACV,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAChD,GAAG,EAAE,QAAQ,CAAC,MAAM,IACjB,OAAO,CAAC,cAAc,EACzB,EACJ,CAAC,CACF,CAAC;QACF,mDAAmD;QACnD,YAAY,GAAG,YAAY,CAAC,MAAM,CAChC,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,EACtD,EAAE,CACH,CAAC;KACH;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;QAC9B,OAAA,6BAAqB,CACnB,OAAO,EACP,OAAA,OAAO,CAAC,OAAO,0CAAE,QAAQ,CAAC,QAAQ,GAChC,CAAC,CAAC,0BAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,CAC7B,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,IAAI,CACnE;YACH,CAAC,CAAC,EAAE,CACP,CAAA;KAAA,CACF,CAAC;AACJ,CAAC;AA9CD,sEA8CC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processChannelFilters = void 0;
|
|
4
|
+
function flattenFilters(filters) {
|
|
5
|
+
return filters.reduce((acc1, filter) => filter.predicates.reduce((acc2, predicate) => Object.keys(predicate).reduce((acc3, predicateKey) => {
|
|
6
|
+
const values = acc3[predicateKey] || [];
|
|
7
|
+
values.push(...(Array.isArray(predicate[predicateKey])
|
|
8
|
+
? predicate[predicateKey]
|
|
9
|
+
: [predicate[predicateKey]]));
|
|
10
|
+
return Object.assign(Object.assign({}, acc3), { [predicateKey]: values });
|
|
11
|
+
}, acc2), acc1), {});
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @private
|
|
15
|
+
* Converts an IFilter array into a partial ISearchChannels
|
|
16
|
+
* object of filter parameters
|
|
17
|
+
* @param filters An array of IFilter objects
|
|
18
|
+
* @returns a partial ISearchChannels object
|
|
19
|
+
*/
|
|
20
|
+
function processChannelFilters(filters) {
|
|
21
|
+
var _a, _b, _c, _d;
|
|
22
|
+
const channelOptions = {};
|
|
23
|
+
const flattenedFilters = flattenFilters(filters);
|
|
24
|
+
if ((_a = flattenedFilters.term) === null || _a === void 0 ? void 0 : _a.length) {
|
|
25
|
+
channelOptions.name = flattenedFilters.term[0];
|
|
26
|
+
}
|
|
27
|
+
if ((_b = flattenedFilters.groups) === null || _b === void 0 ? void 0 : _b.length) {
|
|
28
|
+
channelOptions.groups = flattenedFilters.groups;
|
|
29
|
+
}
|
|
30
|
+
if ((_c = flattenedFilters.access) === null || _c === void 0 ? void 0 : _c.length) {
|
|
31
|
+
channelOptions.access = flattenedFilters.access;
|
|
32
|
+
}
|
|
33
|
+
if ((_d = flattenedFilters.id) === null || _d === void 0 ? void 0 : _d.length) {
|
|
34
|
+
const { ids, notIds } = flattenedFilters.id.reduce((acc, id) => id.not
|
|
35
|
+
? Object.assign(Object.assign({}, acc), { notIds: [
|
|
36
|
+
...acc.notIds,
|
|
37
|
+
...(Array.isArray(id.not) ? id.not : [id.not]),
|
|
38
|
+
] }) : Object.assign(Object.assign({}, acc), { ids: [...acc.ids, id] }), { ids: [], notIds: [] });
|
|
39
|
+
if (ids.length) {
|
|
40
|
+
channelOptions.ids = ids;
|
|
41
|
+
}
|
|
42
|
+
if (notIds.length) {
|
|
43
|
+
channelOptions.notIds = notIds;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return channelOptions;
|
|
47
|
+
}
|
|
48
|
+
exports.processChannelFilters = processChannelFilters;
|
|
49
|
+
//# sourceMappingURL=processChannelFilters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processChannelFilters.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubDiscussionsHelpers/processChannelFilters.ts"],"names":[],"mappings":";;;AAGA,SAAS,cAAc,CAAC,OAAkB;IACxC,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CACf,MAAM,CAAC,UAAU,CAAC,MAAM,CACtB,CAAC,IAAI,EAAE,SAAqB,EAAE,EAAE,CAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAC3B,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE;QACrB,MAAM,MAAM,GAAU,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CACT,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC;YACzB,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAC/B,CAAC;QACF,uCACK,IAAI,KACP,CAAC,YAAY,CAAC,EAAE,MAAM,IACtB;IACJ,CAAC,EACD,IAAI,CACL,EACH,IAAI,CACL,EACH,EAAE,CACH,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,OAAkB;;IAElB,MAAM,cAAc,GAA6B,EAAE,CAAC;IACpD,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACjD,UAAI,gBAAgB,CAAC,IAAI,0CAAE,MAAM,EAAE;QACjC,cAAc,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChD;IACD,UAAI,gBAAgB,CAAC,MAAM,0CAAE,MAAM,EAAE;QACnC,cAAc,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;KACjD;IACD,UAAI,gBAAgB,CAAC,MAAM,0CAAE,MAAM,EAAE;QACnC,cAAc,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;KACjD;IACD,UAAI,gBAAgB,CAAC,EAAE,0CAAE,MAAM,EAAE;QAC/B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CACV,EAAE,CAAC,GAAG;YACJ,CAAC,iCACM,GAAG,KACN,MAAM,EAAE;oBACN,GAAG,GAAG,CAAC,MAAM;oBACb,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBAC/C,IAEL,CAAC,iCACM,GAAG,KACN,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GACtB,EACP,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CACxB,CAAC;QACF,IAAI,GAAG,CAAC,MAAM,EAAE;YACd,cAAc,CAAC,GAAG,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;SAChC;KACF;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAvCD,sDAuCC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processChannelOptions = void 0;
|
|
4
|
+
const types_1 = require("../../../discussions/api/types");
|
|
5
|
+
const SORT_FIELD_MAP = {
|
|
6
|
+
access: types_1.ChannelSort.ACCESS,
|
|
7
|
+
created: types_1.ChannelSort.CREATED_AT,
|
|
8
|
+
modified: types_1.ChannelSort.UPDATED_AT,
|
|
9
|
+
owner: types_1.ChannelSort.CREATOR,
|
|
10
|
+
};
|
|
11
|
+
const SORT_ORDER_MAP = {
|
|
12
|
+
desc: types_1.SortOrder.DESC,
|
|
13
|
+
asc: types_1.SortOrder.ASC,
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* @private
|
|
17
|
+
* Converts an IHubSearchOptions object into a partial ISearchChannels
|
|
18
|
+
* object of paging & sort parameters
|
|
19
|
+
* @param options An IHubSearchOptions object
|
|
20
|
+
* @returns a partial ISearchChannels object
|
|
21
|
+
*/
|
|
22
|
+
function processChannelOptions(options) {
|
|
23
|
+
const channelOptions = {};
|
|
24
|
+
if (options.num) {
|
|
25
|
+
channelOptions.num = options.num;
|
|
26
|
+
}
|
|
27
|
+
if (options.start) {
|
|
28
|
+
channelOptions.start = options.start;
|
|
29
|
+
}
|
|
30
|
+
if (options.sortField && SORT_FIELD_MAP[options.sortField]) {
|
|
31
|
+
channelOptions.sortBy = SORT_FIELD_MAP[options.sortField];
|
|
32
|
+
}
|
|
33
|
+
if (options.sortOrder && SORT_ORDER_MAP[options.sortOrder]) {
|
|
34
|
+
channelOptions.sortOrder = SORT_ORDER_MAP[options.sortOrder];
|
|
35
|
+
}
|
|
36
|
+
return channelOptions;
|
|
37
|
+
}
|
|
38
|
+
exports.processChannelOptions = processChannelOptions;
|
|
39
|
+
//# sourceMappingURL=processChannelOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processChannelOptions.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubDiscussionsHelpers/processChannelOptions.ts"],"names":[],"mappings":";;;AAAA,0DAIwC;AAGxC,MAAM,cAAc,GAAgC;IAClD,MAAM,EAAE,mBAAW,CAAC,MAAM;IAC1B,OAAO,EAAE,mBAAW,CAAC,UAAU;IAC/B,QAAQ,EAAE,mBAAW,CAAC,UAAU;IAChC,KAAK,EAAE,mBAAW,CAAC,OAAO;CAC3B,CAAC;AAEF,MAAM,cAAc,GAAsC;IACxD,IAAI,EAAE,iBAAS,CAAC,IAAI;IACpB,GAAG,EAAE,iBAAS,CAAC,GAAG;CACnB,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,OAA0B;IAE1B,MAAM,cAAc,GAA6B,EAAE,CAAC;IACpD,IAAI,OAAO,CAAC,GAAG,EAAE;QACf,cAAc,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;KAClC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE;QACjB,cAAc,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACtC;IACD,IAAI,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC1D,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAC3D;IACD,IAAI,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC1D,cAAc,CAAC,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAC9D;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAjBD,sDAiBC"}
|
|
@@ -1,136 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hubSearchChannels =
|
|
3
|
+
exports.hubSearchChannels = void 0;
|
|
4
4
|
const HubError_1 = require("../../HubError");
|
|
5
5
|
const channels_1 = require("../../discussions/api/channels");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
6
|
+
const processChannelFilters_1 = require("./hubDiscussionsHelpers/processChannelFilters");
|
|
7
|
+
const processChannelOptions_1 = require("./hubDiscussionsHelpers/processChannelOptions");
|
|
8
|
+
const channelResultsToSearchResults_1 = require("./hubDiscussionsHelpers/channelResultsToSearchResults");
|
|
9
9
|
/**
|
|
10
10
|
* @private
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* @
|
|
15
|
-
* @param {IQuery} query
|
|
16
|
-
* @returns ISearchChannelParams
|
|
11
|
+
* Executes a Discussions API channel search and resolves an IHubSearchResponse<IHubSearchResult> for the channel results
|
|
12
|
+
* @param query an IQuery object
|
|
13
|
+
* @param options an IHubSearchOptions object
|
|
14
|
+
* @returns a promise that resolves an HubSearchResponse<IHubSearchResult> object
|
|
17
15
|
*/
|
|
18
|
-
exports.
|
|
19
|
-
if (!
|
|
16
|
+
exports.hubSearchChannels = async (query, searchOptions) => {
|
|
17
|
+
if (!searchOptions.requestOptions) {
|
|
20
18
|
throw new HubError_1.default("hubSearchChannels", "options.requestOptions is required");
|
|
21
19
|
}
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
"start",
|
|
27
|
-
"sortField",
|
|
28
|
-
"sortOrder",
|
|
29
|
-
];
|
|
30
|
-
// Map ISearchOptions key to ISearchChannels key
|
|
31
|
-
const keyMappings = {
|
|
32
|
-
sortField: "sortBy",
|
|
33
|
-
term: "name",
|
|
34
|
-
};
|
|
35
|
-
// Map any values that originated from ISearchOptions
|
|
36
|
-
// into a correct ISearchChannels value
|
|
37
|
-
const mapValue = (key, value) => {
|
|
38
|
-
let _value = value;
|
|
39
|
-
if (key === "sortOrder") {
|
|
40
|
-
_value = value === null || value === void 0 ? void 0 : value.toUpperCase();
|
|
41
|
-
}
|
|
42
|
-
else if (key === "sortBy") {
|
|
43
|
-
_value = {
|
|
44
|
-
created: "createdAt",
|
|
45
|
-
modified: "updatedAt",
|
|
46
|
-
title: null,
|
|
47
|
-
}[value];
|
|
48
|
-
}
|
|
49
|
-
return _value;
|
|
50
|
-
};
|
|
51
|
-
allowedPaginationProps.forEach((prop) => {
|
|
52
|
-
if (options.hasOwnProperty(prop)) {
|
|
53
|
-
const { [prop]: key = prop } = keyMappings;
|
|
54
|
-
const _key = key;
|
|
55
|
-
const value = mapValue(_key, options[prop]);
|
|
56
|
-
if (key && value) {
|
|
57
|
-
paginationProps[_key] = value;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
// Acceptable fields to use as filters
|
|
62
|
-
const filterProps = {};
|
|
63
|
-
const allowedFilterProps = [
|
|
64
|
-
"access",
|
|
65
|
-
"groups",
|
|
66
|
-
"name",
|
|
67
|
-
];
|
|
68
|
-
// Find predicates that match acceptable filter fields
|
|
69
|
-
query.filters.forEach((filter) => {
|
|
70
|
-
filter.predicates.forEach((predicate) => {
|
|
71
|
-
Object.keys(predicate).forEach((key) => {
|
|
72
|
-
const { [key]: _key = key } = keyMappings;
|
|
73
|
-
if (allowedFilterProps.includes(_key)) {
|
|
74
|
-
filterProps[_key] = [...(filterProps[_key] || []), predicate[key]];
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
// Return as ISearchChannelsParams
|
|
80
|
-
return Object.assign(Object.assign({}, options.requestOptions), { data: Object.assign(Object.assign(Object.assign({}, paginationProps), filterProps), { relations: [discussions_1.ChannelRelation.CHANNEL_ACL] }) });
|
|
81
|
-
};
|
|
82
|
-
/**
|
|
83
|
-
* @private
|
|
84
|
-
* Convert the Discussions API searchChannels response into an
|
|
85
|
-
* IHubSearchResponse necessary for supporting hubSearch results
|
|
86
|
-
* @param {IPagedResponse{IChannel}} channelsResponse
|
|
87
|
-
* @param {IQuery} query
|
|
88
|
-
* @param {IHubSearchOptions} options
|
|
89
|
-
* @returns IHubSearchResponse<IHubSearchResult>
|
|
90
|
-
*/
|
|
91
|
-
exports.toHubSearchResults = async (channelsResponse, query, options) => {
|
|
92
|
-
const { total, items, nextStart } = channelsResponse;
|
|
93
|
-
// Convert IChannel to IHubSearchResult
|
|
94
|
-
const itemsAndGroups = await Promise.all(items.map(async (channel) => {
|
|
95
|
-
var _a;
|
|
96
|
-
const groupIds = utils_1.getChannelGroupIds(channel);
|
|
97
|
-
const groups = ((_a = options.include) === null || _a === void 0 ? void 0 : _a.includes("groups")) ? await Promise.all(groupIds.map(async (groupId) => {
|
|
98
|
-
let group;
|
|
99
|
-
try {
|
|
100
|
-
group = await arcgis_rest_portal_1.getGroup(groupId, options.requestOptions);
|
|
101
|
-
}
|
|
102
|
-
catch (e) {
|
|
103
|
-
group = null;
|
|
104
|
-
/* tslint:disable-next-line: no-console */
|
|
105
|
-
console.warn(`Cannot fetch group enhancement for id = ${groupId}`, e);
|
|
106
|
-
}
|
|
107
|
-
return group;
|
|
108
|
-
}))
|
|
109
|
-
: [];
|
|
110
|
-
return { channel, groups };
|
|
111
|
-
}));
|
|
20
|
+
const filters = processChannelFilters_1.processChannelFilters(query.filters);
|
|
21
|
+
const options = processChannelOptions_1.processChannelOptions(searchOptions);
|
|
22
|
+
const { total, nextStart, items } = await channels_1.searchChannels(Object.assign({ data: Object.assign(Object.assign({}, filters), options) }, searchOptions.requestOptions));
|
|
23
|
+
const results = await channelResultsToSearchResults_1.channelResultsToSearchResults(items, searchOptions);
|
|
112
24
|
return {
|
|
113
25
|
total,
|
|
114
|
-
results
|
|
26
|
+
results,
|
|
115
27
|
hasNext: nextStart > -1,
|
|
116
|
-
next: () => {
|
|
117
|
-
return exports.hubSearchChannels(query, Object.assign(Object.assign({}, options), { start: nextStart }));
|
|
118
|
-
},
|
|
28
|
+
next: () => exports.hubSearchChannels(query, Object.assign(Object.assign({}, searchOptions), { start: nextStart })),
|
|
119
29
|
};
|
|
120
30
|
};
|
|
121
|
-
/**
|
|
122
|
-
* @private
|
|
123
|
-
* Execute channel search against the Discussions API
|
|
124
|
-
* @param query
|
|
125
|
-
* @param options
|
|
126
|
-
* @returns
|
|
127
|
-
*/
|
|
128
|
-
exports.hubSearchChannels = async (query, options) => {
|
|
129
|
-
// Pull useful info out of query
|
|
130
|
-
const searchOptions = exports.processSearchParams(options, query);
|
|
131
|
-
// Call to searchChannels
|
|
132
|
-
const channelsResponse = await channels_1.searchChannels(searchOptions);
|
|
133
|
-
// Parse into <IHubSearchResponse<IHubSearchResult>>
|
|
134
|
-
return exports.toHubSearchResults(channelsResponse, query, options);
|
|
135
|
-
};
|
|
136
31
|
//# sourceMappingURL=hubSearchChannels.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hubSearchChannels.js","sourceRoot":"","sources":["../../../../src/search/_internal/hubSearchChannels.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"hubSearchChannels.js","sourceRoot":"","sources":["../../../../src/search/_internal/hubSearchChannels.ts"],"names":[],"mappings":";;;AAMA,6CAAsC;AACtC,6DAAgE;AAChE,yFAAsF;AACtF,yFAAsF;AACtF,yGAAsG;AAEtG;;;;;;GAMG;AACU,QAAA,iBAAiB,GAAG,KAAK,EACpC,KAAa,EACb,aAAgC,EACe,EAAE;IACjD,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;QACjC,MAAM,IAAI,kBAAQ,CAChB,mBAAmB,EACnB,oCAAoC,CACrC,CAAC;KACH;IACD,MAAM,OAAO,GAAG,6CAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,6CAAqB,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,yBAAc,iBACtD,IAAI,kCACC,OAAO,GACP,OAAO,KAET,aAAa,CAAC,cAAc,EAC/B,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,6DAA6B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC1E,OAAO;QACL,KAAK;QACL,OAAO;QACP,OAAO,EAAE,SAAS,GAAG,CAAC,CAAC;QACvB,IAAI,EAAE,GAAG,EAAE,CACT,yBAAiB,CAAC,KAAK,kCAClB,aAAa,KAChB,KAAK,EAAE,SAAS,IAChB;KACL,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -17,7 +17,6 @@ exports.UserPermissions = [
|
|
|
17
17
|
"hub:user:workspace:content",
|
|
18
18
|
"hub:user:workspace:groups",
|
|
19
19
|
"hub:user:workspace:events",
|
|
20
|
-
"hub:user:workspace:discussions",
|
|
21
20
|
"hub:user:workspace:shared-with-me",
|
|
22
21
|
"hub:user:manage",
|
|
23
22
|
];
|
|
@@ -71,12 +70,6 @@ exports.UserPermissionPolicies = [
|
|
|
71
70
|
services: ["events"],
|
|
72
71
|
dependencies: ["hub:user:workspace", "hub:user:owner"],
|
|
73
72
|
},
|
|
74
|
-
{
|
|
75
|
-
permission: "hub:user:workspace:discussions",
|
|
76
|
-
availability: ["alpha"],
|
|
77
|
-
services: ["discussions"],
|
|
78
|
-
dependencies: ["hub:user:workspace", "hub:user:owner"],
|
|
79
|
-
},
|
|
80
73
|
{
|
|
81
74
|
permission: "hub:user:workspace:settings",
|
|
82
75
|
dependencies: ["hub:user:workspace", "hub:user:owner"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserBusinessRules.js","sourceRoot":"","sources":["../../../../src/users/_internal/UserBusinessRules.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACU,QAAA,eAAe,GAAG;IAC7B,UAAU;IACV,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,6BAA6B;IAC7B,6BAA6B;IAC7B,4BAA4B;IAC5B,2BAA2B;IAC3B,2BAA2B;IAC3B,
|
|
1
|
+
{"version":3,"file":"UserBusinessRules.js","sourceRoot":"","sources":["../../../../src/users/_internal/UserBusinessRules.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACU,QAAA,eAAe,GAAG;IAC7B,UAAU;IACV,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,6BAA6B;IAC7B,6BAA6B;IAC7B,4BAA4B;IAC5B,2BAA2B;IAC3B,2BAA2B;IAC3B,mCAAmC;IACnC,iBAAiB;CACT,CAAC;AAEX;;;GAGG;AACU,QAAA,sBAAsB,GAAwB;IACzD;QACE,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,KAAK;KACrB;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,qDAAqD;QACrD,kEAAkE;QAClE,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QACjC,kDAAkD;QAClD,mCAAmC;QACnC,YAAY,EAAE,CAAC,uBAAuB,CAAC;KACxC;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,oBAAoB,CAAC;KACrC;IACD;QACE,UAAU,EAAE,4BAA4B;QACxC,YAAY,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;KACvD;IACD;QACE,UAAU,EAAE,2BAA2B;QACvC,YAAY,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;KACvD;IACD;QACE,UAAU,EAAE,2BAA2B;QACvC,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,YAAY,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;KACvD;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;KACvD;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,CAAC,eAAe,CAAC;KAChC;CACF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.maybeConcat = void 0;
|
|
3
|
+
exports.splitArrayByLength = exports.maybeConcat = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* concat an array of arrays
|
|
6
6
|
* excluding any elements of the top level array
|
|
@@ -13,4 +13,23 @@ exports.maybeConcat = (arrays) => {
|
|
|
13
13
|
const result = [].concat.apply([], arrays.filter(Array.isArray));
|
|
14
14
|
return result.length ? result : undefined;
|
|
15
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* Splits a single array into many arrays of a given max length.
|
|
18
|
+
* E.g. splitArrayByLength(['a', 'b', 'c'], 2); // => [['a', 'b'], ['c']]
|
|
19
|
+
* @param originalValues The original array of values
|
|
20
|
+
* @param length The max length of the resulting arrays
|
|
21
|
+
* @returns an array of arrays
|
|
22
|
+
*/
|
|
23
|
+
function splitArrayByLength(originalValues, length) {
|
|
24
|
+
return originalValues.reduce((splits, originalValue) => {
|
|
25
|
+
let split = splits[splits.length - 1];
|
|
26
|
+
if (!split || split.length === length) {
|
|
27
|
+
split = [];
|
|
28
|
+
splits.push(split);
|
|
29
|
+
}
|
|
30
|
+
split.push(originalValue);
|
|
31
|
+
return splits;
|
|
32
|
+
}, []);
|
|
33
|
+
}
|
|
34
|
+
exports.splitArrayByLength = splitArrayByLength;
|
|
16
35
|
//# sourceMappingURL=_array.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_array.js","sourceRoot":"","sources":["../../../src/utils/_array.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACU,QAAA,WAAW,GAAG,CAAC,MAAe,EAAE,EAAE;IAC7C,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"_array.js","sourceRoot":"","sources":["../../../src/utils/_array.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACU,QAAA,WAAW,GAAG,CAAC,MAAe,EAAE,EAAE;IAC7C,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAChC,cAAmB,EACnB,MAAc;IAEd,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE;QACrD,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;YACrC,KAAK,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;QACD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAbD,gDAaC"}
|
package/dist/node/utils/batch.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.batch = void 0;
|
|
4
|
+
const _array_1 = require("./_array");
|
|
4
5
|
/**
|
|
5
6
|
* Helper to split a large number of calls into
|
|
6
7
|
* smaller batches of concurrent calls.
|
|
@@ -10,15 +11,6 @@ exports.batch = void 0;
|
|
|
10
11
|
* @returns {Promise<IBatch[]>}
|
|
11
12
|
*/
|
|
12
13
|
function batch(values, fn, batchSize = 5) {
|
|
13
|
-
const toBatches = (_batches, value) => {
|
|
14
|
-
let _batch = _batches[_batches.length - 1];
|
|
15
|
-
if (!_batch || _batch.length === batchSize) {
|
|
16
|
-
_batch = [];
|
|
17
|
-
_batches.push(_batch);
|
|
18
|
-
}
|
|
19
|
-
_batch.push(value);
|
|
20
|
-
return _batches;
|
|
21
|
-
};
|
|
22
14
|
const toSerialBatchChain = (promise, batchOfValues) => {
|
|
23
15
|
const executeBatch = (prevResults) => {
|
|
24
16
|
const batchResults = batchOfValues.map((id) => fn(id));
|
|
@@ -27,7 +19,7 @@ function batch(values, fn, batchSize = 5) {
|
|
|
27
19
|
return promise.then(executeBatch);
|
|
28
20
|
};
|
|
29
21
|
// split values into batches of values
|
|
30
|
-
const batches =
|
|
22
|
+
const batches = _array_1.splitArrayByLength(values, batchSize);
|
|
31
23
|
// batches are processed serially, however
|
|
32
24
|
// all calls within a batch are concurrent
|
|
33
25
|
return batches.reduce(toSerialBatchChain, Promise.resolve([]));
|