77use crate :: controllers:: frontend_prelude:: * ;
88
99use crate :: models:: VersionOwnerAction ;
10- use crate :: views:: { EncodableDependency , EncodablePublicUser , EncodableVersion } ;
10+ use crate :: views:: { EncodableDependency , EncodableVersion } ;
1111
1212use super :: { extract_crate_name_and_semver, version_and_crate} ;
1313
@@ -26,32 +26,20 @@ pub fn dependencies(req: &mut dyn RequestExt) -> EndpointResult {
2626 let deps = deps
2727 . into_iter ( )
2828 . map ( |( dep, crate_name) | EncodableDependency :: from_dep ( dep, & crate_name) )
29- . collect ( ) ;
29+ . collect :: < Vec < _ > > ( ) ;
3030
31- #[ derive( Serialize ) ]
32- struct R {
33- dependencies : Vec < EncodableDependency > ,
34- }
35- Ok ( req. json ( & R { dependencies : deps } ) )
31+ Ok ( req. json ( & json ! ( { "dependencies" : deps } ) ) )
3632}
3733
3834/// Handles the `GET /crates/:crate_id/:version/authors` route.
3935pub fn authors ( req : & mut dyn RequestExt ) -> EndpointResult {
4036 // Currently we return the empty list.
4137 // Because the API is not used anymore after RFC https://github.com/rust-lang/rfcs/pull/3052.
42- #[ derive( Serialize ) ]
43- struct R {
44- users : Vec < EncodablePublicUser > ,
45- meta : Meta ,
46- }
47- #[ derive( Serialize ) ]
48- struct Meta {
49- names : Vec < String > ,
50- }
51- Ok ( req. json ( & R {
52- users : vec ! [ ] ,
53- meta : Meta { names : vec ! [ ] } ,
54- } ) )
38+
39+ Ok ( req. json ( & json ! ( {
40+ "users" : [ ] ,
41+ "meta" : { "names" : [ ] } ,
42+ } ) ) )
5543}
5644
5745/// Handles the `GET /crates/:crate/:version` route.
@@ -65,11 +53,6 @@ pub fn show(req: &mut dyn RequestExt) -> EndpointResult {
6553 let published_by = version. published_by ( & conn) ;
6654 let actions = VersionOwnerAction :: by_version ( & conn, & version) ?;
6755
68- #[ derive( Serialize ) ]
69- struct R {
70- version : EncodableVersion ,
71- }
72- Ok ( req. json ( & R {
73- version : EncodableVersion :: from ( version, & krate. name , published_by, actions) ,
74- } ) )
56+ let version = EncodableVersion :: from ( version, & krate. name , published_by, actions) ;
57+ Ok ( req. json ( & json ! ( { "version" : version } ) ) )
7558}
0 commit comments