chimes_rust/handler/
chimes_log_info.rs1use crate::entity::ChimesLogInfo;
2use actix_web::{web, HttpResponse, Result};
3use chimes_auth::ApiResult;
4use chimes_utils::get_rbatis;
5use rbatis::Page;
9
10#[post("/api/v1/logs/save")]
11pub async fn logs_save(req: web::Json<ChimesLogInfo>) -> Result<HttpResponse> {
12 let rb = get_rbatis();
13 let mut val = req.to_owned();
14 val.create_time = Some(rbatis::DateTimeNative::now());
15 match val.save(rb).await {
16 Ok(_st) => {
17 let ret: web::Json<ApiResult<ChimesLogInfo>> = web::Json(ApiResult::ok(val));
18 Ok(HttpResponse::Ok().json(ret))
19 }
20 Err(err) => {
21 let ret: web::Json<ApiResult<ChimesLogInfo>> =
22 web::Json(ApiResult::error(5010, &err.to_string()));
23 Ok(HttpResponse::Ok().json(ret))
24 }
25 }
26}
27
28#[post("/api/v1/logs/update")]
29async fn logs_update(req: web::Json<ChimesLogInfo>) -> Result<HttpResponse> {
30 let rb = get_rbatis();
31 let val = req.to_owned();
32 match val.update_selective(rb).await {
33 Ok(_st) => {
34 let ret: web::Json<ApiResult<ChimesLogInfo>> = web::Json(ApiResult::ok(val));
35 Ok(HttpResponse::Ok().json(ret))
36 }
37 Err(err) => {
38 let ret: web::Json<ApiResult<ChimesLogInfo>> =
39 web::Json(ApiResult::error(5010, &err.to_string()));
40 Ok(HttpResponse::Ok().json(ret))
41 }
42 }
43}
44
45#[post("/api/v1/logs/delete")]
46pub async fn logs_delete(req: web::Json<ChimesLogInfo>) -> Result<HttpResponse> {
47 let rb = get_rbatis();
48 let mut val = req.to_owned();
49 match val.remove(rb).await {
50 Ok(_st) => {
51 let ret: web::Json<ApiResult<ChimesLogInfo>> = web::Json(ApiResult::ok(val));
52 Ok(HttpResponse::Ok().json(ret))
53 }
54 Err(err) => {
55 let ret: web::Json<ApiResult<ChimesLogInfo>> =
56 web::Json(ApiResult::error(5010, &err.to_string()));
57 Ok(HttpResponse::Ok().json(ret))
58 }
59 }
60}
61
62#[post("/api/v1/logs/delete_ids")]
63pub async fn logs_delete_ids(req: web::Json<Vec<i64>>) -> Result<HttpResponse> {
64 let rb = get_rbatis();
65 let ids = req.as_slice();
66 match ChimesLogInfo::remove_ids(rb, ids).await {
67 Ok(st) => {
68 let ret: web::Json<ApiResult<u64>> = web::Json(ApiResult::ok(st));
69 Ok(HttpResponse::Ok().json(ret))
70 }
71 Err(err) => {
72 let ret: web::Json<ApiResult<u64>> =
73 web::Json(ApiResult::error(5010, &err.to_string()));
74 Ok(HttpResponse::Ok().json(ret))
75 }
76 }
77}
78
79#[post("/api/v1/logs/search")]
80pub async fn logs_search(req: web::Json<ChimesLogInfo>) -> Result<HttpResponse> {
81 let rb = get_rbatis();
82 let val = req.to_owned();
83 match val.query_list(rb).await {
84 Ok(st) => {
85 let ret: web::Json<ApiResult<Vec<ChimesLogInfo>>> = web::Json(ApiResult::ok(st));
86 Ok(HttpResponse::Ok().json(ret))
87 }
88 Err(err) => {
89 let ret: web::Json<ApiResult<Vec<ChimesLogInfo>>> =
90 web::Json(ApiResult::error(5010, &err.to_string()));
91 Ok(HttpResponse::Ok().json(ret))
92 }
93 }
94}
95
96#[post("/api/v1/logs/paged/{current}/{size}")]
97pub async fn logs_paged(
98 req: web::Json<ChimesLogInfo>,
99 path_param: web::Path<(u64, u64)>,
100) -> Result<HttpResponse> {
101 let rb = get_rbatis();
102 let val = req.to_owned();
103 let (current, size) = path_param.into_inner();
104 match val.query_paged(rb, current, size).await {
105 Ok(st) => {
106 let ret: web::Json<ApiResult<Page<ChimesLogInfo>>> = web::Json(ApiResult::ok(st));
107 Ok(HttpResponse::Ok().json(ret))
108 }
109 Err(err) => {
110 let ret: web::Json<ApiResult<Page<ChimesLogInfo>>> =
111 web::Json(ApiResult::error(5010, &err.to_string()));
112 Ok(HttpResponse::Ok().json(ret))
113 }
114 }
115}
116
117#[get("/api/v1/logs/get/{id}")]
118pub async fn logs_get(log_id_req: web::Path<i64>) -> Result<HttpResponse> {
119 let rb = get_rbatis();
120 let log_id = log_id_req.to_owned();
121 match ChimesLogInfo::from_id(rb, &log_id).await {
122 Ok(st) => match st {
123 Some(tv) => {
124 let ret: web::Json<ApiResult<ChimesLogInfo>> = web::Json(ApiResult::ok(tv));
125 Ok(HttpResponse::Ok().json(ret))
126 }
127 None => {
128 let ret: web::Json<ApiResult<ChimesLogInfo>> =
129 web::Json(ApiResult::error(5040, &"Not-Found".to_string()));
130 Ok(HttpResponse::Ok().json(ret))
131 }
132 },
133 Err(err) => {
134 let ret: web::Json<ApiResult<ChimesLogInfo>> =
135 web::Json(ApiResult::error(5010, &err.to_string()));
136 Ok(HttpResponse::Ok().json(ret))
137 }
138 }
139}