Skip to content

Commit 944bdb0

Browse files
committed
fix(developer): fix for developer index
1 parent 3b5d23d commit 944bdb0

File tree

3 files changed

+21
-7
lines changed

3 files changed

+21
-7
lines changed

src/database/repository/developers.rs

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,21 @@ use std::collections::HashMap;
55
use uuid::Uuid;
66

77
pub async fn index(
8-
query: Option<&String>,
8+
query: &str,
99
page: i64,
1010
per_page: i64,
1111
conn: &mut PgConnection,
1212
) -> Result<PaginatedData<Developer>, ApiError> {
1313
let limit = per_page;
1414
let offset = (page - 1) * per_page;
1515

16-
let display_name_query = query.map(|str| format!("%{}%", str));
16+
let display_name_query = {
17+
if query.is_empty() {
18+
"".into()
19+
} else {
20+
format!("%{}%", query)
21+
}
22+
};
1723

1824
let result = sqlx::query_as!(
1925
Developer,
@@ -32,7 +38,7 @@ pub async fn index(
3238
LIMIT $3
3339
OFFSET $4",
3440
query,
35-
display_name_query,
41+
&display_name_query,
3642
limit,
3743
offset
3844
)
@@ -51,8 +57,14 @@ pub async fn index(
5157
})
5258
}
5359

54-
pub async fn index_count(query: Option<&String>, conn: &mut PgConnection) -> Result<i64, ApiError> {
55-
let display_name_query = query.map(|str| format!("%{}%", str));
60+
pub async fn index_count(query: &str, conn: &mut PgConnection) -> Result<i64, ApiError> {
61+
let display_name_query = {
62+
if query.is_empty() {
63+
"".into()
64+
} else {
65+
format!("%{}%", query)
66+
}
67+
};
5668

5769
Ok(sqlx::query!(
5870
"SELECT COUNT(id)

src/endpoints/developers.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,11 @@ pub async fn developer_index(
8080
let page: i64 = query.page.unwrap_or(1).max(1);
8181
let per_page = query.per_page.unwrap_or(10).clamp(1, 100);
8282

83+
let query = query.query.clone().unwrap_or_default();
84+
8385
Ok(web::Json(ApiResponse {
8486
error: "".into(),
85-
payload: developers::index(query.query.as_ref(), page, per_page, &mut pool).await?,
87+
payload: developers::index(&query, page, per_page, &mut pool).await?,
8688
}))
8789
}
8890

src/types/models/stats.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ impl Stats {
3434
Ok(Stats {
3535
total_mod_count: mod_stats.total_count,
3636
total_mod_downloads: mod_stats.total_downloads,
37-
total_registered_developers: developers::index_count(None, &mut *pool).await?,
37+
total_registered_developers: developers::index_count("", &mut *pool).await?,
3838
total_geode_downloads: Self::get_latest_github_release_download_count(&mut *pool)
3939
.await?,
4040
})

0 commit comments

Comments
 (0)