Page MenuHomePhabricator

D10789.id35969.diff
No OneTemporary

D10789.id35969.diff

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
@@ -58,6 +58,7 @@
type RobotextMessageInfo,
} from '../types/message-types.js';
import type {
+ MinimallyEncodedMemberInfo,
MinimallyEncodedThreadCurrentUserInfo,
RawThreadInfo,
RelativeMemberInfo,
@@ -91,9 +92,9 @@
import type {
ChangeThreadSettingsPayload,
ClientNewThreadRequest,
+ LegacyMemberInfo,
LegacyRawThreadInfo,
LegacyRoleInfo,
- MemberInfo,
MixedRawThreadInfos,
NewThreadResult,
ServerMemberInfo,
@@ -219,17 +220,18 @@
}
function threadActualMembers(
- memberInfos: $ReadOnlyArray<MemberInfo | RelativeMemberInfo>,
+ memberInfos: $ReadOnlyArray<
+ LegacyMemberInfo | MinimallyEncodedMemberInfo | RelativeMemberInfo,
+ >,
): $ReadOnlyArray<string> {
return memberInfos
.filter(memberInfo => memberInfo.role)
.map(memberInfo => memberInfo.id);
}
-function threadOtherMembers<T: MemberInfo | RelativeMemberInfo>(
- memberInfos: $ReadOnlyArray<T>,
- viewerID: ?string,
-): $ReadOnlyArray<T> {
+function threadOtherMembers<
+ T: LegacyMemberInfo | MinimallyEncodedMemberInfo | RelativeMemberInfo,
+>(memberInfos: $ReadOnlyArray<T>, viewerID: ?string): $ReadOnlyArray<T> {
return memberInfos.filter(
memberInfo => memberInfo.role && memberInfo.id !== viewerID,
);
@@ -1030,7 +1032,11 @@
// Since we don't have access to all of the ancestor ThreadInfos, we approximate
// "parent admin" as anybody with CHANGE_ROLE permissions.
function memberHasAdminPowers(
- memberInfo: RelativeMemberInfo | MemberInfo | ServerMemberInfo,
+ memberInfo:
+ | RelativeMemberInfo
+ | LegacyMemberInfo
+ | MinimallyEncodedMemberInfo
+ | ServerMemberInfo,
): boolean {
if (memberInfo.minimallyEncoded) {
return hasPermission(memberInfo.permissions, threadPermissions.CHANGE_ROLE);
diff --git a/lib/types/thread-types.js b/lib/types/thread-types.js
--- a/lib/types/thread-types.js
+++ b/lib/types/thread-types.js
@@ -15,7 +15,6 @@
RawMessageInfo,
} from './message-types.js';
import type {
- MinimallyEncodedMemberInfo,
RawThreadInfo,
ResolvedThreadInfo,
ThreadInfo,
@@ -51,8 +50,6 @@
isSender: t.Boolean,
});
-export type MemberInfo = LegacyMemberInfo | MinimallyEncodedMemberInfo;
-
export type LegacyRoleInfo = {
+id: string,
+name: string,

File Metadata

Mime Type
text/plain
Expires
Wed, Nov 6, 3:20 PM (19 h, 51 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2431261
Default Alt Text
D10789.id35969.diff (2 KB)

Event Timeline