Finish remove user implementation

This commit is contained in:
Guillermo Roche 2020-05-26 01:37:34 +02:00
parent 2783e385a4
commit b0c78dde76
7 changed files with 23 additions and 1 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.8.2, 2020-05-20T23:51:30. -->
<!-- Written by QtCreator 4.8.2, 2020-05-26T01:36:37. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>

View File

@ -42,6 +42,7 @@ void conexion_ssl::start_server(){
while(1) {
struct sockaddr_in addr;
uint len = sizeof(addr);
int client = accept(sock, (struct sockaddr*)&addr, &len);
std::thread t_client(conexion_client,ctx , client);
t_client.detach();

View File

@ -15,6 +15,7 @@ public:
virtual void write_remove(std::string)=0;
virtual bool get_package_exists(std::string package)=0;
virtual void create_user(std::string user, std::string pass, bool admin)=0;
virtual void remove_user(std::string user)=0;
};
#endif // DATA_ACCES_H

View File

@ -97,3 +97,10 @@ void msql_acces::create_user(std::string user, std::string pass, bool admin){
pstmt->setBoolean(3,admin);
sql::ResultSet *res = pstmt->executeQuery();
}
void msql_acces::remove_user(std::string user){
sql::PreparedStatement *pstmt =
con->prepareStatement("delete from users where username=?");
pstmt->setString(1,user);
pstmt->executeUpdate();
}

View File

@ -19,6 +19,7 @@ public:
void write_remove(std::string);
bool get_package_exists(std::string package);
void create_user(std::string user, std::string pass, bool admin);
void remove_user(std::string user);
private:
sql::Connection *con;
sql::Driver *driver;

View File

@ -42,6 +42,8 @@ void session_manager::start_dialog(){
this->send_user_info();
}else if(strcmp(buffer,"cusr")==0){
this->create_user();
}else if(strcmp(buffer,"rusr")==0){
this->remove_user();
}else if((strcmp(buffer,"exit")==0)||(n_read==0)){
break;
}
@ -135,6 +137,8 @@ void session_manager::create_user(){
char* user=new char[256];
char* pass=new char[256];
char* admin=new char[256];
//basura
this->read_data(user, 256);
this->read_data(user, 256);
this->read_data(pass, 256);
this->read_data(admin, 256);
@ -144,6 +148,13 @@ void session_manager::create_user(){
delete [] (admin);
}
void session_manager::remove_user(){
char *buffer=new char[256];
this->read_data(buffer,256);
this->read_data(buffer,256);
this->data->remove_user(std::string(buffer));
}
int session_manager::read_data(char* input, int size){
return read(this->fd, input, size);
}

View File

@ -13,6 +13,7 @@ public:
void send_user_info();
bool validate_pass();
void create_user();
void remove_user();
private:
std::string appli_command(char comand[], char* n_package);
virtual int read_data(char* input, int size);