Skip to content
This repository was archived by the owner on Oct 21, 2025. It is now read-only.

Commit 738048c

Browse files
committed
cleanup and fix int overflow
1 parent c81fcdb commit 738048c

File tree

9 files changed

+41
-41
lines changed

9 files changed

+41
-41
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "api"
3-
version = "2.2.0"
3+
version = "2.2.1"
44
edition = "2024"
55

66
[dependencies]

src/cache.rs

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -62,29 +62,24 @@ impl Cache {
6262
}
6363

6464
#[inline(always)]
65-
pub async fn cached<T, F, Fut>(
66-
&self,
67-
key: &str,
68-
ttl: u64,
69-
fn_compute: F,
70-
) -> Result<T, Box<dyn std::error::Error>>
65+
pub async fn cached<T, F, Fut>(&self, key: &str, ttl: u64, fn_compute: F) -> T
7166
where
7267
T: Serialize + DeserializeOwned,
7368
F: FnOnce() -> Fut,
74-
Fut: Future<Output = Result<T, Box<dyn std::error::Error>>>,
69+
Fut: Future<Output = T>,
7570
{
76-
let cached_value: Option<String> = self.client.get(key).await?;
71+
let cached_value: Option<String> = self.client.get(key).await.unwrap();
7772

7873
match cached_value {
7974
Some(value) => {
80-
let result: T = serde_json::from_str(&value)?;
75+
let result: T = serde_json::from_str(&value).unwrap();
8176

82-
Ok(result)
77+
result
8378
}
8479
None => {
85-
let result = fn_compute().await?;
80+
let result = fn_compute().await;
8681

87-
let serialized = serde_json::to_string(&result)?;
82+
let serialized = serde_json::to_string(&result).unwrap();
8883
self.client
8984
.set_with_options(
9085
key,
@@ -93,9 +88,10 @@ impl Cache {
9388
SetExpiration::Ex(ttl),
9489
false,
9590
)
96-
.await?;
91+
.await
92+
.unwrap();
9793

98-
Ok(result)
94+
result
9995
}
10096
}
10197
}

src/routes/extensions/_extension_/mod.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,18 @@ mod index {
2020
let extension = state
2121
.cache
2222
.cached(&format!("extensions::{}", extension), 300, || async {
23-
Ok(match extension.parse::<u32>() {
24-
Ok(id) => Extension::by_id(&state.database, id as i32).await,
23+
match extension.parse::<i32>() {
24+
Ok(id) => {
25+
if id < 1 {
26+
None
27+
} else {
28+
Extension::by_id(&state.database, id).await
29+
}
30+
}
2531
Err(_) => Extension::by_identifier(&state.database, &extension).await,
26-
})
32+
}
2733
})
28-
.await
29-
.unwrap();
34+
.await;
3035

3136
if extension.is_none() {
3237
return (

src/routes/extensions/_extension_/versions.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,18 @@ mod index {
2020
let extension = state
2121
.cache
2222
.cached(&format!("extensions::{}", extension), 300, || async {
23-
Ok(match extension.parse::<u32>() {
24-
Ok(id) => Extension::by_id(&state.database, id as i32).await,
23+
match extension.parse::<i32>() {
24+
Ok(id) => {
25+
if id < 1 {
26+
None
27+
} else {
28+
Extension::by_id(&state.database, id).await
29+
}
30+
}
2531
Err(_) => Extension::by_identifier(&state.database, &extension).await,
26-
})
32+
}
2733
})
28-
.await
29-
.unwrap();
34+
.await;
3035

3136
if extension.is_none() {
3237
return (

src/routes/extensions/mod.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,9 @@ mod index {
1313
let data = state
1414
.cache
1515
.cached("extensions::all", 300, || async {
16-
Extension::all(&state.database)
17-
.await
18-
.map_err(|e| Box::new(e) as Box<dyn std::error::Error>)
16+
Extension::all(&state.database).await.unwrap()
1917
})
20-
.await
21-
.unwrap();
18+
.await;
2219

2320
axum::Json(serde_json::to_value(data).unwrap())
2421
}

src/routes/stats/flags.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,9 @@ mod get {
6161
);
6262
}
6363

64-
Ok(flags)
64+
flags
6565
})
66-
.await
67-
.unwrap();
66+
.await;
6867

6968
axum::Json(serde_json::to_value(flags).unwrap())
7069
}

src/routes/stats/panels.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ mod get {
5151
.await
5252
.unwrap();
5353

54-
Ok(Response {
54+
Response {
5555
total: data.total_panels.unwrap(),
5656
docker: data.docker_panels.unwrap(),
5757
standalone: data.total_panels.unwrap() - data.docker_panels.unwrap(),
@@ -61,10 +61,9 @@ mod get {
6161
max: data.max_extensions.unwrap(),
6262
average: (data.avg_extensions.unwrap() * 100.0).round() / 100.0,
6363
},
64-
})
64+
}
6565
})
66-
.await
67-
.unwrap();
66+
.await;
6867

6968
axum::Json(serde_json::to_value(response).unwrap())
7069
}

src/routes/stats/versions.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,9 @@ mod get {
5454
);
5555
}
5656

57-
Ok(versions)
57+
versions
5858
})
59-
.await
60-
.unwrap();
59+
.await;
6160

6261
axum::Json(serde_json::to_value(versions).unwrap())
6362
}

0 commit comments

Comments
 (0)