Changeset View
Changeset View
Standalone View
Standalone View
lib/actions/message-actions.js
// @flow | // @flow | ||||
import invariant from 'invariant'; | import invariant from 'invariant'; | ||||
import type { | import type { | ||||
FetchMessageInfosPayload, | FetchMessageInfosPayload, | ||||
SendMessageResult, | SendMessageResult, | ||||
SendEditMessageResult, | SendEditMessageResult, | ||||
SendReactionMessageRequest, | SendReactionMessageRequest, | ||||
SimpleMessagesPayload, | SimpleMessagesPayload, | ||||
SendEditMessageRequest, | SendEditMessageRequest, | ||||
FetchPinnedMessagesRequest, | FetchPinnedMessagesRequest, | ||||
FetchPinnedMessagesResult, | FetchPinnedMessagesResult, | ||||
SearchMessagesRequest, | |||||
SearchMessagesResponse, | |||||
} from '../types/message-types.js'; | } from '../types/message-types.js'; | ||||
import type { MediaMessageServerDBContent } from '../types/messages/media.js'; | import type { MediaMessageServerDBContent } from '../types/messages/media.js'; | ||||
import type { | import type { | ||||
CallServerEndpoint, | CallServerEndpoint, | ||||
CallServerEndpointResultInfo, | CallServerEndpointResultInfo, | ||||
} from '../utils/call-server-endpoint.js'; | } from '../utils/call-server-endpoint.js'; | ||||
const fetchMessagesBeforeCursorActionTypes = Object.freeze({ | const fetchMessagesBeforeCursorActionTypes = Object.freeze({ | ||||
▲ Show 20 Lines • Show All 255 Lines • ▼ Show 20 Lines | const fetchPinnedMessages = | ||||
): (( | ): (( | ||||
request: FetchPinnedMessagesRequest, | request: FetchPinnedMessagesRequest, | ||||
) => Promise<FetchPinnedMessagesResult>) => | ) => Promise<FetchPinnedMessagesResult>) => | ||||
async request => { | async request => { | ||||
const response = await callServerEndpoint('fetch_pinned_messages', request); | const response = await callServerEndpoint('fetch_pinned_messages', request); | ||||
return { pinnedMessages: response.pinnedMessages }; | return { pinnedMessages: response.pinnedMessages }; | ||||
}; | }; | ||||
const searchMessagesActionTypes = Object.freeze({ | |||||
started: 'SEARCH_MESSAGES_STARTED', | |||||
success: 'SEARCH_MESSAGES_SUCCESS', | |||||
failed: 'SEARCH_MESSAGES_FAILED', | |||||
}); | |||||
const searchMessages = | |||||
( | |||||
callServerEndpoint: CallServerEndpoint, | |||||
): ((request: SearchMessagesRequest) => Promise<SearchMessagesResponse>) => | |||||
async request => { | |||||
const response = await callServerEndpoint('search_messages', request); | |||||
return { | |||||
messages: response.messages, | |||||
endReached: response.endReached, | |||||
}; | |||||
}; | |||||
export { | export { | ||||
fetchMessagesBeforeCursorActionTypes, | fetchMessagesBeforeCursorActionTypes, | ||||
fetchMessagesBeforeCursor, | fetchMessagesBeforeCursor, | ||||
fetchMostRecentMessagesActionTypes, | fetchMostRecentMessagesActionTypes, | ||||
fetchMostRecentMessages, | fetchMostRecentMessages, | ||||
fetchSingleMostRecentMessagesFromThreadsActionTypes, | fetchSingleMostRecentMessagesFromThreadsActionTypes, | ||||
fetchSingleMostRecentMessagesFromThreads, | fetchSingleMostRecentMessagesFromThreads, | ||||
sendTextMessageActionTypes, | sendTextMessageActionTypes, | ||||
sendTextMessage, | sendTextMessage, | ||||
createLocalMessageActionType, | createLocalMessageActionType, | ||||
sendMultimediaMessageActionTypes, | sendMultimediaMessageActionTypes, | ||||
sendMultimediaMessage, | sendMultimediaMessage, | ||||
legacySendMultimediaMessage, | legacySendMultimediaMessage, | ||||
searchMessagesActionTypes, | |||||
searchMessages, | |||||
sendReactionMessageActionTypes, | sendReactionMessageActionTypes, | ||||
sendReactionMessage, | sendReactionMessage, | ||||
saveMessagesActionType, | saveMessagesActionType, | ||||
processMessagesActionType, | processMessagesActionType, | ||||
messageStorePruneActionType, | messageStorePruneActionType, | ||||
sendEditMessageActionTypes, | sendEditMessageActionTypes, | ||||
sendEditMessage, | sendEditMessage, | ||||
fetchPinnedMessages, | fetchPinnedMessages, | ||||
fetchPinnedMessageActionTypes, | fetchPinnedMessageActionTypes, | ||||
}; | }; |