Skip to content

Commit c0a675e

Browse files
committed
refactor: [#801] fixed 500 error when using two where filters at the same time and code cleanup
1 parent ffba359 commit c0a675e

File tree

3 files changed

+7
-15
lines changed

3 files changed

+7
-15
lines changed

src/databases/mysql.rs

+3-7
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ impl Database for Mysql {
183183
match sanitized_filter {
184184
UsersFilters::TorrentUploader => join_filters.push_str(
185185
"INNER JOIN torrust_torrents tt
186-
ON tu.user_id = tt_uploader_id",
186+
ON tu.user_id = tt.uploader_id",
187187
),
188188
_ => break,
189189
}
@@ -195,7 +195,6 @@ impl Database for Mysql {
195195
};
196196

197197
let where_filters_query = if let Some(filters) = filters {
198-
let mut i = 0;
199198
let mut where_filters = String::new();
200199
for filter in filters {
201200
// don't take user input in the db query
@@ -207,12 +206,9 @@ impl Database for Mysql {
207206
_ => continue,
208207
};
209208

210-
let mut str = format!("AND {filter_query}");
211-
if i > 0 {
212-
str = format!(" AND {str}");
213-
}
209+
let str = format!("AND {filter_query} ");
210+
214211
where_filters.push_str(&str);
215-
i += 1;
216212
}
217213
}
218214
where_filters

src/databases/sqlite.rs

+3-7
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ impl Database for Sqlite {
184184
match sanitized_filter {
185185
UsersFilters::TorrentUploader => join_filters.push_str(
186186
"INNER JOIN torrust_torrents tt
187-
ON tu.user_id = tt_uploader_id",
187+
ON tu.user_id = tt.uploader_id ",
188188
),
189189
_ => break,
190190
}
@@ -196,7 +196,6 @@ impl Database for Sqlite {
196196
};
197197

198198
let where_filters_query = if let Some(filters) = filters {
199-
let mut i = 0;
200199
let mut where_filters = String::new();
201200
for filter in filters {
202201
// don't take user input in the db query
@@ -208,12 +207,9 @@ impl Database for Sqlite {
208207
_ => continue,
209208
};
210209

211-
let mut str = format!("AND {filter_query}");
212-
if i > 0 {
213-
str = format!(" AND {str}");
214-
}
210+
let str = format!("AND {filter_query} ");
211+
215212
where_filters.push_str(&str);
216-
i += 1;
217213
}
218214
}
219215
where_filters

src/services/user.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ impl ListingService {
409409

410410
let offset = u64::from(page * u32::from(page_size));
411411

412-
let sort = request.sort.clone().unwrap_or("UsernameAZ".to_string());
412+
let sort = request.sort.clone().unwrap_or("usernameASC".to_string());
413413

414414
let sort = match sort.as_str() {
415415
"dateRegisteredASC" => UsersSorting::DateRegisteredNewest,

0 commit comments

Comments
 (0)