@@ -8,8 +8,7 @@ use serde::{Deserialize, Serialize};
88use warp:: { filters, reply, serve, Filter } ;
99
1010use super :: resources:: auth_key_resource:: AuthKeyResource ;
11- use super :: resources:: torrent_resource:: { TorrentPeerResource , TorrentResource } ;
12- use crate :: peer:: TorrentPeer ;
11+ use super :: resources:: torrent_resource:: { TorrentListItemResource , TorrentPeerResource , TorrentResource } ;
1312use crate :: protocol:: common:: * ;
1413use crate :: tracker:: TorrentTracker ;
1514
@@ -19,16 +18,6 @@ struct TorrentInfoQuery {
1918 limit : Option < u32 > ,
2019}
2120
22- #[ derive( Serialize ) ]
23- struct Torrent < ' a > {
24- info_hash : & ' a InfoHash ,
25- seeders : u32 ,
26- completed : u32 ,
27- leechers : u32 ,
28- #[ serde( skip_serializing_if = "Option::is_none" ) ]
29- peers : Option < Vec < & ' a TorrentPeer > > ,
30- }
31-
3221#[ derive( Serialize ) ]
3322struct Stats {
3423 torrents : u32 ,
@@ -110,9 +99,8 @@ pub fn start(socket_addr: SocketAddr, tracker: Arc<TorrentTracker>) -> impl warp
11099 . iter ( )
111100 . map ( |( info_hash, torrent_entry) | {
112101 let ( seeders, completed, leechers) = torrent_entry. get_stats ( ) ;
113- // todo: use TorrentResource
114- Torrent {
115- info_hash,
102+ TorrentListItemResource {
103+ info_hash : info_hash. to_string ( ) ,
116104 seeders,
117105 completed,
118106 leechers,
0 commit comments