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 serde::{Deserialize, Serialize};
|
||||
use std::{env, sync::Arc};
|
||||
use std::{env, ops::Deref, sync::Arc};
|
||||
use welds::prelude::*;
|
||||
|
||||
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())
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct CreateToken {
|
||||
project: String,
|
||||
device_id: String,
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
struct AppState {
|
||||
db: Arc<db::Db>,
|
||||
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)]
|
||||
struct VerifyToken {
|
||||
token: String,
|
||||
token: Token,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct RenewalToken {
|
||||
token: Token,
|
||||
days: i64,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
@@ -314,9 +332,3 @@ struct CreateTokenInfo {
|
||||
token: String,
|
||||
msg: String,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct RenewalToken {
|
||||
token: String,
|
||||
days: i64,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user