1use proc_macro::TokenStream;
7
8mod routing;
9mod utils;
10
11#[allow(dead_code)]
12mod validation;
13
14#[proc_macro_attribute]
18pub fn rest_controller(_args: TokenStream, input: TokenStream) -> TokenStream {
19 utils::rest_controller(input)
20}
21
22#[proc_macro_attribute]
24pub fn get(args: TokenStream, input: TokenStream) -> TokenStream {
25 routing::get(args, input)
26}
27
28#[proc_macro_attribute]
30pub fn post(args: TokenStream, input: TokenStream) -> TokenStream {
31 routing::post(args, input)
32}
33
34#[proc_macro_attribute]
36pub fn put(args: TokenStream, input: TokenStream) -> TokenStream {
37 routing::put(args, input)
38}
39
40#[proc_macro_attribute]
42pub fn delete(args: TokenStream, input: TokenStream) -> TokenStream {
43 routing::delete(args, input)
44}
45
46#[proc_macro_attribute]
48pub fn patch(args: TokenStream, input: TokenStream) -> TokenStream {
49 routing::patch(args, input)
50}
51
52#[proc_macro_derive(NovaRequest)]
54pub fn request_model(input: TokenStream) -> TokenStream {
55 utils::request_model(input)
56}
57
58#[proc_macro_derive(NovaResponse)]
60pub fn response_model(input: TokenStream) -> TokenStream {
61 utils::response_model(input)
62}