1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//! # Reinhardt Views
//!
//! Generic views for Reinhardt framework, inspired by Django's class-based views.
//!
//! ## Features
//!
//! - **ListView**: Display a list of objects with pagination support
//! - **DetailView**: Display a single object
//! - **CreateView**: Handle object creation
//! - **UpdateView**: Handle object updates
//! - **DeleteView**: Handle object deletion
//! - **Browsable API**: HTML rendering for interactive API exploration
//! - **Interactive Docs**: Swagger UI-like documentation interface
//! - **Form Generation**: Automatic form generation for POST/PUT/PATCH methods
//! - **Syntax Highlighting**: JSON response highlighting with customizable color schemes
//!
//! ## Example
//!
//! ```rust,ignore
//! use reinhardt_views::{ListView, DetailView};
//! # use reinhardt_http::{Request, Response};
//! # use reinhardt_core::exception::Error;
//!
//! # #[derive(Debug, Clone)]
//! # struct User {
//! # id: Option<i64>,
//! # username: String,
//! # email: String,
//! # }
//!
//! // Create a ListView to display paginated users
//! let list_view = ListView::<User>::new()
//! .with_paginate_by(10)
//! .with_ordering(vec!["-id".to_string()]);
//!
//! // Create a DetailView to display a single user
//! let detail_view = DetailView::<User>::new()
//! .with_context_object_name("user");
//!
//! // Use the views in request handlers
//! # async fn handle_list(request: Request) -> Result<Response, Error> {
//! # list_view.dispatch(request).await
//! # }
//! #
//! # async fn handle_detail(request: Request) -> Result<Response, Error> {
//! # detail_view.dispatch(request).await
//! # }
//! ```
// Module declarations from merged views-core
// Module declarations
// Re-export public API
pub use ;
pub use DetailView;
pub use ListView;
pub use ;
// Re-export viewsets commonly used types at crate root
pub use ;
// Re-export Generic API Views
pub use ;