移除冗余代码
This commit is contained in:
parent
f8a25bae5e
commit
e9fd606dbd
@ -21,6 +21,11 @@ pub fn responsable(input: TokenStream) -> TokenStream {
|
|||||||
responsable::gen_responsable(input)
|
responsable::gen_responsable(input)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[proc_macro_attribute]
|
||||||
|
pub fn route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
||||||
|
route::gen_route(attr, item)
|
||||||
|
}
|
||||||
|
|
||||||
#[proc_macro_attribute]
|
#[proc_macro_attribute]
|
||||||
pub fn get(attr: TokenStream, item: TokenStream) -> TokenStream {
|
pub fn get(attr: TokenStream, item: TokenStream) -> TokenStream {
|
||||||
route::gen_get_route(attr, item)
|
route::gen_get_route(attr, item)
|
||||||
|
@ -25,18 +25,8 @@ impl Parse for Args {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Args {
|
impl Args {
|
||||||
pub fn get_method(&self) -> syn::Result<syn::Expr> {
|
pub fn get_arg(&self, index: usize) -> syn::Result<syn::Expr> {
|
||||||
match self.vars.get(0) {
|
match self.vars.get(index) {
|
||||||
Some(var) => Ok(var.clone()),
|
|
||||||
None => return Err(syn::Error::new(
|
|
||||||
Span::call_site().into(),
|
|
||||||
"No Method was provided"
|
|
||||||
))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn get_route(&self) -> syn::Result<syn::Expr> {
|
|
||||||
match self.vars.get(0) {
|
|
||||||
Some(var) => Ok(var.clone()),
|
Some(var) => Ok(var.clone()),
|
||||||
None => return Err(syn::Error::new(
|
None => return Err(syn::Error::new(
|
||||||
Span::call_site().into(),
|
Span::call_site().into(),
|
||||||
@ -54,8 +44,8 @@ pub fn gen_route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
|||||||
let vis = func.vis.clone();
|
let vis = func.vis.clone();
|
||||||
let ident = func.sig.ident.clone();
|
let ident = func.sig.ident.clone();
|
||||||
|
|
||||||
let method = args.get_method().unwrap();
|
let method = args.get_arg(0).unwrap();
|
||||||
let route = args.get_route().unwrap();
|
let route = args.get_arg(1).unwrap();
|
||||||
|
|
||||||
let expanded = quote! {
|
let expanded = quote! {
|
||||||
#[allow(non_camel_case_types)]
|
#[allow(non_camel_case_types)]
|
||||||
@ -80,7 +70,7 @@ pub fn gen_get_route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
|||||||
let vis = func.vis.clone();
|
let vis = func.vis.clone();
|
||||||
let ident = func.sig.ident.clone();
|
let ident = func.sig.ident.clone();
|
||||||
|
|
||||||
let route = args.get_route().unwrap();
|
let route = args.get_arg(0).unwrap();
|
||||||
|
|
||||||
let expanded = quote! {
|
let expanded = quote! {
|
||||||
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
||||||
@ -99,7 +89,7 @@ pub fn gen_post_route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
|||||||
let vis = func.vis.clone();
|
let vis = func.vis.clone();
|
||||||
let ident = func.sig.ident.clone();
|
let ident = func.sig.ident.clone();
|
||||||
|
|
||||||
let route = args.get_route().unwrap();
|
let route = args.get_arg(0).unwrap();
|
||||||
|
|
||||||
let expanded = quote! {
|
let expanded = quote! {
|
||||||
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
||||||
@ -118,7 +108,7 @@ pub fn gen_delete_route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
|||||||
let vis = func.vis.clone();
|
let vis = func.vis.clone();
|
||||||
let ident = func.sig.ident.clone();
|
let ident = func.sig.ident.clone();
|
||||||
|
|
||||||
let route = args.get_route().unwrap();
|
let route = args.get_arg(0).unwrap();
|
||||||
|
|
||||||
let expanded = quote! {
|
let expanded = quote! {
|
||||||
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
||||||
@ -137,7 +127,7 @@ pub fn gen_put_route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
|||||||
let vis = func.vis.clone();
|
let vis = func.vis.clone();
|
||||||
let ident = func.sig.ident.clone();
|
let ident = func.sig.ident.clone();
|
||||||
|
|
||||||
let route = args.get_route().unwrap();
|
let route = args.get_arg(0).unwrap();
|
||||||
|
|
||||||
let expanded = quote! {
|
let expanded = quote! {
|
||||||
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
||||||
@ -156,7 +146,7 @@ pub fn gen_option_route(attr: TokenStream, item: TokenStream) -> TokenStream {
|
|||||||
let vis = func.vis.clone();
|
let vis = func.vis.clone();
|
||||||
let ident = func.sig.ident.clone();
|
let ident = func.sig.ident.clone();
|
||||||
|
|
||||||
let route = args.get_route().unwrap();
|
let route = args.get_arg(0).unwrap();
|
||||||
|
|
||||||
let expanded = quote! {
|
let expanded = quote! {
|
||||||
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
#vis fn #ident () -> (&'static str, axum::routing::method_routing::MethodRouter) {
|
||||||
|
@ -6,11 +6,12 @@ pub mod feedback_controller;
|
|||||||
|
|
||||||
pub fn init() -> Router {
|
pub fn init() -> Router {
|
||||||
Router::new()
|
Router::new()
|
||||||
|
// 用户登录、用户管理相关路由
|
||||||
.typed_route(account_controller::authenticate_google)
|
.typed_route(account_controller::authenticate_google)
|
||||||
.typed_route(account_controller::authenticate_with_password)
|
.typed_route(account_controller::authenticate_with_password)
|
||||||
.typed_route(account_controller::refresh_token)
|
.typed_route(account_controller::refresh_token)
|
||||||
|
// 反馈相关路由
|
||||||
.typed_route(feedback_controller::add_feedback)
|
.typed_route(feedback_controller::add_feedback)
|
||||||
.typed_route(feedback_controller::get_feedback_list_by_page)
|
.typed_route(feedback_controller::get_feedback_list_by_page)
|
||||||
.typed_route(feedback_controller::get_feedback_list)
|
.typed_route(feedback_controller::get_feedback_list)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user