|
5 | 5 | //! `Cargo.toml` file.
|
6 | 6 |
|
7 | 7 | use crate::controllers::prelude::*;
|
| 8 | +use crate::models::user; |
| 9 | +use crate::models::user::UserNoEmailType; |
8 | 10 | use crate::models::{
|
9 | 11 | Category, Crate, CrateCategory, CrateKeyword, CrateVersions, Keyword, RecentCrateDownloads,
|
10 |
| - User, Version, |
| 12 | + Version, |
11 | 13 | };
|
12 | 14 | use crate::schema::*;
|
13 | 15 | use crate::views::{
|
@@ -105,10 +107,10 @@ pub fn show(req: &mut dyn Request) -> CargoResult<Response> {
|
105 | 107 | let conn = req.db_conn()?;
|
106 | 108 | let krate = Crate::by_name(name).first::<Crate>(&*conn)?;
|
107 | 109 |
|
108 |
| - let mut versions_and_publishers: Vec<(Version, Option<User>)> = krate |
| 110 | + let mut versions_and_publishers: Vec<(Version, Option<UserNoEmailType>)> = krate |
109 | 111 | .all_versions()
|
110 | 112 | .left_outer_join(users::table)
|
111 |
| - .select((versions::all_columns, users::all_columns.nullable())) |
| 113 | + .select((versions::all_columns, user::ALL_COLUMNS.nullable())) |
112 | 114 | .load(&*conn)?;
|
113 | 115 | versions_and_publishers.sort_by(|a, b| b.0.num.cmp(&a.0.num));
|
114 | 116 | let ids = versions_and_publishers.iter().map(|v| v.0.id).collect();
|
@@ -151,7 +153,7 @@ pub fn show(req: &mut dyn Request) -> CargoResult<Response> {
|
151 | 153 | ),
|
152 | 154 | versions: versions_and_publishers
|
153 | 155 | .into_iter()
|
154 |
| - .map(|(v, pb)| v.encodable(&krate.name, pb)) |
| 156 | + .map(|(v, pb)| v.encodable(&krate.name, pb.map(From::from))) |
155 | 157 | .collect(),
|
156 | 158 | keywords: kws.into_iter().map(Keyword::encodable).collect(),
|
157 | 159 | categories: cats.into_iter().map(Category::encodable).collect(),
|
@@ -187,15 +189,15 @@ pub fn versions(req: &mut dyn Request) -> CargoResult<Response> {
|
187 | 189 | let crate_name = &req.params()["crate_id"];
|
188 | 190 | let conn = req.db_conn()?;
|
189 | 191 | let krate = Crate::by_name(crate_name).first::<Crate>(&*conn)?;
|
190 |
| - let mut versions_and_publishers: Vec<(Version, Option<User>)> = krate |
| 192 | + let mut versions_and_publishers: Vec<(Version, Option<UserNoEmailType>)> = krate |
191 | 193 | .all_versions()
|
192 | 194 | .left_outer_join(users::table)
|
193 |
| - .select((versions::all_columns, users::all_columns.nullable())) |
| 195 | + .select((versions::all_columns, user::ALL_COLUMNS.nullable())) |
194 | 196 | .load(&*conn)?;
|
195 | 197 | versions_and_publishers.sort_by(|a, b| b.0.num.cmp(&a.0.num));
|
196 | 198 | let versions = versions_and_publishers
|
197 | 199 | .into_iter()
|
198 |
| - .map(|(v, pb)| v.encodable(crate_name, pb)) |
| 200 | + .map(|(v, pb)| v.encodable(crate_name, pb.map(From::from))) |
199 | 201 | .collect();
|
200 | 202 |
|
201 | 203 | #[derive(Serialize)]
|
@@ -227,11 +229,11 @@ pub fn reverse_dependencies(req: &mut dyn Request) -> CargoResult<Response> {
|
227 | 229 | .select((
|
228 | 230 | versions::all_columns,
|
229 | 231 | crates::name,
|
230 |
| - users::all_columns.nullable(), |
| 232 | + user::ALL_COLUMNS.nullable(), |
231 | 233 | ))
|
232 |
| - .load::<(Version, String, Option<User>)>(&*conn)? |
| 234 | + .load::<(Version, String, Option<UserNoEmailType>)>(&*conn)? |
233 | 235 | .into_iter()
|
234 |
| - .map(|(version, krate_name, published_by)| version.encodable(&krate_name, published_by)) |
| 236 | + .map(|(version, krate_name, user)| version.encodable(&krate_name, user.map(From::from))) |
235 | 237 | .collect();
|
236 | 238 |
|
237 | 239 | #[derive(Serialize)]
|
|
0 commit comments