Changeset View
Changeset View
Standalone View
Standalone View
lib/shared/thread-utils.js
Show First 20 Lines • Show All 415 Lines • ▼ Show 20 Lines | function createPendingThread({ | ||||
}; | }; | ||||
const userInfos: { [string]: UserInfo } = {}; | const userInfos: { [string]: UserInfo } = {}; | ||||
for (const member of members) { | for (const member of members) { | ||||
const { id, username } = member; | const { id, username } = member; | ||||
userInfos[id] = { id, username }; | userInfos[id] = { id, username }; | ||||
} | } | ||||
return threadInfoFromRawThreadInfo(rawThreadInfo, viewerID, userInfos); | return serverThreadInfoFromRawThreadInfo(rawThreadInfo, viewerID, userInfos); | ||||
} | } | ||||
type PendingPersonalThread = { | type PendingPersonalThread = { | ||||
+threadInfo: ThreadInfo, | +threadInfo: ThreadInfo, | ||||
+pendingPersonalThreadUserInfo: UserInfo, | +pendingPersonalThreadUserInfo: UserInfo, | ||||
}; | }; | ||||
function createPendingPersonalThread( | function createPendingPersonalThread( | ||||
▲ Show 20 Lines • Show All 504 Lines • ▼ Show 20 Lines | return { | ||||
uiName: memberEntities, | uiName: memberEntities, | ||||
ifJustViewer: | ifJustViewer: | ||||
threadInfo.type === threadTypes.PRIVATE | threadInfo.type === threadTypes.PRIVATE | ||||
? 'viewer_username' | ? 'viewer_username' | ||||
: 'just_you_string', | : 'just_you_string', | ||||
}; | }; | ||||
} | } | ||||
function threadInfoFromRawThreadInfo( | function serverThreadInfoFromRawThreadInfo( | ||||
rawThreadInfo: RawThreadInfo, | rawThreadInfo: RawThreadInfo, | ||||
viewerID: ?string, | viewerID: ?string, | ||||
userInfos: UserInfos, | userInfos: UserInfos, | ||||
): ThreadInfo { | ): ThreadInfo { | ||||
const currentUser = getMinimallyEncodedCurrentUser( | const currentUser = getMinimallyEncodedCurrentUser( | ||||
rawThreadInfo, | rawThreadInfo, | ||||
null, | null, | ||||
viewerID, | viewerID, | ||||
userInfos, | userInfos, | ||||
); | ); | ||||
return baseThreadInfoFromRawThreadInfo( | return baseThreadInfoFromRawThreadInfo( | ||||
rawThreadInfo, | rawThreadInfo, | ||||
viewerID, | viewerID, | ||||
userInfos, | userInfos, | ||||
currentUser, | currentUser, | ||||
); | ); | ||||
} | } | ||||
function clientThreadInfoFromRawThreadInfo( | |||||
rawThreadInfo: RawThreadInfo, | |||||
communityThread: ?RawThreadInfo, | |||||
viewerID: ?string, | |||||
userInfos: UserInfos, | |||||
): ThreadInfo { | |||||
const currentUser = getMinimallyEncodedCurrentUser( | |||||
rawThreadInfo, | |||||
communityThread, | |||||
viewerID, | |||||
userInfos, | |||||
); | |||||
return baseThreadInfoFromRawThreadInfo( | |||||
rawThreadInfo, | |||||
viewerID, | |||||
userInfos, | |||||
currentUser, | |||||
); | |||||
} | |||||
function baseThreadInfoFromRawThreadInfo( | function baseThreadInfoFromRawThreadInfo( | ||||
rawThreadInfo: RawThreadInfo, | rawThreadInfo: RawThreadInfo, | ||||
viewerID: ?string, | viewerID: ?string, | ||||
userInfos: UserInfos, | userInfos: UserInfos, | ||||
currentUser: ThreadCurrentUserInfo, | currentUser: ThreadCurrentUserInfo, | ||||
): ThreadInfo { | ): ThreadInfo { | ||||
let threadInfo: ThreadInfo = { | let threadInfo: ThreadInfo = { | ||||
minimallyEncoded: true, | minimallyEncoded: true, | ||||
▲ Show 20 Lines • Show All 951 Lines • ▼ Show 20 Lines | export { | ||||
pendingThreadType, | pendingThreadType, | ||||
createRealThreadFromPendingThread, | createRealThreadFromPendingThread, | ||||
getMinimallyEncodedCurrentUser, | getMinimallyEncodedCurrentUser, | ||||
serverThreadFrozenDueToBlock, | serverThreadFrozenDueToBlock, | ||||
clientThreadFrozenDueToBlock, | clientThreadFrozenDueToBlock, | ||||
threadFrozenDueToViewerBlock, | threadFrozenDueToViewerBlock, | ||||
rawThreadInfoFromServerThreadInfo, | rawThreadInfoFromServerThreadInfo, | ||||
threadUIName, | threadUIName, | ||||
threadInfoFromRawThreadInfo, | serverThreadInfoFromRawThreadInfo, | ||||
clientThreadInfoFromRawThreadInfo, | |||||
threadTypeDescriptions, | threadTypeDescriptions, | ||||
memberHasAdminPowers, | memberHasAdminPowers, | ||||
roleIsDefaultRole, | roleIsDefaultRole, | ||||
roleIsAdminRole, | roleIsAdminRole, | ||||
threadHasAdminRole, | threadHasAdminRole, | ||||
identifyInvalidatedThreads, | identifyInvalidatedThreads, | ||||
permissionsDisabledByBlock, | permissionsDisabledByBlock, | ||||
emptyItemText, | emptyItemText, | ||||
Show All 28 Lines |