added update user change user and change password

This commit is contained in:
wt committed 2025-08-23 00:30:45 +07:00
1 parent 33e8bed178
commit 9c3a8d796a
14 files changed
+278 -45

No files matched your search

+10 -3
View File
@@ -4,14 +4,16 @@
User *db_insert_user(const char *username, const char *email,
const char *password, const char *group,
bool *is_superuser) {
const bool *is_superuser) {
pthread_mutex_lock(&db_mutex);
if (!db) {
fprintf(stderr, "Databse not initialized\n");
pthread_mutex_unlock(&db_mutex);
return nullptr;
}
if (!username || !email || !password) {
fprintf(stderr, "username, email, password connot be empty\n");
pthread_mutex_unlock(&db_mutex);
return nullptr;
}
const char *sql = nullptr;
@@ -27,6 +29,7 @@ User *db_insert_user(const char *username, const char *email,
rc = sqlite3_prepare_v2(db, sql, -1, &stmt, 0);
if (rc != SQLITE_OK) {
fprintf(stderr, "Cannot prepare statement: %s\n", sqlite3_errmsg(db));
pthread_mutex_unlock(&db_mutex);
return nullptr;
}
@@ -38,13 +41,14 @@ User *db_insert_user(const char *username, const char *email,
sqlite3_bind_text(stmt, 4, group, -1, SQLITE_STATIC);
}
if (is_superuser) {
sqlite3_bind_int(stmt, 5, is_superuser);
sqlite3_bind_int(stmt, 5, *is_superuser);
}
rc = sqlite3_step(stmt);
if (rc != SQLITE_DONE) {
fprintf(stderr, "Execution failed: %s\n", sqlite3_errmsg(db));
sqlite3_finalize(stmt);
pthread_mutex_unlock(&db_mutex);
return nullptr;
}
@@ -53,4 +57,7 @@ User *db_insert_user(const char *username, const char *email,
sqlite3_finalize(stmt);
printf("User inserted successfully. ID: %d\n", inserted_id);
pthread_mutex_unlock(&db_mutex);
}
User *new_db_user =
new_user(inserted_id, username, email, password, group, is_superuser);
return new_db_user;
}