|
|
@ -141,10 +141,10 @@ id setting_name setting_name_ch val_upper_limit val_lower_limi |
|
|
|
storage.insert(Setting{5, "max_humidity", "允许消毒最大湿度", 0, 100, 0, 90}); |
|
|
|
|
|
|
|
if (storage.get_all<Setting>(where(c(&Setting::id) == 6)).size() == 0) |
|
|
|
storage.insert(Setting{6, "drainage_pump_speed", "排液蠕动泵转速", 0, 40, 0, 40});//g/min
|
|
|
|
storage.insert(Setting{6, "drainage_pump_speed", "排液蠕动泵转速", 0, 40, 0, 40}); // g/min
|
|
|
|
|
|
|
|
if (storage.get_all<Setting>(where(c(&Setting::id) == 7)).size() == 0) |
|
|
|
storage.insert(Setting{7, "injection_pump_speed", "喷射蠕动泵转速", 0, 40, 0, 40}); //g/min
|
|
|
|
storage.insert(Setting{7, "injection_pump_speed", "喷射蠕动泵转速", 0, 40, 0, 40}); // g/min
|
|
|
|
|
|
|
|
if (storage.get_all<Setting>(where(c(&Setting::id) == 8)).size() == 0) //
|
|
|
|
storage.insert(Setting{8, "pre_heat_time_s", "预热时间", 0, 600, 0, 120}); |
|
|
@ -190,6 +190,47 @@ list<shared_ptr<User>> DBService::getAllUser() { |
|
|
|
} |
|
|
|
return users; |
|
|
|
} |
|
|
|
void DBService::addUser(string uid, string passwd, int permission_level) { |
|
|
|
auto usertable = make_storage(USER_DB_STRUCT); |
|
|
|
usertable.sync_schema(); |
|
|
|
logger->info("add user: {} {} {}", uid, passwd, permission_level); |
|
|
|
usertable.insert(User{-1, uid, passwd, permission_level, true}); |
|
|
|
} |
|
|
|
void DBService::delUser(int id) { |
|
|
|
auto usertable = make_storage(USER_DB_STRUCT); |
|
|
|
usertable.sync_schema(); |
|
|
|
/**
|
|
|
|
* @brief find admin user |
|
|
|
*/ |
|
|
|
auto admin = usertable.get_all<User>(where(c(&User::uid) == "admin")); |
|
|
|
ZCHECK(admin.size() == 1, "admin user not found"); |
|
|
|
if (admin[0].id == id) { |
|
|
|
logger->error("can not delete admin user"); |
|
|
|
return; |
|
|
|
} |
|
|
|
auto remove_user = usertable.get_all<User>(where(c(&User::id) == id)); |
|
|
|
if (remove_user.size() == 0) { |
|
|
|
logger->error("remove user fail, user not found"); |
|
|
|
return; |
|
|
|
} |
|
|
|
logger->info("delete user: {}:{}", id, remove_user[0].uid); |
|
|
|
usertable.remove<User>(where(c(&User::id) == id)); |
|
|
|
} |
|
|
|
|
|
|
|
void DBService::updateUserPermissionLevel(int id, int permission_level) { |
|
|
|
auto usertable = make_storage(USER_DB_STRUCT); |
|
|
|
usertable.sync_schema(); |
|
|
|
|
|
|
|
auto user = usertable.get_all<User>(where(c(&User::id) == id)); |
|
|
|
if (user.size() == 0) { |
|
|
|
logger->error("update user permission level fail, user not found"); |
|
|
|
return; |
|
|
|
} |
|
|
|
logger->info("update user permission level: {} {} -> {}", id, user[0].permission_level, permission_level); |
|
|
|
user[0].permission_level = permission_level; |
|
|
|
usertable.update(user[0]); |
|
|
|
} |
|
|
|
|
|
|
|
json DBService::getAllUserJson() { |
|
|
|
json j_users; |
|
|
|
auto usertable = make_storage(USER_DB_STRUCT); |
|
|
|