Page MenuHomePhorge

D15434.1765029472.diff
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

D15434.1765029472.diff

diff --git a/lib/permissions/special-roles.js b/lib/permissions/special-roles.js
--- a/lib/permissions/special-roles.js
+++ b/lib/permissions/special-roles.js
@@ -3,7 +3,11 @@
import _mapValues from 'lodash/fp/mapValues.js';
import type { TRefinement } from 'tcomb';
-import { roleIsAdminRole, roleIsDefaultRole } from '../shared/thread-utils.js';
+import {
+ roleIsAdminRole,
+ roleIsDefaultRole,
+ roleIsInviteeRole,
+} from '../shared/thread-utils.js';
import type {
RawThreadInfo,
RoleInfo,
@@ -44,6 +48,11 @@
...roleSansIsDefault,
specialRole: specialRoles.ADMIN_ROLE,
};
+ } else if (roleIsInviteeRole(role)) {
+ return {
+ ...roleSansIsDefault,
+ specialRole: specialRoles.INVITEE_ROLE,
+ };
} else {
return {
...roleSansIsDefault,
diff --git a/lib/shared/thread-utils.js b/lib/shared/thread-utils.js
--- a/lib/shared/thread-utils.js
+++ b/lib/shared/thread-utils.js
@@ -1574,6 +1574,8 @@
roleNamesToSpecialRole[role.name] = specialRoles.DEFAULT_ROLE;
} else if (roleIsAdminRole(role)) {
roleNamesToSpecialRole[role.name] = specialRoles.ADMIN_ROLE;
+ } else if (roleIsInviteeRole(role)) {
+ roleNamesToSpecialRole[role.name] = specialRoles.INVITEE_ROLE;
} else {
roleNamesToSpecialRole[role.name] = null;
}
diff --git a/lib/types/minimally-encoded-thread-permissions-types.js b/lib/types/minimally-encoded-thread-permissions-types.js
--- a/lib/types/minimally-encoded-thread-permissions-types.js
+++ b/lib/types/minimally-encoded-thread-permissions-types.js
@@ -24,7 +24,11 @@
} from '../permissions/minimally-encoded-thread-permissions.js';
import type { SpecialRole } from '../permissions/special-roles.js';
import { specialRoles } from '../permissions/special-roles.js';
-import { roleIsAdminRole, roleIsDefaultRole } from '../shared/thread-utils.js';
+import {
+ roleIsAdminRole,
+ roleIsDefaultRole,
+ roleIsInviteeRole,
+} from '../shared/thread-utils.js';
import type { ThreadEntity } from '../utils/entity-text.js';
type RoleInfoBase = $ReadOnly<{
@@ -49,6 +53,8 @@
specialRole = specialRoles.DEFAULT_ROLE;
} else if (roleIsAdminRole(roleInfo)) {
specialRole = specialRoles.ADMIN_ROLE;
+ } else if (roleIsInviteeRole(roleInfo)) {
+ specialRole = specialRoles.INVITEE_ROLE;
}
const { isDefault, ...rest } = roleInfo;
return {
diff --git a/web/roles/role-actions-menu.react.js b/web/roles/role-actions-menu.react.js
--- a/web/roles/role-actions-menu.react.js
+++ b/web/roles/role-actions-menu.react.js
@@ -8,6 +8,7 @@
import {
roleIsAdminRole,
roleIsDefaultRole,
+ roleIsInviteeRole,
useRoleUserSurfacedPermissions,
} from 'lib/shared/thread-utils.js';
import type {
@@ -78,7 +79,7 @@
const menuItems = React.useMemo(() => {
const availableOptions = [];
- if (!roleIsAdminRole(existingRole)) {
+ if (!roleIsAdminRole(existingRole) && !roleIsInviteeRole(existingRole)) {
availableOptions.push(
<MenuItem
key="Edit role"
@@ -90,7 +91,11 @@
);
}
- if (!roleIsAdminRole(existingRole) && !roleIsDefaultRole(existingRole)) {
+ if (
+ !roleIsAdminRole(existingRole) &&
+ !roleIsDefaultRole(existingRole) &&
+ !roleIsInviteeRole(existingRole)
+ ) {
availableOptions.push(
<MenuItem
key="Delete role"

File Metadata

Mime Type
text/plain
Expires
Sat, Dec 6, 1:57 PM (20 h, 12 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5834804
Default Alt Text
D15434.1765029472.diff (3 KB)

Event Timeline