1mod api_mode;
2mod auth_controller;
3mod routes;
4
5use doido_auth_route_dsl::{expand_auth_route_decls, expand_auth_routes};
6use proc_macro::TokenStream;
7
8#[proc_macro]
10pub fn auth_routes(input: TokenStream) -> TokenStream {
11 expand_auth_routes(input.into(), api_mode::api_only()).into()
12}
13
14#[proc_macro]
16pub fn __auth_routes_decl(input: TokenStream) -> TokenStream {
17 expand_auth_route_decls(input.into(), api_mode::api_only()).into()
18}
19
20#[proc_macro_attribute]
23pub fn auth_controller(attr: TokenStream, item: TokenStream) -> TokenStream {
24 match auth_controller::expand_auth_controller(attr.into(), item.into()) {
25 Ok(ts) => ts.into(),
26 Err(e) => e.to_compile_error().into(),
27 }
28}
29
30#[proc_macro]
32pub fn routes(input: TokenStream) -> TokenStream {
33 routes::expand_routes(input.into(), api_mode::api_only()).into()
34}