ci: fix warning

This commit is contained in:
nathan 2023-03-16 21:16:46 +08:00
parent 0ce76c5a89
commit 648ec41cf3
11 changed files with 20 additions and 38 deletions

View File

@ -34,7 +34,7 @@ futures-util = "0.3.26"
async-stream = "0.3.4" async-stream = "0.3.4"
config = { version = "0.13.3", default-features = false, features = ["yaml"] } config = { version = "0.13.3", default-features = false, features = ["yaml"] }
once_cell = "1.13.0" once_cell = "1.13.0"
chrono = { version = "0.4.23", features = ["serde"] } chrono = { version = "0.4.23", features = ["serde", "clock"] }
derive_more = { version = "0.99" } derive_more = { version = "0.99" }
uuid = { version = "1", features = ["v4", "serde"] } uuid = { version = "1", features = ["v4", "serde"] }
argon2 = { version = "0.5", features = ["std"] } argon2 = { version = "0.5", features = ["std"] }

View File

@ -50,7 +50,7 @@ impl RevDB {
items.for_each(|(key, value)| { items.for_each(|(key, value)| {
batch.insert(key.as_ref(), value); batch.insert(key.as_ref(), value);
}); });
let _ = self.db.apply_batch(batch)?; self.db.apply_batch(batch)?;
Ok(()) Ok(())
} }
} }

View File

@ -15,7 +15,7 @@ impl<'a> Document<'a> {
value: DocumentRevData, value: DocumentRevData,
) -> Result<(), RevDBError> { ) -> Result<(), RevDBError> {
let key = make_document_key(uid, document_id, value.rev_id); let key = make_document_key(uid, document_id, value.rev_id);
let _ = self.db.insert(key, &value.to_vec()?)?; self.db.insert(key, &value.to_vec()?)?;
Ok(()) Ok(())
} }

View File

