From 5fda74ab1d777b436f09e589d1af13320300bbd2 Mon Sep 17 00:00:00 2001 From: TolaMironcenko Date: Thu, 23 Oct 2025 13:21:12 +0700 Subject: [PATCH] Update db_delete_user.c --- src/db_delete_user.c | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/db_delete_user.c b/src/db_delete_user.c index c4fcce9..c173555 100644 --- a/src/db_delete_user.c +++ b/src/db_delete_user.c @@ -1,8 +1,13 @@ -#ifdef USE_SQLITE3 #include "database.h" + +#ifdef USE_SQLITE3 #include "sql.h" #endif +#ifndef USE_SQLITE3 +#include "file.h" +#endif + #include "user.h" bool db_delete_user(const int id) { @@ -47,6 +52,31 @@ bool db_delete_user(const int id) { pthread_mutex_unlock(&db_mutex); return true; #else + pthread_mutex_lock(&users_file_mutex); + char *data = read_file("users_db.json"); + cJSON *users = cJSON_Parse(data); + cJSON *user = nullptr; + int index = 0; + bool found = false; + cJSON_ArrayForEach(user, users) { + cJSON *user_id = cJSON_GetObjectItem(user, "id"); + if (user_id->valueint == id) { + cJSON_DeleteItemFromArray(users, index); + found = true; + break; + } + index++; + } + if (!found) { + pthread_mutex_unlock(&users_file_mutex); + return false; + } + char *new_data = cJSON_Print(users); + write_file("users_db.json", new_data); + free(new_data); + free(data); + cJSON_Delete(users); + pthread_mutex_unlock(&users_file_mutex); return true; #endif }