Changeset View
Changeset View
Standalone View
Standalone View
lib/selectors/socket-selectors.js
Show First 20 Lines • Show All 54 Lines • ▼ Show 20 Lines | |||||
); | ); | ||||
const getClientResponsesSelector: ( | const getClientResponsesSelector: ( | ||||
state: AppState, | state: AppState, | ||||
) => ( | ) => ( | ||||
calendarActive: boolean, | calendarActive: boolean, | ||||
oneTimeKeyGenerator: ?OneTimeKeyGenerator, | oneTimeKeyGenerator: ?OneTimeKeyGenerator, | ||||
getSignedIdentityKeysBlob: ?() => Promise<SignedIdentityKeysBlob>, | getSignedIdentityKeysBlob: ?() => Promise<SignedIdentityKeysBlob>, | ||||
getInitialNotificationsEncryptedMessage: ?() => Promise<string>, | |||||
serverRequests: $ReadOnlyArray<ClientServerRequest>, | serverRequests: $ReadOnlyArray<ClientServerRequest>, | ||||
) => Promise<$ReadOnlyArray<ClientClientResponse>> = createSelector( | ) => Promise<$ReadOnlyArray<ClientClientResponse>> = createSelector( | ||||
(state: AppState) => state.threadStore.threadInfos, | (state: AppState) => state.threadStore.threadInfos, | ||||
(state: AppState) => state.entryStore.entryInfos, | (state: AppState) => state.entryStore.entryInfos, | ||||
(state: AppState) => state.userStore.userInfos, | (state: AppState) => state.userStore.userInfos, | ||||
(state: AppState) => state.currentUserInfo, | (state: AppState) => state.currentUserInfo, | ||||
currentCalendarQuery, | currentCalendarQuery, | ||||
( | ( | ||||
threadInfos: { +[id: string]: RawThreadInfo }, | threadInfos: { +[id: string]: RawThreadInfo }, | ||||
entryInfos: { +[id: string]: RawEntryInfo }, | entryInfos: { +[id: string]: RawEntryInfo }, | ||||
userInfos: UserInfos, | userInfos: UserInfos, | ||||
currentUserInfo: ?CurrentUserInfo, | currentUserInfo: ?CurrentUserInfo, | ||||
calendarQuery: (calendarActive: boolean) => CalendarQuery, | calendarQuery: (calendarActive: boolean) => CalendarQuery, | ||||
) => | ) => | ||||
async ( | async ( | ||||
calendarActive: boolean, | calendarActive: boolean, | ||||
oneTimeKeyGenerator: ?OneTimeKeyGenerator, | oneTimeKeyGenerator: ?OneTimeKeyGenerator, | ||||
getSignedIdentityKeysBlob: ?() => Promise<SignedIdentityKeysBlob>, | getSignedIdentityKeysBlob: ?() => Promise<SignedIdentityKeysBlob>, | ||||
getInitialNotificationsEncryptedMessage: ?() => Promise<string>, | |||||
serverRequests: $ReadOnlyArray<ClientServerRequest>, | serverRequests: $ReadOnlyArray<ClientServerRequest>, | ||||
): Promise<$ReadOnlyArray<ClientClientResponse>> => { | ): Promise<$ReadOnlyArray<ClientClientResponse>> => { | ||||
const clientResponses = []; | const clientResponses = []; | ||||
const serverRequestedPlatformDetails = serverRequests.some( | const serverRequestedPlatformDetails = serverRequests.some( | ||||
request => request.type === serverRequestTypes.PLATFORM_DETAILS, | request => request.type === serverRequestTypes.PLATFORM_DETAILS, | ||||
); | ); | ||||
for (const serverRequest of serverRequests) { | for (const serverRequest of serverRequests) { | ||||
if ( | if ( | ||||
▲ Show 20 Lines • Show All 118 Lines • ▼ Show 20 Lines | ): Promise<$ReadOnlyArray<ClientClientResponse>> => { | ||||
serverRequest.type === serverRequestTypes.SIGNED_IDENTITY_KEYS_BLOB && | serverRequest.type === serverRequestTypes.SIGNED_IDENTITY_KEYS_BLOB && | ||||
getSignedIdentityKeysBlob | getSignedIdentityKeysBlob | ||||
) { | ) { | ||||
const signedIdentityKeysBlob = await getSignedIdentityKeysBlob(); | const signedIdentityKeysBlob = await getSignedIdentityKeysBlob(); | ||||
clientResponses.push({ | clientResponses.push({ | ||||
type: serverRequestTypes.SIGNED_IDENTITY_KEYS_BLOB, | type: serverRequestTypes.SIGNED_IDENTITY_KEYS_BLOB, | ||||
signedIdentityKeysBlob, | signedIdentityKeysBlob, | ||||
}); | }); | ||||
} else if ( | |||||
serverRequest.type === | |||||
serverRequestTypes.INITIAL_NOTIFICATIONS_ENCRYPTED_MESSAGE && | |||||
getInitialNotificationsEncryptedMessage | |||||
) { | |||||
const initialNotificationsEncryptedMessage = | |||||
await getInitialNotificationsEncryptedMessage(); | |||||
clientResponses.push({ | |||||
type: serverRequestTypes.INITIAL_NOTIFICATIONS_ENCRYPTED_MESSAGE, | |||||
initialNotificationsEncryptedMessage, | |||||
}); | |||||
} | } | ||||
} | } | ||||
return clientResponses; | return clientResponses; | ||||
}, | }, | ||||
); | ); | ||||
const sessionStateFuncSelector: ( | const sessionStateFuncSelector: ( | ||||
state: AppState, | state: AppState, | ||||
Show All 18 Lines |