| 123456789101112131415161718192021222324252627282930313233343536373839 |
- use crate::AppState;
- use super::{JsonBack};
- use super::{token_fail,check_login, errcode0};
- use crate::datasource::{Datasource, SqliteParams};
- use axum::{Json,extract::State};
- #[derive(serde::Deserialize)]
- pub struct Dedit{
- token: String,
- id: u64,
- name: Option<String>,
- area0: Option<u64>,
- area1: Option<u64>,
- }
- pub async fn d_edit(
- State(state): State<AppState>,
- Json(u): axum::extract::Json<Dedit>
- ) -> Json<JsonBack> {
- match check_login(&state, u.token).await {
- Ok(_) => {},
- Err(_) => {
- return token_fail();
- }
- }
- let mut params: SqliteParams = vec![Box::new(0)];
- match state.db_lite.execute(format!("update device set isdelete=?{}{}{} where id=?",
- if let Some(filter) = u.name {params.push(Box::new(filter));", name=?"} else {""},
- if let Some(filter) = u.area0 {params.push(Box::new(filter));", name=?"} else {""},
- if let Some(filter) = u.area1 {params.push(Box::new(filter));", name=?"} else {""},
- ).as_str(), rusqlite::params_from_iter({params.push(Box::new(u.id));params})).await{
- Ok(_) => {},
- Err(_) => {
- return Json(JsonBack{errcode: 3000, errmsg: Some("更新失败".to_string())});
- }
- }
- errcode0()
- }
|