@esri/hub-common 20.26.0 → 21.1.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/discussions/api/channels/channels.js +1 -113
- package/dist/esm/discussions/api/channels/channels.js.map +1 -1
- package/dist/esm/discussions/api/discussions-api-request.js +0 -18
- package/dist/esm/discussions/api/discussions-api-request.js.map +1 -1
- package/dist/esm/discussions/api/posts/posts.js +1 -117
- package/dist/esm/discussions/api/posts/posts.js.map +1 -1
- package/dist/esm/discussions/api/reactions/reactions.js +1 -29
- package/dist/esm/discussions/api/reactions/reactions.js.map +1 -1
- package/dist/esm/discussions/api/settings/settings.js +1 -52
- package/dist/esm/discussions/api/settings/settings.js.map +1 -1
- package/dist/esm/discussions/api/utils/channel-permission.js.map +1 -1
- package/dist/esm/discussions/utils.js +18 -31
- package/dist/esm/discussions/utils.js.map +1 -1
- package/dist/esm/events/api/orval/api/orval-events.js.map +1 -1
- package/dist/esm/index.js +5 -17
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/search/_internal/hubEventsHelpers/processFilters.js +40 -21
- package/dist/esm/search/_internal/hubEventsHelpers/processFilters.js.map +1 -1
- package/dist/esm/search/_internal/hubSearchEvents.js +4 -1
- package/dist/esm/search/_internal/hubSearchEvents.js.map +1 -1
- package/dist/node/discussions/api/channels/channels.js +0 -121
- package/dist/node/discussions/api/channels/channels.js.map +1 -1
- package/dist/node/discussions/api/discussions-api-request.js +0 -19
- package/dist/node/discussions/api/discussions-api-request.js.map +1 -1
- package/dist/node/discussions/api/posts/posts.js +0 -124
- package/dist/node/discussions/api/posts/posts.js.map +1 -1
- package/dist/node/discussions/api/reactions/reactions.js +0 -30
- package/dist/node/discussions/api/reactions/reactions.js.map +1 -1
- package/dist/node/discussions/api/settings/settings.js +0 -55
- package/dist/node/discussions/api/settings/settings.js.map +1 -1
- package/dist/node/discussions/api/utils/channel-permission.js.map +1 -1
- package/dist/node/discussions/utils.js +18 -31
- package/dist/node/discussions/utils.js.map +1 -1
- package/dist/node/events/api/orval/api/orval-events.js.map +1 -1
- package/dist/node/index.js +12 -63
- package/dist/node/index.js.map +1 -1
- package/dist/node/search/_internal/hubEventsHelpers/processFilters.js +40 -21
- package/dist/node/search/_internal/hubEventsHelpers/processFilters.js.map +1 -1
- package/dist/node/search/_internal/hubSearchEvents.js +4 -1
- package/dist/node/search/_internal/hubSearchEvents.js.map +1 -1
- package/dist/types/discussions/api/channels/channels.d.ts +1 -86
- package/dist/types/discussions/api/discussions-api-request.d.ts +0 -10
- package/dist/types/discussions/api/posts/posts.d.ts +1 -79
- package/dist/types/discussions/api/reactions/reactions.d.ts +0 -21
- package/dist/types/discussions/api/settings/settings.d.ts +0 -39
- package/dist/types/discussions/api/types.d.ts +1 -117
- package/dist/types/discussions/utils.d.ts +5 -9
- package/dist/types/events/api/orval/api/orval-events.d.ts +10 -1
- package/dist/types/index.d.ts +6 -18
- package/dist/types/search/_internal/hubSearchEvents.d.ts +4 -1
- package/package.json +2 -2
- package/dist/esm/discussions/api/utils/channels/can-create-channel.js +0 -54
- package/dist/esm/discussions/api/utils/channels/can-create-channel.js.map +0 -1
- package/dist/esm/discussions/api/utils/channels/can-delete-channel.js +0 -17
- package/dist/esm/discussions/api/utils/channels/can-delete-channel.js.map +0 -1
- package/dist/esm/discussions/api/utils/channels/can-edit-channel.js +0 -17
- package/dist/esm/discussions/api/utils/channels/can-edit-channel.js.map +0 -1
- package/dist/esm/discussions/api/utils/channels/can-modify-channel.js +0 -18
- package/dist/esm/discussions/api/utils/channels/can-modify-channel.js.map +0 -1
- package/dist/esm/discussions/api/utils/channels/can-post-to-channel.js +0 -57
- package/dist/esm/discussions/api/utils/channels/can-post-to-channel.js.map +0 -1
- package/dist/esm/discussions/api/utils/channels/can-read-channel.js +0 -52
- package/dist/esm/discussions/api/utils/channels/can-read-channel.js.map +0 -1
- package/dist/esm/discussions/api/utils/channels/is-authorized-to-modify-channel-by-legacy-permissions.js +0 -44
- package/dist/esm/discussions/api/utils/channels/is-authorized-to-modify-channel-by-legacy-permissions.js.map +0 -1
- package/dist/esm/discussions/api/utils/posts/can-create-post.js +0 -52
- package/dist/esm/discussions/api/utils/posts/can-create-post.js.map +0 -1
- package/dist/esm/discussions/api/utils/posts/can-create-reply.js +0 -52
- package/dist/esm/discussions/api/utils/posts/can-create-reply.js.map +0 -1
- package/dist/esm/discussions/api/utils/posts/can-delete-post.js +0 -28
- package/dist/esm/discussions/api/utils/posts/can-delete-post.js.map +0 -1
- package/dist/esm/discussions/api/utils/posts/can-edit-post-status.js +0 -61
- package/dist/esm/discussions/api/utils/posts/can-edit-post-status.js.map +0 -1
- package/dist/esm/discussions/api/utils/posts/can-edit-post.js +0 -62
- package/dist/esm/discussions/api/utils/posts/can-edit-post.js.map +0 -1
- package/dist/esm/discussions/api/utils/reactions/can-create-reaction.js +0 -28
- package/dist/esm/discussions/api/utils/reactions/can-create-reaction.js.map +0 -1
- package/dist/node/discussions/api/utils/channels/can-create-channel.js +0 -57
- package/dist/node/discussions/api/utils/channels/can-create-channel.js.map +0 -1
- package/dist/node/discussions/api/utils/channels/can-delete-channel.js +0 -20
- package/dist/node/discussions/api/utils/channels/can-delete-channel.js.map +0 -1
- package/dist/node/discussions/api/utils/channels/can-edit-channel.js +0 -20
- package/dist/node/discussions/api/utils/channels/can-edit-channel.js.map +0 -1
- package/dist/node/discussions/api/utils/channels/can-modify-channel.js +0 -21
- package/dist/node/discussions/api/utils/channels/can-modify-channel.js.map +0 -1
- package/dist/node/discussions/api/utils/channels/can-post-to-channel.js +0 -60
- package/dist/node/discussions/api/utils/channels/can-post-to-channel.js.map +0 -1
- package/dist/node/discussions/api/utils/channels/can-read-channel.js +0 -56
- package/dist/node/discussions/api/utils/channels/can-read-channel.js.map +0 -1
- package/dist/node/discussions/api/utils/channels/is-authorized-to-modify-channel-by-legacy-permissions.js +0 -47
- package/dist/node/discussions/api/utils/channels/is-authorized-to-modify-channel-by-legacy-permissions.js.map +0 -1
- package/dist/node/discussions/api/utils/posts/can-create-post.js +0 -55
- package/dist/node/discussions/api/utils/posts/can-create-post.js.map +0 -1
- package/dist/node/discussions/api/utils/posts/can-create-reply.js +0 -55
- package/dist/node/discussions/api/utils/posts/can-create-reply.js.map +0 -1
- package/dist/node/discussions/api/utils/posts/can-delete-post.js +0 -31
- package/dist/node/discussions/api/utils/posts/can-delete-post.js.map +0 -1
- package/dist/node/discussions/api/utils/posts/can-edit-post-status.js +0 -65
- package/dist/node/discussions/api/utils/posts/can-edit-post-status.js.map +0 -1
- package/dist/node/discussions/api/utils/posts/can-edit-post.js +0 -66
- package/dist/node/discussions/api/utils/posts/can-edit-post.js.map +0 -1
- package/dist/node/discussions/api/utils/reactions/can-create-reaction.js +0 -31
- package/dist/node/discussions/api/utils/reactions/can-create-reaction.js.map +0 -1
- package/dist/types/discussions/api/utils/channels/can-create-channel.d.ts +0 -11
- package/dist/types/discussions/api/utils/channels/can-delete-channel.d.ts +0 -11
- package/dist/types/discussions/api/utils/channels/can-edit-channel.d.ts +0 -11
- package/dist/types/discussions/api/utils/channels/can-modify-channel.d.ts +0 -11
- package/dist/types/discussions/api/utils/channels/can-post-to-channel.d.ts +0 -11
- package/dist/types/discussions/api/utils/channels/can-read-channel.d.ts +0 -22
- package/dist/types/discussions/api/utils/channels/is-authorized-to-modify-channel-by-legacy-permissions.d.ts +0 -11
- package/dist/types/discussions/api/utils/posts/can-create-post.d.ts +0 -12
- package/dist/types/discussions/api/utils/posts/can-create-reply.d.ts +0 -12
- package/dist/types/discussions/api/utils/posts/can-delete-post.d.ts +0 -12
- package/dist/types/discussions/api/utils/posts/can-edit-post-status.d.ts +0 -20
- package/dist/types/discussions/api/utils/posts/can-edit-post.d.ts +0 -22
- package/dist/types/discussions/api/utils/reactions/can-create-reaction.d.ts +0 -14
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"can-delete-channel.js","sourceRoot":"","sources":["../../../../../../src/discussions/api/utils/channels/can-delete-channel.ts"],"names":[],"mappings":";;AAaA,4CASC;AApBD,mIAAyH;AACzH,0DAA8D;AAE9D;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,OAAiB,EACjB,OAAiC,EAAE;IAEnC,IAAI,IAAA,0CAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAA,sGAA8C,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canEditChannel = canEditChannel;
|
|
4
|
-
const is_authorized_to_modify_channel_by_legacy_permissions_1 = require("./is-authorized-to-modify-channel-by-legacy-permissions");
|
|
5
|
-
const portal_privilege_1 = require("../portal-privilege");
|
|
6
|
-
/**
|
|
7
|
-
* Utility to determine if User has privileges to edit a channel
|
|
8
|
-
* @export
|
|
9
|
-
* @deprecated replace with canEditChannelV2 for v2 discussions
|
|
10
|
-
* @param channel
|
|
11
|
-
* @param user
|
|
12
|
-
* @returns {boolean}
|
|
13
|
-
*/
|
|
14
|
-
function canEditChannel(channel, user = {}) {
|
|
15
|
-
if ((0, portal_privilege_1.hasOrgAdminUpdateRights)(user, channel.orgId)) {
|
|
16
|
-
return true;
|
|
17
|
-
}
|
|
18
|
-
return (0, is_authorized_to_modify_channel_by_legacy_permissions_1.isAuthorizedToModifyChannelByLegacyPermissions)(user, channel);
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=can-edit-channel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"can-edit-channel.js","sourceRoot":"","sources":["../../../../../../src/discussions/api/utils/channels/can-edit-channel.ts"],"names":[],"mappings":";;AAaA,wCASC;AApBD,mIAAyH;AACzH,0DAA8D;AAE9D;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC5B,OAAiB,EACjB,OAAiC,EAAE;IAEnC,IAAI,IAAA,0CAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAA,sGAA8C,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canModifyChannel = canModifyChannel;
|
|
4
|
-
const platform_1 = require("../platform");
|
|
5
|
-
const is_authorized_to_modify_channel_by_legacy_permissions_1 = require("./is-authorized-to-modify-channel-by-legacy-permissions");
|
|
6
|
-
// NO V2 EQUIVALENT. Use canEditChannelV2 or canDeleteChannelV2
|
|
7
|
-
/**
|
|
8
|
-
* Utility to determine if User has privileges to modify a channel
|
|
9
|
-
* @deprecated use `canEditChannelV2` or `canDeleteChannelV2` instead.
|
|
10
|
-
* @export
|
|
11
|
-
* @param channel
|
|
12
|
-
* @param user
|
|
13
|
-
* @returns {boolean}
|
|
14
|
-
*/
|
|
15
|
-
function canModifyChannel(channel, user = {}) {
|
|
16
|
-
if ((0, platform_1.isOrgAdminInOrg)(user, channel.orgId)) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
return (0, is_authorized_to_modify_channel_by_legacy_permissions_1.isAuthorizedToModifyChannelByLegacyPermissions)(user, channel);
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=can-modify-channel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"can-modify-channel.js","sourceRoot":"","sources":["../../../../../../src/discussions/api/utils/channels/can-modify-channel.ts"],"names":[],"mappings":";;AAcA,4CASC;AArBD,0CAA8C;AAC9C,mIAAyH;AAEzH,+DAA+D;AAC/D;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,OAAiB,EACjB,OAAiC,EAAE;IAEnC,IAAI,IAAA,0BAAe,EAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAA,sGAA8C,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canPostToChannel = canPostToChannel;
|
|
4
|
-
const sharingAccess_1 = require("../../enums/sharingAccess");
|
|
5
|
-
const portal_privilege_1 = require("../portal-privilege");
|
|
6
|
-
const constants_1 = require("../../../constants");
|
|
7
|
-
const ALLOWED_GROUP_ROLES = Object.freeze(["owner", "admin", "member"]);
|
|
8
|
-
// NO V2 EQUIVALENT. Use canCreatePostV2 or canCreateReplyV2
|
|
9
|
-
/**
|
|
10
|
-
* Utility to determine if User has privileges to create a post in a channel
|
|
11
|
-
* @deprecated use `canCreatePostV2` or 'canCreateReplyV2` instead
|
|
12
|
-
* @export
|
|
13
|
-
* @param channel
|
|
14
|
-
* @param user
|
|
15
|
-
* @returns {boolean}
|
|
16
|
-
*/
|
|
17
|
-
function canPostToChannel(channel, user = {}) {
|
|
18
|
-
const { access, groups, orgs, allowAnonymous } = channel;
|
|
19
|
-
if ((0, portal_privilege_1.hasOrgAdminUpdateRights)(user, channel.orgId)) {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
return isAuthorizedToPostByLegacyPermissions(user, {
|
|
23
|
-
access,
|
|
24
|
-
groups,
|
|
25
|
-
orgs,
|
|
26
|
-
allowAnonymous,
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
function isAuthorizedToPostByLegacyPermissions(user, channelParams) {
|
|
30
|
-
const { username, groups: userGroups, orgId: userOrgId } = user;
|
|
31
|
-
const { allowAnonymous, access, groups, orgs } = channelParams;
|
|
32
|
-
// order is important here
|
|
33
|
-
if (allowAnonymous === true) {
|
|
34
|
-
return true;
|
|
35
|
-
}
|
|
36
|
-
if (!username) {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
if (access === sharingAccess_1.SharingAccess.PUBLIC) {
|
|
40
|
-
return true;
|
|
41
|
-
}
|
|
42
|
-
if (access === sharingAccess_1.SharingAccess.PRIVATE) {
|
|
43
|
-
return isAuthorizedToPostByLegacyGroup(groups, userGroups);
|
|
44
|
-
}
|
|
45
|
-
if (access === sharingAccess_1.SharingAccess.ORG) {
|
|
46
|
-
return orgs.includes(userOrgId);
|
|
47
|
-
}
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
function isAuthorizedToPostByLegacyGroup(channelGroups = [], userGroups = []) {
|
|
51
|
-
return channelGroups.some((channelGroupId) => {
|
|
52
|
-
return userGroups.some((group) => {
|
|
53
|
-
const { id: userGroupId, userMembership: { memberType: userMemberType }, typeKeywords, } = group;
|
|
54
|
-
return (channelGroupId === userGroupId &&
|
|
55
|
-
ALLOWED_GROUP_ROLES.includes(userMemberType) &&
|
|
56
|
-
!typeKeywords.includes(constants_1.CANNOT_DISCUSS));
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=can-post-to-channel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"can-post-to-channel.js","sourceRoot":"","sources":["../../../../../../src/discussions/api/utils/channels/can-post-to-channel.ts"],"names":[],"mappings":";;AAsBA,4CAgBC;AApCD,6DAA0D;AAC1D,0DAA8D;AAC9D,kDAAoD;AAEpD,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAOxE,4DAA4D;AAC5D;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,OAAiB,EACjB,OAAiC,EAAE;IAEnC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAEzD,IAAI,IAAA,0CAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,qCAAqC,CAAC,IAAI,EAAE;QACjD,MAAM;QACN,MAAM;QACN,IAAI;QACJ,cAAc;KACf,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qCAAqC,CAC5C,IAA8B,EAC9B,aAAwC;IAExC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAChE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;IAE/D,0BAA0B;IAC1B,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,KAAK,6BAAa,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,KAAK,6BAAa,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,+BAA+B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM,KAAK,6BAAa,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,+BAA+B,CACtC,gBAA0B,EAAE,EAC5B,aAAuB,EAAE;IAEzB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,cAAsB,EAAE,EAAE;QACnD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE;YACvC,MAAM,EACJ,EAAE,EAAE,WAAW,EACf,cAAc,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EAC9C,YAAY,GACb,GAAG,KAAK,CAAC;YAEV,OAAO,CACL,cAAc,KAAK,WAAW;gBAC9B,mBAAmB,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC5C,CAAC,YAAY,CAAC,QAAQ,CAAC,0BAAc,CAAC,CACvC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canReadChannel = canReadChannel;
|
|
4
|
-
exports.canReadFromChannel = canReadFromChannel;
|
|
5
|
-
const platform_1 = require("../platform");
|
|
6
|
-
const portal_privilege_1 = require("../portal-privilege");
|
|
7
|
-
/**
|
|
8
|
-
* Utility to determine if User can view channel posts and channel attributes
|
|
9
|
-
*
|
|
10
|
-
* @deprecated replace with canReadChannelV2 for v2 discussions
|
|
11
|
-
* @export
|
|
12
|
-
* @param {IChannel} channel
|
|
13
|
-
* @param {IUser} user
|
|
14
|
-
* @return {*} {boolean}
|
|
15
|
-
*/
|
|
16
|
-
function canReadChannel(channel, user = {}) {
|
|
17
|
-
if ((0, portal_privilege_1.hasOrgAdminViewRights)(user, channel.orgId)) {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
if (channel.access === "private") {
|
|
21
|
-
// ensure user is member of at least one group
|
|
22
|
-
return intersectGroups(["member", "owner", "admin"])(user, channel);
|
|
23
|
-
}
|
|
24
|
-
if (channel.access === "org") {
|
|
25
|
-
return (intersectGroups(["member", "owner", "admin"])(user, channel) ||
|
|
26
|
-
isLegacyChannelOrgMember(channel, user));
|
|
27
|
-
}
|
|
28
|
-
// public channel
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Utility (deprecated) to determine whether User can view posts belonging to Channel
|
|
33
|
-
*
|
|
34
|
-
* @export
|
|
35
|
-
* @deprecated replace with canReadChannelV2 for v2 discussions
|
|
36
|
-
* @param {IChannel} channel
|
|
37
|
-
* @param {IUser} user
|
|
38
|
-
* @return {*} {boolean}
|
|
39
|
-
*/
|
|
40
|
-
function canReadFromChannel(channel, user = {}) {
|
|
41
|
-
return canReadChannel(channel, user);
|
|
42
|
-
}
|
|
43
|
-
function intersectGroups(membershipTypes) {
|
|
44
|
-
return (user, channel) => {
|
|
45
|
-
const { groups: sharedGroups = [] } = channel;
|
|
46
|
-
const { groups: userGroups = [] } = user;
|
|
47
|
-
const eligibleUserGroups = userGroups.reduce((0, platform_1.reduceByGroupMembership)(membershipTypes), []);
|
|
48
|
-
const method = "some";
|
|
49
|
-
return sharedGroups[method]((group) => eligibleUserGroups.indexOf(group) > -1);
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
function isLegacyChannelOrgMember(channel, user) {
|
|
53
|
-
// orgs.length = 1 until collaboration/discussion between many orgs is ideated
|
|
54
|
-
return channel.orgs.length === 1 && channel.orgs.indexOf(user.orgId) > -1;
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=can-read-channel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"can-read-channel.js","sourceRoot":"","sources":["../../../../../../src/discussions/api/utils/channels/can-read-channel.ts"],"names":[],"mappings":";;AAeA,wCAsBC;AAWD,gDAKC;AAlDD,0CAAsD;AACtD,0DAA4D;AAE5D;;;;;;;;GAQG;AACH,SAAgB,cAAc,CAC5B,OAAiB,EACjB,OAAiC,EAAE;IAEnC,IAAI,IAAA,wCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,8CAA8C;QAC9C,OAAO,eAAe,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,OAAO,CACL,eAAe,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC;YAC5D,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CACxC,CAAC;IACJ,CAAC;IAED,iBAAiB;IACjB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAChC,OAAiB,EACjB,OAAiC,EAAE;IAEnC,OAAO,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,eAAe,CACtB,eAAkC;IAElC,OAAO,CAAC,IAA8B,EAAE,OAAiB,EAAW,EAAE;QACpE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QAC9C,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;QACzC,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAC1C,IAAA,kCAAuB,EAAC,eAAe,CAAC,EACxC,EAAE,CACH,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC;QACtB,OAAO,YAAY,CAAC,MAAM,CAAC,CACzB,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAClD,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAiB,EACjB,IAA8B;IAE9B,8EAA8E;IAC9E,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isAuthorizedToModifyChannelByLegacyPermissions = isAuthorizedToModifyChannelByLegacyPermissions;
|
|
4
|
-
const platform_1 = require("../platform");
|
|
5
|
-
const sharingAccess_1 = require("../../enums/sharingAccess");
|
|
6
|
-
const AGO_ADMIN_GROUP_ROLES = Object.freeze(["owner", "admin"]);
|
|
7
|
-
/**
|
|
8
|
-
* Utility to determine if User has privileges to modify a channel by legacy channel permissions
|
|
9
|
-
* @param channel
|
|
10
|
-
* @param user
|
|
11
|
-
* @returns {boolean}
|
|
12
|
-
* @internal
|
|
13
|
-
* @hidden
|
|
14
|
-
*/
|
|
15
|
-
function isAuthorizedToModifyChannelByLegacyPermissions(user = {}, channel) {
|
|
16
|
-
const { username, groups: userGroups = [] } = user;
|
|
17
|
-
const { access, groups: channelGroups = [], orgs: channelOrgs = [], creator: channelCreator, } = channel;
|
|
18
|
-
// ensure authenticated
|
|
19
|
-
if (!username) {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
if (username === channelCreator) {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
if (access === sharingAccess_1.SharingAccess.PRIVATE) {
|
|
26
|
-
return isAuthorizedToModifyChannelByLegacyGroup(channelGroups, userGroups);
|
|
27
|
-
}
|
|
28
|
-
// public or org access
|
|
29
|
-
return (isAuthorizedToModifyChannelByLegacyGroup(channelGroups, userGroups) ||
|
|
30
|
-
isLegacyChannelOrgAdmin(channelOrgs, user));
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Ensure the user is an owner/admin of one of the channel groups
|
|
34
|
-
*/
|
|
35
|
-
function isAuthorizedToModifyChannelByLegacyGroup(channelGroups, userGroups) {
|
|
36
|
-
return channelGroups.some((channelGroupId) => {
|
|
37
|
-
return userGroups.some((group) => {
|
|
38
|
-
const { id: userGroupId, userMembership: { memberType: userMemberType }, } = group;
|
|
39
|
-
return (channelGroupId === userGroupId &&
|
|
40
|
-
AGO_ADMIN_GROUP_ROLES.includes(userMemberType));
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
function isLegacyChannelOrgAdmin(channelOrgs, user) {
|
|
45
|
-
return (0, platform_1.isOrgAdmin)(user) && channelOrgs.includes(user.orgId);
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=is-authorized-to-modify-channel-by-legacy-permissions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"is-authorized-to-modify-channel-by-legacy-permissions.js","sourceRoot":"","sources":["../../../../../../src/discussions/api/utils/channels/is-authorized-to-modify-channel-by-legacy-permissions.ts"],"names":[],"mappings":";;AAeA,wGA8BC;AA5CD,0CAAyC;AAEzC,6DAA0D;AAE1D,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAEhE;;;;;;;GAOG;AACH,SAAgB,8CAA8C,CAC5D,OAAiC,EAAE,EACnC,OAAiB;IAEjB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;IACnD,MAAM,EACJ,MAAM,EACN,MAAM,EAAE,aAAa,GAAG,EAAE,EAC1B,IAAI,EAAE,WAAW,GAAG,EAAE,EACtB,OAAO,EAAE,cAAc,GACxB,GAAG,OAAO,CAAC;IAEZ,uBAAuB;IACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,KAAK,6BAAa,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,wCAAwC,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC7E,CAAC;IAED,uBAAuB;IACvB,OAAO,CACL,wCAAwC,CAAC,aAAa,EAAE,UAAU,CAAC;QACnE,uBAAuB,CAAC,WAAW,EAAE,IAAI,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,wCAAwC,CAC/C,aAAuB,EACvB,UAAoB;IAEpB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,cAAsB,EAAE,EAAE;QACnD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE;YACvC,MAAM,EACJ,EAAE,EAAE,WAAW,EACf,cAAc,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,GAC/C,GAAG,KAAK,CAAC;YAEV,OAAO,CACL,cAAc,KAAK,WAAW;gBAC9B,qBAAqB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC/C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAC9B,WAAqB,EACrB,IAA8B;IAE9B,OAAO,IAAA,qBAAU,EAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canCreatePost = canCreatePost;
|
|
4
|
-
const sharingAccess_1 = require("../../enums/sharingAccess");
|
|
5
|
-
const portal_privilege_1 = require("../portal-privilege");
|
|
6
|
-
const constants_1 = require("../../../constants");
|
|
7
|
-
const ALLOWED_GROUP_ROLES = Object.freeze(["owner", "admin", "member"]);
|
|
8
|
-
/**
|
|
9
|
-
* Utility to determine if User has privileges to create a post in a channel
|
|
10
|
-
*
|
|
11
|
-
* @deprecated replace with canCreatePostV2 for v2 discussions
|
|
12
|
-
* @export
|
|
13
|
-
* @param channel
|
|
14
|
-
* @param user
|
|
15
|
-
* @returns {boolean}
|
|
16
|
-
*/
|
|
17
|
-
function canCreatePost(channel, user = {}) {
|
|
18
|
-
const { access, groups, orgs } = channel;
|
|
19
|
-
if ((0, portal_privilege_1.hasOrgAdminUpdateRights)(user, channel.orgId)) {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
return isAuthorizedToPostByLegacyPermissions(user, {
|
|
23
|
-
access,
|
|
24
|
-
groups,
|
|
25
|
-
orgs,
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
function isAuthorizedToPostByLegacyPermissions(user, channelParams) {
|
|
29
|
-
const { username, groups: userGroups, orgId: userOrgId } = user;
|
|
30
|
-
const { access, groups, orgs } = channelParams;
|
|
31
|
-
if (!username) {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
if (access === sharingAccess_1.SharingAccess.PUBLIC) {
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
if (access === sharingAccess_1.SharingAccess.PRIVATE) {
|
|
38
|
-
return isAuthorizedToPostByLegacyGroup(groups, userGroups);
|
|
39
|
-
}
|
|
40
|
-
if (access === sharingAccess_1.SharingAccess.ORG) {
|
|
41
|
-
return orgs.includes(userOrgId);
|
|
42
|
-
}
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
function isAuthorizedToPostByLegacyGroup(channelGroups = [], userGroups = []) {
|
|
46
|
-
return channelGroups.some((channelGroupId) => {
|
|
47
|
-
return userGroups.some((group) => {
|
|
48
|
-
const { id: userGroupId, userMembership: { memberType: userMemberType }, typeKeywords, } = group;
|
|
49
|
-
return (channelGroupId === userGroupId &&
|
|
50
|
-
ALLOWED_GROUP_ROLES.includes(userMemberType) &&
|
|
51
|
-
!typeKeywords.includes(constants_1.CANNOT_DISCUSS));
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=can-create-post.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"can-create-post.js","sourceRoot":"","sources":["../../../../../../src/discussions/api/utils/posts/can-create-post.ts"],"names":[],"mappings":";;AAmBA,sCAeC;AAhCD,6DAA0D;AAC1D,0DAA8D;AAC9D,kDAAoD;AAEpD,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAIxE;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAC3B,OAAiB,EACjB,OAAiC,EAAE;IAEnC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEzC,IAAI,IAAA,0CAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,qCAAqC,CAAC,IAAI,EAAE;QACjD,MAAM;QACN,MAAM;QACN,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qCAAqC,CAC5C,IAA8B,EAC9B,aAAwC;IAExC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAChE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;IAE/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,KAAK,6BAAa,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,KAAK,6BAAa,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,+BAA+B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM,KAAK,6BAAa,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,+BAA+B,CACtC,gBAA0B,EAAE,EAC5B,aAAuB,EAAE;IAEzB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,cAAsB,EAAE,EAAE;QACnD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE;YACvC,MAAM,EACJ,EAAE,EAAE,WAAW,EACf,cAAc,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EAC9C,YAAY,GACb,GAAG,KAAK,CAAC;YAEV,OAAO,CACL,cAAc,KAAK,WAAW;gBAC9B,mBAAmB,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC5C,CAAC,YAAY,CAAC,QAAQ,CAAC,0BAAc,CAAC,CACvC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canCreateReply = canCreateReply;
|
|
4
|
-
const sharingAccess_1 = require("../../enums/sharingAccess");
|
|
5
|
-
const portal_privilege_1 = require("../portal-privilege");
|
|
6
|
-
const constants_1 = require("../../../constants");
|
|
7
|
-
const ALLOWED_GROUP_ROLES = Object.freeze(["owner", "admin", "member"]);
|
|
8
|
-
/**
|
|
9
|
-
* Utility to determine if User has privileges to create a reply in a channel
|
|
10
|
-
*
|
|
11
|
-
* @export
|
|
12
|
-
* @deprecated replace with canCreateReplyV2 for v2 discussions
|
|
13
|
-
* @param channel
|
|
14
|
-
* @param user
|
|
15
|
-
* @returns {boolean}
|
|
16
|
-
*/
|
|
17
|
-
function canCreateReply(channel, user = {}) {
|
|
18
|
-
const { access, groups, orgs } = channel;
|
|
19
|
-
if ((0, portal_privilege_1.hasOrgAdminUpdateRights)(user, channel.orgId)) {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
return isAuthorizedToPostByLegacyPermissions(user, {
|
|
23
|
-
access,
|
|
24
|
-
groups,
|
|
25
|
-
orgs,
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
function isAuthorizedToPostByLegacyPermissions(user, channelParams) {
|
|
29
|
-
const { username, groups: userGroups, orgId: userOrgId } = user;
|
|
30
|
-
const { access, groups, orgs } = channelParams;
|
|
31
|
-
if (!username) {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
if (access === sharingAccess_1.SharingAccess.PUBLIC) {
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
if (access === sharingAccess_1.SharingAccess.PRIVATE) {
|
|
38
|
-
return isAuthorizedToPostByLegacyGroup(groups, userGroups);
|
|
39
|
-
}
|
|
40
|
-
if (access === sharingAccess_1.SharingAccess.ORG) {
|
|
41
|
-
return orgs.includes(userOrgId);
|
|
42
|
-
}
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
function isAuthorizedToPostByLegacyGroup(channelGroups = [], userGroups = []) {
|
|
46
|
-
return channelGroups.some((channelGroupId) => {
|
|
47
|
-
return userGroups.some((group) => {
|
|
48
|
-
const { id: userGroupId, userMembership: { memberType: userMemberType }, typeKeywords, } = group;
|
|
49
|
-
return (channelGroupId === userGroupId &&
|
|
50
|
-
ALLOWED_GROUP_ROLES.includes(userMemberType) &&
|
|
51
|
-
!typeKeywords.includes(constants_1.CANNOT_DISCUSS));
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=can-create-reply.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"can-create-reply.js","sourceRoot":"","sources":["../../../../../../src/discussions/api/utils/posts/can-create-reply.ts"],"names":[],"mappings":";;AAmBA,wCAeC;AAhCD,6DAA0D;AAC1D,0DAA8D;AAC9D,kDAAoD;AAEpD,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAIxE;;;;;;;;GAQG;AACH,SAAgB,cAAc,CAC5B,OAAiB,EACjB,OAAiC,EAAE;IAEnC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEzC,IAAI,IAAA,0CAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,qCAAqC,CAAC,IAAI,EAAE;QACjD,MAAM;QACN,MAAM;QACN,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qCAAqC,CAC5C,IAA8B,EAC9B,aAAwC;IAExC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAChE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;IAE/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,KAAK,6BAAa,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,KAAK,6BAAa,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,+BAA+B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM,KAAK,6BAAa,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,+BAA+B,CACtC,gBAA0B,EAAE,EAC5B,aAAuB,EAAE;IAEzB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,cAAsB,EAAE,EAAE;QACnD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE;YACvC,MAAM,EACJ,EAAE,EAAE,WAAW,EACf,cAAc,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EAC9C,YAAY,GACb,GAAG,KAAK,CAAC;YAEV,OAAO,CACL,cAAc,KAAK,WAAW;gBAC9B,mBAAmB,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC5C,CAAC,YAAY,CAAC,QAAQ,CAAC,0BAAc,CAAC,CACvC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canDeletePost = canDeletePost;
|
|
4
|
-
const channel_permission_1 = require("../channel-permission");
|
|
5
|
-
const portal_privilege_1 = require("../portal-privilege");
|
|
6
|
-
/**
|
|
7
|
-
* Utility to determine if User has privileges to delete a post
|
|
8
|
-
* @deprecated replace with canDeletePostV2 for v2 discussions
|
|
9
|
-
* @export
|
|
10
|
-
* @param post
|
|
11
|
-
* @param user
|
|
12
|
-
* @param channel
|
|
13
|
-
* @returns {boolean}
|
|
14
|
-
*/
|
|
15
|
-
function canDeletePost(post, channel, user = {}) {
|
|
16
|
-
return isPostCreator(post, user) || isChannelModerator(channel, user);
|
|
17
|
-
}
|
|
18
|
-
function isPostCreator(post, user) {
|
|
19
|
-
return !!user.username && post.creator === user.username;
|
|
20
|
-
}
|
|
21
|
-
function isChannelModerator(channel, user) {
|
|
22
|
-
if ((0, portal_privilege_1.hasOrgAdminUpdateRights)(user, channel.orgId)) {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
if (!channel.channelAcl) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
const channelPermission = new channel_permission_1.ChannelPermission(channel);
|
|
29
|
-
return channelPermission.canModerateChannel(user);
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=can-delete-post.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"can-delete-post.js","sourceRoot":"","sources":["../../../../../../src/discussions/api/utils/posts/can-delete-post.ts"],"names":[],"mappings":";;AAcA,sCAMC;AAlBD,8DAA0D;AAC1D,0DAA8D;AAE9D;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAC3B,IAAW,EACX,OAAiB,EACjB,OAAiC,EAAE;IAEnC,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,aAAa,CAAC,IAAW,EAAE,IAA8B;IAChE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,QAAQ,CAAC;AAC3D,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAiB,EACjB,IAA8B;IAE9B,IAAI,IAAA,0CAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,sCAAiB,CAAC,OAAO,CAAC,CAAC;IACzD,OAAO,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canModifyPostStatus = canModifyPostStatus;
|
|
4
|
-
exports.canEditPostStatus = canEditPostStatus;
|
|
5
|
-
const sharingAccess_1 = require("../../enums/sharingAccess");
|
|
6
|
-
const platform_1 = require("../platform");
|
|
7
|
-
const portal_privilege_1 = require("../portal-privilege");
|
|
8
|
-
const ADMIN_GROUP_ROLES = Object.freeze(["owner", "admin"]);
|
|
9
|
-
/**
|
|
10
|
-
* Utility to determine if User has privileges to modify the status of a post
|
|
11
|
-
* @export
|
|
12
|
-
* @deprecated replace with canEditPostStatusV2 for v2 discussions
|
|
13
|
-
* @param channel
|
|
14
|
-
* @param user
|
|
15
|
-
* @returns {boolean}
|
|
16
|
-
*/
|
|
17
|
-
function canModifyPostStatus(channel, user = {}) {
|
|
18
|
-
return canEditPostStatus(channel, user);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Utility to determine if User has privileges to modify the status of a post
|
|
22
|
-
* @export
|
|
23
|
-
* @deprecated replace with canEditPostStatusV2 for v2 discussions
|
|
24
|
-
* @param channel
|
|
25
|
-
* @param user
|
|
26
|
-
* @returns {boolean}
|
|
27
|
-
*/
|
|
28
|
-
function canEditPostStatus(channel, user = {}) {
|
|
29
|
-
if ((0, portal_privilege_1.hasOrgAdminUpdateRights)(user, channel.orgId)) {
|
|
30
|
-
return true;
|
|
31
|
-
}
|
|
32
|
-
return isAuthorizedToModifyStatusByLegacyPermissions(user, channel);
|
|
33
|
-
}
|
|
34
|
-
function isAuthorizedToModifyStatusByLegacyPermissions(user, channel) {
|
|
35
|
-
const { username, groups: userGroups = [] } = user;
|
|
36
|
-
const { access, groups: channelGroups = [], orgs: channelOrgs = [], creator: channelCreator, } = channel;
|
|
37
|
-
if (!username) {
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
if (channelCreator === username) {
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
if (access === sharingAccess_1.SharingAccess.PRIVATE) {
|
|
44
|
-
return isAuthorizedToModifyStatusByLegacyGroup(channelGroups, userGroups);
|
|
45
|
-
}
|
|
46
|
-
// public or org access
|
|
47
|
-
return (isAuthorizedToModifyStatusByLegacyGroup(channelGroups, userGroups) ||
|
|
48
|
-
isLegacyChannelOrgAdmin(channelOrgs, user));
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Ensure the user is an owner/admin of one of the channel groups
|
|
52
|
-
*/
|
|
53
|
-
function isAuthorizedToModifyStatusByLegacyGroup(channelGroups, userGroups) {
|
|
54
|
-
return channelGroups.some((channelGroupId) => {
|
|
55
|
-
return userGroups.some((group) => {
|
|
56
|
-
const { id: userGroupId, userMembership: { memberType: userMemberType }, } = group;
|
|
57
|
-
return (channelGroupId === userGroupId &&
|
|
58
|
-
ADMIN_GROUP_ROLES.includes(userMemberType));
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
function isLegacyChannelOrgAdmin(channelOrgs, user) {
|
|
63
|
-
return (0, platform_1.isOrgAdmin)(user) && channelOrgs.includes(user.orgId);
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=can-edit-post-status.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"can-edit-post-status.js","sourceRoot":"","sources":["../../../../../../src/discussions/api/utils/posts/can-edit-post-status.ts"],"names":[],"mappings":";;AAgBA,kDAKC;AAUD,8CASC;AAtCD,6DAA0D;AAC1D,0CAAyC;AACzC,0DAA8D;AAE9D,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5D;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,OAAiB,EACjB,OAAiC,EAAE;IAEnC,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC/B,OAAiB,EACjB,OAAiC,EAAE;IAEnC,IAAI,IAAA,0CAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,6CAA6C,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,6CAA6C,CACpD,IAA8B,EAC9B,OAAiB;IAEjB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;IACnD,MAAM,EACJ,MAAM,EACN,MAAM,EAAE,aAAa,GAAG,EAAE,EAC1B,IAAI,EAAE,WAAW,GAAG,EAAE,EACtB,OAAO,EAAE,cAAc,GACxB,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,KAAK,6BAAa,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,uCAAuC,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED,uBAAuB;IACvB,OAAO,CACL,uCAAuC,CAAC,aAAa,EAAE,UAAU,CAAC;QAClE,uBAAuB,CAAC,WAAW,EAAE,IAAI,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,uCAAuC,CAC9C,aAAuB,EACvB,UAAoB;IAEpB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,cAAsB,EAAE,EAAE;QACnD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE;YACvC,MAAM,EACJ,EAAE,EAAE,WAAW,EACf,cAAc,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,GAC/C,GAAG,KAAK,CAAC;YAEV,OAAO,CACL,cAAc,KAAK,WAAW;gBAC9B,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC3C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAC9B,WAAqB,EACrB,IAA8B;IAE9B,OAAO,IAAA,qBAAU,EAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canModifyPost = canModifyPost;
|
|
4
|
-
exports.canEditPost = canEditPost;
|
|
5
|
-
const sharingAccess_1 = require("../../enums/sharingAccess");
|
|
6
|
-
const constants_1 = require("../../../constants");
|
|
7
|
-
/**
|
|
8
|
-
* Utility to determine if User has privileges to modify a post
|
|
9
|
-
* @export
|
|
10
|
-
* @deprecated replace with canEditPostV2 for v2 discussions
|
|
11
|
-
* @param post
|
|
12
|
-
* @param user
|
|
13
|
-
* @param channel
|
|
14
|
-
* @returns {boolean}
|
|
15
|
-
*/
|
|
16
|
-
function canModifyPost(post, user = {}, channel) {
|
|
17
|
-
return canEditPost(post, user, channel);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Utility to determine if User has privileges to modify a post
|
|
21
|
-
* @export
|
|
22
|
-
* @deprecated replace with canEditPostV2 for v2 discussions
|
|
23
|
-
* @param post
|
|
24
|
-
* @param user
|
|
25
|
-
* @param channel
|
|
26
|
-
* @returns {boolean}
|
|
27
|
-
*/
|
|
28
|
-
function canEditPost(post, user = {}, channel) {
|
|
29
|
-
const { access, groups, orgs, allowAnonymous } = channel;
|
|
30
|
-
return (isPostCreator(post, user) &&
|
|
31
|
-
isAuthorizedToModifyByLegacyPermissions(user, {
|
|
32
|
-
access,
|
|
33
|
-
groups,
|
|
34
|
-
orgs,
|
|
35
|
-
allowAnonymous,
|
|
36
|
-
}));
|
|
37
|
-
}
|
|
38
|
-
function isPostCreator(post, user) {
|
|
39
|
-
return !!user.username && post.creator === user.username;
|
|
40
|
-
}
|
|
41
|
-
function isAuthorizedToModifyByLegacyPermissions(user, channelParams) {
|
|
42
|
-
const { groups: userGroups = [], orgId: userOrgId } = user;
|
|
43
|
-
const { access, groups: channelGroups = [], orgs = [] } = channelParams;
|
|
44
|
-
if (access === sharingAccess_1.SharingAccess.PUBLIC) {
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
if (access === sharingAccess_1.SharingAccess.ORG) {
|
|
48
|
-
return (isAuthorizedToModifyPostByLegacyGroup(channelGroups, userGroups) ||
|
|
49
|
-
orgs.includes(userOrgId));
|
|
50
|
-
}
|
|
51
|
-
// private
|
|
52
|
-
return isAuthorizedToModifyPostByLegacyGroup(channelGroups, userGroups);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Ensure the user is a member of one of the channel groups
|
|
56
|
-
* and the group is not marked as non-discussable
|
|
57
|
-
*/
|
|
58
|
-
function isAuthorizedToModifyPostByLegacyGroup(channelGroups, userGroups) {
|
|
59
|
-
return channelGroups.some((channelGroupId) => {
|
|
60
|
-
return userGroups.some((group) => {
|
|
61
|
-
const { id: userGroupId, typeKeywords = [] } = group;
|
|
62
|
-
return (channelGroupId === userGroupId && !typeKeywords.includes(constants_1.CANNOT_DISCUSS));
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=can-edit-post.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"can-edit-post.js","sourceRoot":"","sources":["../../../../../../src/discussions/api/utils/posts/can-edit-post.ts"],"names":[],"mappings":";;AAmBA,sCAMC;AAWD,kCAgBC;AAlDD,6DAA0D;AAC1D,kDAAoD;AAOpD;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAC3B,IAAW,EACX,OAAiC,EAAE,EACnC,OAAiB;IAEjB,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,WAAW,CACzB,IAAW,EACX,OAAiC,EAAE,EACnC,OAAiB;IAEjB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAEzD,OAAO,CACL,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;QACzB,uCAAuC,CAAC,IAAI,EAAE;YAC5C,MAAM;YACN,MAAM;YACN,IAAI;YACJ,cAAc;SACf,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAW,EAAE,IAA8B;IAChE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,QAAQ,CAAC;AAC3D,CAAC;AAED,SAAS,uCAAuC,CAC9C,IAA8B,EAC9B,aAAwC;IAExC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC3D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,aAAa,CAAC;IAExE,IAAI,MAAM,KAAK,6BAAa,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,KAAK,6BAAa,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,CACL,qCAAqC,CAAC,aAAa,EAAE,UAAU,CAAC;YAChE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CACzB,CAAC;IACJ,CAAC;IAED,UAAU;IACV,OAAO,qCAAqC,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,SAAS,qCAAqC,CAC5C,aAAuB,EACvB,UAAoB;IAEpB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,cAAsB,EAAE,EAAE;QACnD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE;YACvC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;YAErD,OAAO,CACL,cAAc,KAAK,WAAW,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,0BAAc,CAAC,CACzE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canCreateReaction = canCreateReaction;
|
|
4
|
-
const can_read_channel_1 = require("../channels/can-read-channel");
|
|
5
|
-
/**
|
|
6
|
-
* Utility that determines whether a Channel allows a given PostReaction
|
|
7
|
-
* and whether the User has permissions to create it
|
|
8
|
-
*
|
|
9
|
-
* @export
|
|
10
|
-
* @deprecated replace with canCreateReactionV2 for v2 discussions
|
|
11
|
-
* @param {IChannel} channel
|
|
12
|
-
* @param {PostReaction} value
|
|
13
|
-
* @return {*} {boolean}
|
|
14
|
-
*/
|
|
15
|
-
function canCreateReaction(channel, value, user = {}) {
|
|
16
|
-
if (!channelAllowsReaction(channel, value)) {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
return (0, can_read_channel_1.canReadChannel)(channel, user);
|
|
20
|
-
}
|
|
21
|
-
function channelAllowsReaction(channel, value) {
|
|
22
|
-
const { allowReaction, allowedReactions } = channel;
|
|
23
|
-
if (!allowReaction) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
if (allowedReactions) {
|
|
27
|
-
return allowedReactions.includes(value);
|
|
28
|
-
}
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=can-create-reaction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"can-create-reaction.js","sourceRoot":"","sources":["../../../../../../src/discussions/api/utils/reactions/can-create-reaction.ts"],"names":[],"mappings":";;AAeA,8CAUC;AAtBD,mEAA8D;AAE9D;;;;;;;;;GASG;AACH,SAAgB,iBAAiB,CAC/B,OAAiB,EACjB,KAAmB,EACnB,OAAiC,EAAE;IAEnC,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAA,iCAAc,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAiB,EACjB,KAAmB;IAEnB,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACpD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { IUser } from "@esri/arcgis-rest-portal";
|
|
2
|
-
import { IChannel, IDiscussionsUser } from "../../types";
|
|
3
|
-
/**
|
|
4
|
-
* Utility to determine if User has privileges to create a channel with the defined permissions
|
|
5
|
-
* @deprecated replace with canCreateChannelV2 for v2 discussions
|
|
6
|
-
* @export
|
|
7
|
-
* @param channel
|
|
8
|
-
* @param user
|
|
9
|
-
* @returns {boolean}
|
|
10
|
-
*/
|
|
11
|
-
export declare function canCreateChannel(channel: IChannel, user?: IUser | IDiscussionsUser): boolean;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { IUser } from "@esri/arcgis-rest-portal";
|
|
2
|
-
import { IChannel, IDiscussionsUser } from "../../types";
|
|
3
|
-
/**
|
|
4
|
-
* Utility to determine if User has privileges to delete a channel
|
|
5
|
-
* @deprecated replace with canDeleteChannelV2 for v2 discussions
|
|
6
|
-
* @export
|
|
7
|
-
* @param channel
|
|
8
|
-
* @param user
|
|
9
|
-
* @returns {boolean}
|
|
10
|
-
*/
|
|
11
|
-
export declare function canDeleteChannel(channel: IChannel, user?: IUser | IDiscussionsUser): boolean;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { IUser } from "@esri/arcgis-rest-portal";
|
|
2
|
-
import { IChannel, IDiscussionsUser } from "../../types";
|
|
3
|
-
/**
|
|
4
|
-
* Utility to determine if User has privileges to edit a channel
|
|
5
|
-
* @export
|
|
6
|
-
* @deprecated replace with canEditChannelV2 for v2 discussions
|
|
7
|
-
* @param channel
|
|
8
|
-
* @param user
|
|
9
|
-
* @returns {boolean}
|
|
10
|
-
*/
|
|
11
|
-
export declare function canEditChannel(channel: IChannel, user?: IUser | IDiscussionsUser): boolean;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { IUser } from "@esri/arcgis-rest-portal";
|
|
2
|
-
import { IChannel, IDiscussionsUser } from "../../types";
|
|
3
|
-
/**
|
|
4
|
-
* Utility to determine if User has privileges to modify a channel
|
|
5
|
-
* @deprecated use `canEditChannelV2` or `canDeleteChannelV2` instead.
|
|
6
|
-
* @export
|
|
7
|
-
* @param channel
|
|
8
|
-
* @param user
|
|
9
|
-
* @returns {boolean}
|
|
10
|
-
*/
|
|
11
|
-
export declare function canModifyChannel(channel: IChannel, user?: IUser | IDiscussionsUser): boolean;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { IUser } from "@esri/arcgis-rest-portal";
|
|
2
|
-
import { IChannel, IDiscussionsUser } from "../../types";
|
|
3
|
-
/**
|
|
4
|
-
* Utility to determine if User has privileges to create a post in a channel
|
|
5
|
-
* @deprecated use `canCreatePostV2` or 'canCreateReplyV2` instead
|
|
6
|
-
* @export
|
|
7
|
-
* @param channel
|
|
8
|
-
* @param user
|
|
9
|
-
* @returns {boolean}
|
|
10
|
-
*/
|
|
11
|
-
export declare function canPostToChannel(channel: IChannel, user?: IUser | IDiscussionsUser): boolean;
|