chimes_rust/handler/
chimes_user_roles.rs1use crate::entity::ChimesUserRoles;
2use actix_web::{web, HttpResponse, Result};
3use chimes_auth::ApiResult;
4use chimes_utils::get_rbatis;
8
9#[get("/api/v1/user_roles/load/{user_id}")]
10pub async fn user_roles_rel_load(user_id: web::Path<i64>) -> Result<HttpResponse> {
11 let rb = get_rbatis();
12 match ChimesUserRoles::load(rb, &user_id).await {
13 Ok(st) => {
14 let ret: web::Json<ApiResult<Option<ChimesUserRoles>>> = web::Json(ApiResult::ok(st));
15 Ok(HttpResponse::Ok().json(ret))
16 }
17 Err(err) => {
18 let ret: web::Json<ApiResult<Option<ChimesUserRoles>>> =
19 web::Json(ApiResult::error(5010, &err.to_string()));
20 Ok(HttpResponse::Ok().json(ret))
21 }
22 }
23}
24
25#[post("/api/v1/user_roles/remove/{user_id}")]
26pub async fn user_roles_rel_remove(user_id: web::Path<i64>) -> Result<HttpResponse> {
27 let rb = get_rbatis();
28 match ChimesUserRoles::load(rb, &user_id).await {
29 Ok(st) => match st {
30 Some(cst) => match cst.remove(rb).await {
31 Ok(_) => {
32 let ret: web::Json<ApiResult<ChimesUserRoles>> = web::Json(ApiResult::ok(cst));
33 Ok(HttpResponse::Ok().json(ret))
34 }
35 Err(err) => {
36 let ret: web::Json<ApiResult<ChimesUserRoles>> =
37 web::Json(ApiResult::error(5011, &err.to_string()));
38 Ok(HttpResponse::Ok().json(ret))
39 }
40 },
41 None => {
42 let ret: web::Json<ApiResult<ChimesUserRoles>> =
43 web::Json(ApiResult::error(5040, &"Not-Found".to_string()));
44 Ok(HttpResponse::Ok().json(ret))
45 }
46 },
47 Err(err) => {
48 let ret: web::Json<ApiResult<ChimesUserRoles>> =
49 web::Json(ApiResult::error(5010, &err.to_string()));
50 Ok(HttpResponse::Ok().json(ret))
51 }
52 }
53}
54
55#[post("/api/v1/user_roles/save")]
56pub async fn user_roles_rel_save(req: web::Json<ChimesUserRoles>) -> Result<HttpResponse> {
57 let rb = get_rbatis();
58 let val = req.to_owned();
59 match val.save(rb).await {
60 Ok(_st) => {
61 let ret: web::Json<ApiResult<String>> = web::Json(ApiResult::ok("SUCCESS".to_string()));
62 Ok(HttpResponse::Ok().json(ret))
63 }
64 Err(err) => {
65 let ret: web::Json<ApiResult<String>> =
66 web::Json(ApiResult::error(5010, &err.to_string()));
67 Ok(HttpResponse::Ok().json(ret))
68 }
69 }
70}