Changeset View
Changeset View
Standalone View
Standalone View
keyserver/src/creators/thread-creator.js
Show First 20 Lines • Show All 73 Lines • ▼ Show 20 Lines | async function createThread( | ||||
viewer: Viewer, | viewer: Viewer, | ||||
request: ServerNewThreadRequest, | request: ServerNewThreadRequest, | ||||
options?: CreateThreadOptions, | options?: CreateThreadOptions, | ||||
): Promise<NewThreadResponse> { | ): Promise<NewThreadResponse> { | ||||
if (!viewer.loggedIn) { | if (!viewer.loggedIn) { | ||||
throw new ServerError('not_logged_in'); | throw new ServerError('not_logged_in'); | ||||
} | } | ||||
const forceAddMembers = options?.forceAddMembers ?? false; | |||||
const updatesForCurrentSession = | const updatesForCurrentSession = | ||||
options?.updatesForCurrentSession ?? 'return'; | options?.updatesForCurrentSession ?? 'return'; | ||||
const silentlyFailMembers = options?.silentlyFailMembers ?? false; | const silentlyFailMembers = options?.silentlyFailMembers ?? false; | ||||
const threadType = request.type; | const threadType = request.type; | ||||
const shouldCreateRelationships = | const shouldCreateRelationships = options?.forceAddMembers ?? false; | ||||
forceAddMembers || threadType === threadTypes.PERSONAL; | |||||
let parentThreadID = request.parentThreadID ? request.parentThreadID : null; | let parentThreadID = request.parentThreadID ? request.parentThreadID : null; | ||||
const initialMemberIDsFromRequest = | const initialMemberIDsFromRequest = | ||||
request.initialMemberIDs && request.initialMemberIDs.length > 0 | request.initialMemberIDs && request.initialMemberIDs.length > 0 | ||||
? [...new Set(request.initialMemberIDs)] | ? [...new Set(request.initialMemberIDs)] | ||||
: null; | : null; | ||||
const ghostMemberIDsFromRequest = | const ghostMemberIDsFromRequest = | ||||
request.ghostMemberIDs && request.ghostMemberIDs.length > 0 | request.ghostMemberIDs && request.ghostMemberIDs.length > 0 | ||||
? [...new Set(request.ghostMemberIDs)] | ? [...new Set(request.ghostMemberIDs)] | ||||
▲ Show 20 Lines • Show All 408 Lines • Show Last 20 Lines |