|
@@ -1,11 +1,11 @@
|
|
|
#include "../include/user_manager.h"
|
|
|
|
|
|
-//TODO passwords are stored and checked in plain text
|
|
|
-//TODO read userStorage file location from config
|
|
|
+// TODO passwords are stored and checked in plain text
|
|
|
+// TODO read userStorage file location from config
|
|
|
|
|
|
void UserManager::init() {
|
|
|
std::ifstream ifile("userStorage.txt");
|
|
|
- if(!ifile) {
|
|
|
+ if (!ifile) {
|
|
|
// create new file if userStorage does not exist
|
|
|
std::ofstream file;
|
|
|
file.open("userStorage.txt");
|
|
@@ -15,66 +15,63 @@ void UserManager::init() {
|
|
|
ifile.close();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-bool UserManager::isAllowed(std::string name, std::string pw) {
|
|
|
- std::map<std::string,std::string> user_map;
|
|
|
- readFromFile(&user_map);
|
|
|
+bool UserManager::isAllowed(const std::string &name, const std::string &pw) {
|
|
|
+ std::map<std::string, std::string> user_map;
|
|
|
+ readFromFile(user_map);
|
|
|
auto it = user_map.find(name);
|
|
|
// check if user exists and pw is equal
|
|
|
- if(it!=user_map.end() && (it->second.compare(pw)==0)) {
|
|
|
+ if (it != user_map.end() && (it->second.compare(pw) == 0)) {
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-void UserManager::addUser(std::string name, std::string pw) {
|
|
|
- std::map<std::string,std::string> user_map;
|
|
|
- readFromFile(&user_map);
|
|
|
+void UserManager::addUser(const std::string &name, const std::string &pw) {
|
|
|
+ std::map<std::string, std::string> user_map;
|
|
|
+ readFromFile(user_map);
|
|
|
auto it = user_map.find(name);
|
|
|
// if user exists, do nothing
|
|
|
- if(it!=user_map.end()) {
|
|
|
+ if (it != user_map.end()) {
|
|
|
return;
|
|
|
}
|
|
|
- user_map.insert(std::pair<std::string,std::string>(name,pw));
|
|
|
- writeToFile(&user_map);
|
|
|
+ user_map.insert(std::pair<std::string, std::string>(name, pw));
|
|
|
+ writeToFile(user_map);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-void UserManager::deleteUser(std::string name, std::string pw) {
|
|
|
+void UserManager::deleteUser(const std::string &name, const std::string &pw) {
|
|
|
// TODO check pw before delete
|
|
|
- std::map<std::string,std::string> user_map;
|
|
|
- readFromFile(&user_map);
|
|
|
+ std::map<std::string, std::string> user_map;
|
|
|
+ readFromFile(user_map);
|
|
|
auto it = user_map.find(name);
|
|
|
- if(it==user_map.end()) {
|
|
|
+ if (it == user_map.end()) {
|
|
|
return;
|
|
|
}
|
|
|
user_map.erase(it);
|
|
|
- writeToFile(&user_map);
|
|
|
+ writeToFile(user_map);
|
|
|
}
|
|
|
|
|
|
// read content from file into given map
|
|
|
-void UserManager::readFromFile(std::map<std::string,std::string> *user_map) {
|
|
|
+void UserManager::readFromFile(std::map<std::string, std::string> &user_map) {
|
|
|
std::ifstream ifile("userStorage.txt");
|
|
|
std::string line;
|
|
|
- while(getline(ifile,line)) {
|
|
|
+ while (getline(ifile, line)) {
|
|
|
std::stringstream ss(line);
|
|
|
std::string segment;
|
|
|
std::vector<std::string> v;
|
|
|
- while(std::getline(ss, segment, ';')) {
|
|
|
+ while (std::getline(ss, segment, ';')) {
|
|
|
v.push_back(segment);
|
|
|
}
|
|
|
- user_map->insert(std::pair<std::string,std::string>(v.at(0),v.at(1)));
|
|
|
+ user_map.insert(std::pair<std::string, std::string>(v.at(0), v.at(1)));
|
|
|
}
|
|
|
ifile.close();
|
|
|
}
|
|
|
|
|
|
// write content from map to file
|
|
|
-void UserManager::writeToFile(std::map<std::string,std::string> *user_map) {
|
|
|
+void UserManager::writeToFile(std::map<std::string, std::string> &user_map) {
|
|
|
std::ofstream file;
|
|
|
file.open("userStorage.txt");
|
|
|
- for(auto const& x : *user_map) {
|
|
|
- file << x.first << ";" << x.second << std::endl;
|
|
|
+ for (auto const &x : user_map) {
|
|
|
+ file << x.first << ";" << x.second << std::endl;
|
|
|
}
|
|
|
file.close();
|
|
|
}
|