@@ -10,40 +10,6 @@ const FAKE_SINCE: i64 = 2880;
1010
1111use super :: types:: { Event , ListKind } ;
1212
13- pub async fn get_direct_messages_from_trade_keys (
14- client : & Client ,
15- trade_keys_hex : Vec < String > ,
16- since : i64 ,
17- _mostro_pubkey : & PublicKey ,
18- ) -> Result < Vec < ( Message , u64 , PublicKey ) > > {
19- if trade_keys_hex. is_empty ( ) {
20- return Ok ( Vec :: new ( ) ) ;
21- }
22-
23- let since_time = chrono:: Utc :: now ( )
24- . checked_sub_signed ( chrono:: Duration :: minutes ( since) )
25- . ok_or ( anyhow:: anyhow!( "Failed to get since time" ) ) ?
26- . timestamp ( ) ;
27-
28- let mut all_messages: Vec < ( Message , u64 , PublicKey ) > = Vec :: new ( ) ;
29- for trade_key_hex in trade_keys_hex {
30- if let Ok ( public_key) = PublicKey :: from_hex ( & trade_key_hex) {
31- let filter =
32- create_filter ( ListKind :: DirectMessagesUser , public_key, Some ( & since_time) ) ?;
33- let events = client. fetch_events ( filter, FETCH_EVENTS_TIMEOUT ) . await ?;
34- for event in events {
35- if let Ok ( message) = Message :: from_json ( & event. content ) {
36- if event. created_at . as_u64 ( ) < since as u64 {
37- continue ;
38- }
39- all_messages. push ( ( message, event. created_at . as_u64 ( ) , event. pubkey ) ) ;
40- }
41- }
42- }
43- }
44- Ok ( all_messages)
45- }
46-
4713fn create_fake_timestamp ( ) -> Result < Timestamp > {
4814 let fake_since_time = chrono:: Utc :: now ( )
4915 . checked_sub_signed ( chrono:: Duration :: minutes ( FAKE_SINCE ) )
@@ -130,11 +96,13 @@ pub async fn fetch_events_list(
13096 parse_dm_events ( fetched_events, & ctx. context_keys , since) . await ;
13197 Ok ( direct_messages_mostro
13298 . into_iter ( )
133- . map ( |( message, timestamp, _) | Event :: MessageTuple ( Box :: new ( ( message, timestamp) ) ) )
99+ . map ( |( message, timestamp, sender_pubkey) | {
100+ Event :: MessageTuple ( Box :: new ( ( message, timestamp, sender_pubkey) ) )
101+ } )
134102 . collect ( ) )
135103 }
136104 ListKind :: PrivateDirectMessagesUser => {
137- let mut direct_messages: Vec < ( Message , u64 ) > = Vec :: new ( ) ;
105+ let mut direct_messages: Vec < ( Message , u64 , PublicKey ) > = Vec :: new ( ) ;
138106 for index in 1 ..=ctx. trade_index {
139107 let trade_key = User :: get_trade_keys ( & ctx. pool , index) . await ?;
140108 let filter = create_filter (
@@ -148,19 +116,16 @@ pub async fn fetch_events_list(
148116 . await ?;
149117 let direct_messages_for_trade_key =
150118 parse_dm_events ( fetched_user_messages, & trade_key, since) . await ;
151- direct_messages. extend (
152- direct_messages_for_trade_key
153- . into_iter ( )
154- . map ( |( message, timestamp, _) | ( message, timestamp) ) ,
155- ) ;
119+ // Extend the direct messages
120+ direct_messages. extend ( direct_messages_for_trade_key) ;
156121 }
157122 Ok ( direct_messages
158123 . into_iter ( )
159124 . map ( |t| Event :: MessageTuple ( Box :: new ( t) ) )
160125 . collect ( ) )
161126 }
162127 ListKind :: DirectMessagesUser => {
163- let mut direct_messages: Vec < ( Message , u64 ) > = Vec :: new ( ) ;
128+ let mut direct_messages: Vec < ( Message , u64 , PublicKey ) > = Vec :: new ( ) ;
164129 for index in 1 ..=ctx. trade_index {
165130 let trade_key = User :: get_trade_keys ( & ctx. pool , index) . await ?;
166131 let filter =
@@ -171,11 +136,8 @@ pub async fn fetch_events_list(
171136 . await ?;
172137 let direct_messages_for_trade_key =
173138 parse_dm_events ( fetched_user_messages, & trade_key, since) . await ;
174- direct_messages. extend (
175- direct_messages_for_trade_key
176- . into_iter ( )
177- . map ( |( message, timestamp, _) | ( message, timestamp) ) ,
178- ) ;
139+ // Extend the direct messages
140+ direct_messages. extend ( direct_messages_for_trade_key) ;
179141 }
180142 Ok ( direct_messages
181143 . into_iter ( )
0 commit comments