refactor: 重构代码引入Token结构体并优化数据结构
- 重构代码以引入 Token 结构体并实现 Deref trait,同时优化相关数据结构的定义和位置。
This commit is contained in:
40
src/main.rs
40
src/main.rs
@@ -6,7 +6,7 @@ use axum::{
|
|||||||
};
|
};
|
||||||
use chrono::{prelude::*, Duration, ParseError};
|
use chrono::{prelude::*, Duration, ParseError};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::{env, sync::Arc};
|
use std::{env, ops::Deref, sync::Arc};
|
||||||
use welds::prelude::*;
|
use welds::prelude::*;
|
||||||
|
|
||||||
mod db;
|
mod db;
|
||||||
@@ -259,21 +259,39 @@ fn add_day(t: &str, days: i64) -> Result<String, ParseError> {
|
|||||||
Ok(new_time.format("%Y-%m-%d %H:%M:%S").to_string())
|
Ok(new_time.format("%Y-%m-%d %H:%M:%S").to_string())
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize)]
|
|
||||||
struct CreateToken {
|
|
||||||
project: String,
|
|
||||||
device_id: String,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
struct AppState {
|
struct AppState {
|
||||||
db: Arc<db::Db>,
|
db: Arc<db::Db>,
|
||||||
generator: Arc<generate::TokenGenerator>,
|
generator: Arc<generate::TokenGenerator>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Deserialize)]
|
||||||
|
struct CreateToken {
|
||||||
|
project: String,
|
||||||
|
device_id: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Deserialize, Debug, Clone)]
|
||||||
|
struct Token(String);
|
||||||
|
|
||||||
|
// 让 Token 可以像 &str 一样使用
|
||||||
|
impl Deref for Token {
|
||||||
|
type Target = str;
|
||||||
|
|
||||||
|
fn deref(&self) -> &Self::Target {
|
||||||
|
&self.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Deserialize)]
|
#[derive(Deserialize)]
|
||||||
struct VerifyToken {
|
struct VerifyToken {
|
||||||
token: String,
|
token: Token,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Deserialize)]
|
||||||
|
struct RenewalToken {
|
||||||
|
token: Token,
|
||||||
|
days: i64,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize)]
|
#[derive(Serialize)]
|
||||||
@@ -314,9 +332,3 @@ struct CreateTokenInfo {
|
|||||||
token: String,
|
token: String,
|
||||||
msg: String,
|
msg: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize)]
|
|
||||||
struct RenewalToken {
|
|
||||||
token: String,
|
|
||||||
days: i64,
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user