From abcb5eef0d90bfe4e2e9c1f3ab4233fdcaedf4f8 Mon Sep 17 00:00:00 2001 From: fomgleb Date: Tue, 14 Mar 2023 17:06:34 +0300 Subject: [PATCH] Upgrade functions that create new chat --- client/client.h | 5 ++++- client/src/main.c | 6 ++---- client/src/request_senders.c | 6 +++--- server/src/request_handlers.c | 2 +- utils/utils.h | 1 - 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/client/client.h b/client/client.h index 4edfe49..290798d 100644 --- a/client/client.h +++ b/client/client.h @@ -32,7 +32,10 @@ void exit_app(); void handle_authenticated_user_commands(t_address server_address, id_t user_id); t_state_code rq_authenticate_user(t_address server_address, t_authentication_data authentication_data, t_authentication_mode authentication_mode, uint *user_id); -t_state_code rq_create_chat(t_address server_address, t_chat_creation_data chat_data); +/** + * @return The id of created chat +*/ +id_t rq_create_chat(t_address server_address, t_chat_creation_data chat_data); t_chat *rq_get_chats_i_am_in(t_address server_address, id_t user_id, size_t *chats_count); t_state_code rq_add_new_member(t_address server_address, t_new_chat_member_data new_chat_member_data); t_state_code rq_send_text_message(t_address server_address, t_text_message_data text_message_data); diff --git a/client/src/main.c b/client/src/main.c index af3bdd1..7cc7e37 100644 --- a/client/src/main.c +++ b/client/src/main.c @@ -58,10 +58,8 @@ void handle_authenticated_user_commands(t_address server_address, id_t user_id) if (strcmp(user_command, "newchat") == 0) { t_chat_creation_data chat_creation_data = get_chat_creation_data(user_id); - t_state_code creating_chat_result = rq_create_chat(server_address, chat_creation_data); - if (creating_chat_result == CHAT_CREATED_SUCCESSFULLY) { - printf("Chat \"%s\" created successfully.", chat_creation_data.chat_name); - } + id_t created_chat_id = rq_create_chat(server_address, chat_creation_data); + printf("Chat \"%s\" with id %u created successfully.", chat_creation_data.chat_name, created_chat_id); free_chat_creation_data(chat_creation_data); } else if (strcmp(user_command, "chats") == 0) { size_t chats_count = 0; diff --git a/client/src/request_senders.c b/client/src/request_senders.c index d77c217..769fd94 100644 --- a/client/src/request_senders.c +++ b/client/src/request_senders.c @@ -19,7 +19,7 @@ t_state_code rq_authenticate_user(t_address server_address, t_authentication_dat return authentication_result; } -t_state_code rq_create_chat(t_address server_address, t_chat_creation_data chat_data) { +id_t rq_create_chat(t_address server_address, t_chat_creation_data chat_data) { int client_socket = create_and_connect_socket(server_address); t_package package = create_package(3); @@ -28,11 +28,11 @@ t_state_code rq_create_chat(t_address server_address, t_chat_creation_data chat_ pack_uint32(chat_data.owner_id, &package); send_and_free_package(client_socket, package); - t_state_code creating_chat_result = receive_byte(client_socket); + id_t created_chat_id = receive_uint32(client_socket); close(client_socket); - return creating_chat_result; + return created_chat_id; } t_chat *rq_get_chats_i_am_in(t_address server_address, id_t user_id, size_t *chats_count) { diff --git a/server/src/request_handlers.c b/server/src/request_handlers.c index 232438c..e5009a4 100644 --- a/server/src/request_handlers.c +++ b/server/src/request_handlers.c @@ -57,7 +57,7 @@ void handle_chat_creation(int client_socket) { db_add_new_member_to_chat(db, owner_id, created_chat_id); db_close(db); - send_byte(client_socket, CHAT_CREATED_SUCCESSFULLY); + send_uint32(client_socket, created_chat_id); free(chat_name); } diff --git a/utils/utils.h b/utils/utils.h index cb4ca13..e1545ad 100644 --- a/utils/utils.h +++ b/utils/utils.h @@ -102,7 +102,6 @@ typedef enum e_state_code { SUCCESSFULLY_READ, SUCCESSFUL_REGISTRATION, SUCCESSFUL_LOGIN, - CHAT_CREATED_SUCCESSFULLY, USER_SUCCESSFULLY_ADDED_TO_CHAT, TEXT_MESSAGE_SENT_SUCCESSFULLY, USER_REMOVED_FROM_CHAT_SUCCESSFULLY,