Page MenuHomePhabricator

D9369.diff
No OneTemporary

D9369.diff

diff --git a/lib/actions/message-report-actions.js b/lib/actions/message-report-actions.js
--- a/lib/actions/message-report-actions.js
+++ b/lib/actions/message-report-actions.js
@@ -4,7 +4,9 @@
MessageReportCreationRequest,
MessageReportCreationResult,
} from '../types/message-report-types.js';
-import type { CallServerEndpoint } from '../utils/call-server-endpoint.js';
+import { extractKeyserverIDFromID } from '../utils/action-utils.js';
+import type { CallKeyserverEndpoint } from '../utils/keyserver-call.js';
+import { useKeyserverCall } from '../utils/keyserver-call.js';
const sendMessageReportActionTypes = Object.freeze({
started: 'SEND_MESSAGE_REPORT_STARTED',
@@ -13,12 +15,27 @@
});
const sendMessageReport =
(
- callServerEndpoint: CallServerEndpoint,
+ callKeyserverEndpoint: CallKeyserverEndpoint,
): ((
- request: MessageReportCreationRequest,
+ input: MessageReportCreationRequest,
) => Promise<MessageReportCreationResult>) =>
- async request => {
- return await callServerEndpoint('create_message_report', request);
+ async input => {
+ const keyserverID = extractKeyserverIDFromID(input.messageID);
+ const requests = { [keyserverID]: input };
+
+ const responses = await callKeyserverEndpoint(
+ 'create_message_report',
+ requests,
+ );
+ const response = responses[keyserverID];
+
+ return { messageInfo: response.messageInfo };
};
-export { sendMessageReportActionTypes, sendMessageReport };
+function useSendMessageReport(): (
+ input: MessageReportCreationRequest,
+) => Promise<MessageReportCreationResult> {
+ return useKeyserverCall(sendMessageReport);
+}
+
+export { sendMessageReportActionTypes, useSendMessageReport };
diff --git a/native/chat/message-report-utils.js b/native/chat/message-report-utils.js
--- a/native/chat/message-report-utils.js
+++ b/native/chat/message-report-utils.js
@@ -3,13 +3,10 @@
import * as React from 'react';
import {
- sendMessageReport,
+ useSendMessageReport,
sendMessageReportActionTypes,
} from 'lib/actions/message-report-actions.js';
-import {
- useServerCall,
- useDispatchActionPromise,
-} from 'lib/utils/action-utils.js';
+import { useDispatchActionPromise } from 'lib/utils/action-utils.js';
import { displayActionResultModal } from '../navigation/action-result-modal.js';
import type { TooltipRoute } from '../tooltip/tooltip.react.js';
@@ -24,7 +21,7 @@
): () => mixed {
const messageID = route.params.item.messageInfo.id;
const dispatchActionPromise = useDispatchActionPromise();
- const callSendMessageReport = useServerCall(sendMessageReport);
+ const callSendMessageReport = useSendMessageReport();
return React.useCallback(() => {
if (!messageID) {
Alert.alert(

File Metadata

Mime Type
text/plain
Expires
Thu, Nov 28, 12:52 PM (20 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2594033
Default Alt Text
D9369.diff (2 KB)

Event Timeline