Skip to content

Commit b25201e

Browse files
committed
controllers/category: Reduce spawn_blocking() usage
1 parent fc425a9 commit b25201e

File tree

1 file changed

+14
-17
lines changed

1 file changed

+14
-17
lines changed

src/controllers/category.rs

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -83,25 +83,22 @@ pub async fn show(state: AppState, Path(slug): Path<String>) -> AppResult<Json<V
8383

8484
/// Handles the `GET /category_slugs` route.
8585
pub async fn slugs(state: AppState) -> AppResult<Json<Value>> {
86-
use diesel::RunQueryDsl;
86+
use diesel_async::RunQueryDsl;
8787

88-
let conn = state.db_read().await?;
89-
spawn_blocking(move || {
90-
let conn: &mut AsyncConnectionWrapper<_> = &mut conn.into();
88+
let mut conn = state.db_read().await?;
9189

92-
let slugs: Vec<Slug> = categories::table
93-
.select((categories::slug, categories::slug, categories::description))
94-
.order(categories::slug)
95-
.load(conn)?;
90+
let slugs: Vec<Slug> = categories::table
91+
.select((categories::slug, categories::slug, categories::description))
92+
.order(categories::slug)
93+
.load(&mut conn)
94+
.await?;
9695

97-
#[derive(Serialize, Queryable)]
98-
struct Slug {
99-
id: String,
100-
slug: String,
101-
description: String,
102-
}
96+
#[derive(Serialize, Queryable)]
97+
struct Slug {
98+
id: String,
99+
slug: String,
100+
description: String,
101+
}
103102

104-
Ok(Json(json!({ "category_slugs": slugs })))
105-
})
106-
.await
103+
Ok(Json(json!({ "category_slugs": slugs })))
107104
}

0 commit comments

Comments
 (0)