chimes_rust/handler/
chimes_log_info.rs

1use crate::entity::ChimesLogInfo;
2use actix_web::{web, HttpResponse, Result};
3use chimes_auth::ApiResult;
4use chimes_utils::get_rbatis;
5/**
6 * Generate the file for chimes_log_info.rs,
7 */
8use 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}