Skip to content

Commit 850314d

Browse files
committed
chore: lint
1 parent 5171d1e commit 850314d

File tree

6 files changed

+99
-89
lines changed

6 files changed

+99
-89
lines changed

api/src/api/changes.rs

+55-47
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,49 @@
11
// Copyright 2024 the JSR authors. All rights reserved. MIT license.
22
use hyper::{Body, Request};
33
use routerify::prelude::*;
4-
use serde::{Serialize, Deserialize}; // 添加 Deserialize
4+
use serde::{Deserialize, Serialize};
55
use tracing::instrument;
66

77
use crate::{
8-
db::{Change, Database},
9-
util::{pagination, ApiResult},
8+
db::{Change, Database},
9+
util::{pagination, ApiResult},
1010
};
1111

12-
#[derive(Serialize, Deserialize)] // 添加 Deserialize
12+
#[derive(Serialize, Deserialize)]
1313
pub struct ApiChange {
14-
pub seq: i64,
15-
pub r#type: String,
16-
pub id: String,
17-
pub changes: serde_json::Value,
14+
pub seq: i64,
15+
pub r#type: String,
16+
pub id: String,
17+
pub changes: serde_json::Value,
1818
}
1919

2020
impl From<Change> for ApiChange {
21-
fn from(change: Change) -> Self {
22-
Self {
23-
seq: change.seq,
24-
r#type: change.change_type.to_string(),
25-
id: format!("@jsr/{}__{}", change.scope_name, change.package_name),
26-
changes: serde_json::from_str(&change.data).unwrap(),
27-
}
21+
fn from(change: Change) -> Self {
22+
Self {
23+
seq: change.seq,
24+
r#type: change.change_type.to_string(),
25+
id: format!("@jsr/{}__{}", change.scope_name, change.package_name),
26+
changes: serde_json::from_str(&change.data).unwrap(),
2827
}
28+
}
2929
}
3030

3131
#[instrument(name = "GET /api/_changes", skip(req), err)]
3232
pub async fn list_changes(req: Request<Body>) -> ApiResult<Vec<ApiChange>> {
33-
let db = req.data::<Database>().unwrap();
34-
let (start, limit) = pagination(&req);
35-
let changes = db.list_changes(start, limit).await?;
36-
Ok(changes.into_iter().map(ApiChange::from).collect())
33+
let db = req.data::<Database>().unwrap();
34+
let (start, limit) = pagination(&req);
35+
let changes = db.list_changes(start, limit).await?;
36+
Ok(changes.into_iter().map(ApiChange::from).collect())
3737
}
3838

39-
4039
#[cfg(test)]
4140
mod tests {
4241
use super::ApiChange;
42+
use crate::db::ChangeType;
4343
use crate::ids::PackageName;
4444
use crate::ids::ScopeName;
4545
use crate::util::test::ApiResultExt;
4646
use crate::util::test::TestSetup;
47-
use crate::db::ChangeType;
4847
use serde_json::json;
4948

5049
#[tokio::test]
@@ -67,14 +66,17 @@ mod tests {
6766
async fn list_single_change() {
6867
let mut t = TestSetup::new().await;
6968

70-
t.ephemeral_database.create_change(
71-
ChangeType::PackageVersionAdded,
72-
&ScopeName::new("test-scope".to_string()).unwrap(),
73-
&PackageName::new("test-package".to_string()).unwrap(),
74-
json!({
75-
"version": "1.0.0"
76-
}),
77-
).await.unwrap();
69+
t.ephemeral_database
70+
.create_change(
71+
ChangeType::PackageVersionAdded,
72+
&ScopeName::new("test-scope".to_string()).unwrap(),
73+
&PackageName::new("test-package".to_string()).unwrap(),
74+
json!({
75+
"version": "1.0.0"
76+
}),
77+
)
78+
.await
79+
.unwrap();
7880

7981
let changes = t
8082
.http()
@@ -97,23 +99,29 @@ mod tests {
9799
let mut t = TestSetup::new().await;
98100

99101
// Create two changes
100-
t.ephemeral_database.create_change(
101-
ChangeType::PackageVersionAdded,
102-
&ScopeName::new("test-scope".to_string()).unwrap(),
103-
&PackageName::new("test-package-1".to_string()).unwrap(),
104-
json!({
105-
"name": "test-package-1",
106-
}),
107-
).await.unwrap();
108-
109-
t.ephemeral_database.create_change(
110-
ChangeType::PackageVersionAdded,
111-
&ScopeName::new("test-scope".to_string()).unwrap(),
112-
&PackageName::new("test-package-2".to_string()).unwrap(),
113-
json!({
114-
"version": "1.0.0",
115-
}),
116-
).await.unwrap();
102+
t.ephemeral_database
103+
.create_change(
104+
ChangeType::PackageVersionAdded,
105+
&ScopeName::new("test-scope".to_string()).unwrap(),
106+
&PackageName::new("test-package-1".to_string()).unwrap(),
107+
json!({
108+
"name": "test-package-1",
109+
}),
110+
)
111+
.await
112+
.unwrap();
113+
114+
t.ephemeral_database
115+
.create_change(
116+
ChangeType::PackageVersionAdded,
117+
&ScopeName::new("test-scope".to_string()).unwrap(),
118+
&PackageName::new("test-package-2".to_string()).unwrap(),
119+
json!({
120+
"version": "1.0.0",
121+
}),
122+
)
123+
.await
124+
.unwrap();
117125

118126
// Test limit parameter
119127
let changes = t
@@ -131,7 +139,7 @@ mod tests {
131139
// Test since parameter
132140
let changes = t
133141
.http()
134-
.get(&format!("/api/_changes?since={}", changes[0].seq))
142+
.get(format!("/api/_changes?since={}", changes[0].seq))
135143
.call()
136144
.await
137145
.unwrap()

api/src/api/mod.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
11
// Copyright 2024 the JSR authors. All rights reserved. MIT license.
22
mod admin;
33
mod authorization;
4+
mod changes;
45
mod errors;
56
mod package;
67
mod publishing_task;
78
mod scope;
89
mod self_user;
910
mod types;
1011
mod users;
11-
mod changes;
12-
1312

13+
use changes::list_changes;
1414
use hyper::Body;
1515
use hyper::Response;
1616
use package::global_list_handler;
1717
use package::global_metrics_handler;
1818
use package::global_stats_handler;
19-
use changes::list_changes;
2019
use routerify::Middleware;
2120
use routerify::Router;
2221

api/src/db/database.rs

+11-12
Original file line numberDiff line numberDiff line change
@@ -56,16 +56,15 @@ impl Database {
5656
.await
5757
}
5858

59-
6059
#[instrument(name = "Database::list_changes", skip(self), err)]
6160
pub async fn list_changes(
62-
&self,
63-
since: i64,
64-
limit: i64,
61+
&self,
62+
since: i64,
63+
limit: i64,
6564
) -> Result<Vec<Change>> {
66-
sqlx::query_as!(
67-
Change,
68-
r#"
65+
sqlx::query_as!(
66+
Change,
67+
r#"
6968
SELECT
7069
seq,
7170
change_type as "change_type: ChangeType",
@@ -78,11 +77,11 @@ impl Database {
7877
ORDER BY seq ASC
7978
LIMIT $2
8079
"#,
81-
since,
82-
limit
83-
)
84-
.fetch_all(&self.pool)
85-
.await
80+
since,
81+
limit
82+
)
83+
.fetch_all(&self.pool)
84+
.await
8685
}
8786

8887
#[instrument(name = "Database::create_change", skip(self), err)]

api/src/db/models.rs

+17-18
Original file line numberDiff line numberDiff line change
@@ -829,34 +829,33 @@ impl sqlx::postgres::PgHasArrayType for DownloadKind {
829829
#[sqlx(type_name = "change_type", rename_all = "SCREAMING_SNAKE_CASE")]
830830
#[serde(rename_all = "snake_case")]
831831
pub enum ChangeType {
832-
833-
PackageVersionAdded,
834-
PackageTagAdded,
832+
PackageVersionAdded,
833+
PackageTagAdded,
835834
}
836835

837836
impl std::fmt::Display for ChangeType {
838-
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
839-
match self {
840-
Self::PackageVersionAdded => write!(f, "PACKAGE_VERSION_ADDED"),
841-
Self::PackageTagAdded => write!(f, "PACKAGE_TAG_ADDED"),
842-
}
837+
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
838+
match self {
839+
Self::PackageVersionAdded => write!(f, "PACKAGE_VERSION_ADDED"),
840+
Self::PackageTagAdded => write!(f, "PACKAGE_TAG_ADDED"),
843841
}
842+
}
844843
}
845844

846845
#[derive(Debug, Clone)]
847846
pub struct Change {
848-
pub seq: i64,
849-
pub change_type: ChangeType,
850-
pub scope_name: ScopeName,
851-
pub package_name: PackageName,
852-
pub data: String,
853-
pub created_at: DateTime<Utc>,
847+
pub seq: i64,
848+
pub change_type: ChangeType,
849+
pub scope_name: ScopeName,
850+
pub package_name: PackageName,
851+
pub data: String,
852+
pub created_at: DateTime<Utc>,
854853
}
855854

856855
#[derive(Debug)]
857856
pub struct NewChange<'s> {
858-
pub change_type: ChangeType,
859-
pub scope_name: &'s ScopeName,
860-
pub package_name: &'s PackageName,
861-
pub data: &'s str,
857+
pub change_type: ChangeType,
858+
pub scope_name: &'s ScopeName,
859+
pub package_name: &'s PackageName,
860+
pub data: &'s str,
862861
}

api/src/publish.rs

+11-8
Original file line numberDiff line numberDiff line change
@@ -242,14 +242,17 @@ async fn process_publishing_task(
242242
let version = publishing_task.package_version.clone();
243243

244244
async move {
245-
if let Err(e) = db.create_change(
246-
ChangeType::PackageVersionAdded,
247-
&scope,
248-
&name,
249-
serde_json::json!({
250-
"version": version.to_string(),
251-
}),
252-
).await {
245+
if let Err(e) = db
246+
.create_change(
247+
ChangeType::PackageVersionAdded,
248+
&scope,
249+
&name,
250+
serde_json::json!({
251+
"version": version.to_string(),
252+
}),
253+
)
254+
.await
255+
{
253256
error!("Failed to create change record: {}", e);
254257
}
255258
}

api/src/util.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,9 @@ pub fn pagination(req: &Request<Body>) -> (i64, i64) {
284284
.unwrap_or(100)
285285
.clamp(1, 100);
286286

287-
let start = if let Some(since) = req.query("since").and_then(|s| s.parse::<i64>().ok()) {
287+
let start = if let Some(since) =
288+
req.query("since").and_then(|s| s.parse::<i64>().ok())
289+
{
288290
since
289291
} else {
290292
let page = req

0 commit comments

Comments
 (0)