@ -19,6 +19,7 @@ fn insert_text() {
assert_eq!(value.content, restored_data.content); assert_eq!(value.content, restored_data.content);
} }
//noinspection RsExternalLinter
#[test] #[test]
fn insert_multi_text() { fn insert_multi_text() {
let db = make_test_db(); let db = make_test_db();
@ -51,6 +52,7 @@ fn insert_multi_text() {
assert_eq!(expected_str, restored_str); assert_eq!(expected_str, restored_str);
} }
//noinspection RsExternalLinter
fn insert_100_string_to_document(uid: i64, document_id: i64, document: &Document) { fn insert_100_string_to_document(uid: i64, document_id: i64, document: &Document) {
let mut base_rev_id = 0; let mut base_rev_id = 0;
for i in 0..=100 { for i in 0..=100 {

View File

@ -7,7 +7,7 @@ edition = "2021"
[dependencies] [dependencies]
serde = { version = "1.0", features = ["derive"] } serde = { version = "1.0", features = ["derive"] }
chrono = { version = "0.4.19", features = ["serde"] } chrono = { version = "0.4.22", features = ["serde", "clock"] }
jwt = "0.16.0" jwt = "0.16.0"
thiserror = "1.0.30" thiserror = "1.0.30"
hmac = "0.12.1" hmac = "0.12.1"

View File

@ -25,7 +25,7 @@ async fn login_handler(
) -> Result<HttpResponse> { ) -> Result<HttpResponse> {
let req = req.into_inner(); let req = req.into_inner();
let email = UserEmail::parse(req.email) let email = UserEmail::parse(req.email)
.map_err(|e| InputParamsError::InvalidEmail(e))? .map_err(InputParamsError::InvalidEmail)?
.0; .0;
let password = UserPassword::parse(req.password) let password = UserPassword::parse(req.password)
.map_err(|_| InputParamsError::InvalidPassword)? .map_err(|_| InputParamsError::InvalidPassword)?
@ -52,10 +52,10 @@ async fn logout_handler(req: HttpRequest, state: Data<State>) -> Result<HttpResp
async fn register_handler(req: Json<RegisterRequest>, state: Data<State>) -> Result<HttpResponse> { async fn register_handler(req: Json<RegisterRequest>, state: Data<State>) -> Result<HttpResponse> {
let req = req.into_inner(); let req = req.into_inner();
let name = UserName::parse(req.name) let name = UserName::parse(req.name)
.map_err(|e| InputParamsError::InvalidName(e))? .map_err(InputParamsError::InvalidName)?
.0; .0;
let email = UserEmail::parse(req.email) let email = UserEmail::parse(req.email)
.map_err(|e| InputParamsError::InvalidEmail(e))? .map_err(InputParamsError::InvalidEmail)?
.0; .0;
let password = UserPassword::parse(req.password) let password = UserPassword::parse(req.password)
.map_err(|_| InputParamsError::InvalidPassword)? .map_err(|_| InputParamsError::InvalidPassword)?

View File

@ -54,7 +54,7 @@ pub async fn run(
let key = pair let key = pair
.as_ref() .as_ref()
.map(|(_, server_key)| Key::from(server_key.expose_secret().as_bytes())) .map(|(_, server_key)| Key::from(server_key.expose_secret().as_bytes()))
.unwrap_or(Key::generate()); .unwrap_or_else(Key::generate);
let mut server = HttpServer::new(move || { let mut server = HttpServer::new(move || {
App::new() App::new()
// Session middleware // Session middleware

View File

@ -35,7 +35,7 @@ pub async fn login(
state.user.write().await.authorized(logged_user); state.user.write().await.authorized(logged_user);
Ok(( Ok((
LoginResponse { LoginResponse {
token: token.clone().into(), token: token.0.clone(),
uid: uid.to_string(), uid: uid.to_string(),
}, },
Secret::new(token), Secret::new(token),
@ -99,7 +99,7 @@ pub async fn register(
state.user.write().await.authorized(logged_user); state.user.write().await.authorized(logged_user);
Ok(RegisterResponse { Ok(RegisterResponse {
token: token.into(), token: token.0.clone(),
}) })
} }
@ -209,13 +209,8 @@ pub struct ChangePasswordRequest {
pub new_password_confirm: String, pub new_password_confirm: String,
} }
#[derive(Clone)] #[derive(Clone, Default)]
pub struct WrapI64(i64); pub struct WrapI64(i64);
impl Default for WrapI64 {
fn default() -> Self {
Self(0)
}
}
impl Copy for WrapI64 {} impl Copy for WrapI64 {}
impl DefaultIsZeroes for WrapI64 {} impl DefaultIsZeroes for WrapI64 {}
impl DebugSecret for WrapI64 {} impl DebugSecret for WrapI64 {}
@ -323,15 +318,3 @@ pub fn uid_from_request(
None => Err(AuthError::Unauthorized), None => Err(AuthError::Unauthorized),
} }
} }
impl From<String> for Token {
fn from(val: String) -> Self {
Self(val)
}
}
impl Into<String> for Token {
fn into(self) -> String {
self.0
}
}

View File

@ -1,13 +1,9 @@
use crate::component::ws::entities::{Connect, Disconnect, WSError, WebSocketMessage}; use crate::component::ws::entities::{Connect, Disconnect, WSError, WebSocketMessage};
use actix::{Actor, Context, Handler}; use actix::{Actor, Context, Handler};
#[derive(Default)]
pub struct WSServer {} pub struct WSServer {}
impl std::default::Default for WSServer {
fn default() -> Self {
Self {}
}
}
impl WSServer { impl WSServer {
pub fn new() -> Self { pub fn new() -> Self {
WSServer::default() WSServer::default()

View File

@ -1,2 +1,3 @@
#![allow(clippy::module_inception)]
pub mod config; pub mod config;
pub mod env; pub mod env;

View File

@ -13,8 +13,8 @@ async fn change_password_with_unmatched_password() {
.change_password( .change_password(
token, token,
&test_user.password, &test_user.password,
&new_password, new_password,
&new_password_confirm, new_password_confirm,
) )
.await; .await;
assert_eq!(http_resp.status(), StatusCode::BAD_REQUEST); assert_eq!(http_resp.status(), StatusCode::BAD_REQUEST);
@ -28,7 +28,7 @@ async fn login_fail_after_change_password() {
let new_password = "HelloWorld@1a"; let new_password = "HelloWorld@1a";
let http_resp = server let http_resp = server
.change_password(token, &test_user.password, &new_password, &new_password) .change_password(token, &test_user.password, new_password, new_password)
.await; .await;
assert_eq!(http_resp.status(), StatusCode::OK); assert_eq!(http_resp.status(), StatusCode::OK);
@ -44,10 +44,10 @@ async fn login_success_with_new_password() {
let new_password = "HelloWorld@1a"; let new_password = "HelloWorld@1a";
let http_resp = server let http_resp = server
.change_password(token, &test_user.password, &new_password, &new_password) .change_password(token, &test_user.password, new_password, new_password)
.await; .await;
assert_eq!(http_resp.status(), StatusCode::OK); assert_eq!(http_resp.status(), StatusCode::OK);
let http_resp = server.login(&test_user.email, &new_password).await; let http_resp = server.login(&test_user.email, new_password).await;
assert_eq!(http_resp.status(), StatusCode::OK); assert_eq!(http_resp.status(), StatusCode::OK);
} }