From 40ccbd6ad206344f2c1c309767e323a2af293121 Mon Sep 17 00:00:00 2001 From: TolaMironcenko Date: Thu, 24 Apr 2025 14:07:57 +0700 Subject: [PATCH] updated for classes and small fix web --- src/AuthService/AuthService.cpp | 16 ++++++++-------- src/auth/auth.cpp | 2 +- src/auth/auth.hpp | 11 +++++++---- src/auth/verify_auth.cpp | 2 +- src/users/access_request.cpp | 4 ++-- src/users/add_user.cpp | 4 ++-- src/users/change_password.cpp | 4 ++-- src/users/change_user.cpp | 4 ++-- src/users/delete_user.cpp | 4 ++-- src/users/get_all_users.cpp | 4 ++-- src/users/get_user.cpp | 4 ++-- src/users/users.hpp | 31 +++++++++++++++++-------------- src/web/js/login.js | 3 ++- 13 files changed, 50 insertions(+), 43 deletions(-) diff --git a/src/AuthService/AuthService.cpp b/src/AuthService/AuthService.cpp index 7e5ec9c..7f0f9ab 100644 --- a/src/AuthService/AuthService.cpp +++ b/src/AuthService/AuthService.cpp @@ -8,14 +8,14 @@ namespace AuthService { AuthService::AuthService() { - this->srv.Post("/api/token", Auth::auth); - this->srv.Post("/api/users/user", Users::get_user); - this->srv.Post("/api/users/all", Users::get_all_users); - this->srv.Post("/api/users/add", Users::add_user); - this->srv.Post("/api/users/user/password/change", Users::change_password); - this->srv.Post("/api/users/del", Users::delete_user); - this->srv.Post("/api/access", Users::user_access); - this->srv.Post("/api/users/user/change", Users::change_user); + this->srv.Post("/api/token", Auth::Auth::auth); + this->srv.Post("/api/users/user", Users::Users::get_user); + this->srv.Post("/api/users/all", Users::Users::get_all_users); + this->srv.Post("/api/users/add", Users::Users::add_user); + this->srv.Post("/api/users/user/password/change", Users::Users::change_password); + this->srv.Post("/api/users/del", Users::Users::delete_user); + this->srv.Post("/api/access", Users::Users::user_access); + this->srv.Post("/api/users/user/change", Users::Users::change_user); this->srv.Options("/(.*)", Security::set_cors_headers); diff --git a/src/auth/auth.cpp b/src/auth/auth.cpp index feb5b84..c47fcca 100644 --- a/src/auth/auth.cpp +++ b/src/auth/auth.cpp @@ -10,7 +10,7 @@ namespace AuthService namespace Auth { // function for authorization users - void auth(const httplib::Request& request, httplib::Response& response) + void Auth::auth(const httplib::Request& request, httplib::Response& response) { std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; response.set_header("Access-Control-Allow-Origin", "*"); diff --git a/src/auth/auth.hpp b/src/auth/auth.hpp index 0bc5f0c..cfba481 100644 --- a/src/auth/auth.hpp +++ b/src/auth/auth.hpp @@ -6,10 +6,13 @@ namespace AuthService { namespace Auth { - // function for authorization users - void auth(const httplib::Request& request, httplib::Response& response); + class Auth { + public: + // function for authorization users + static void auth(const httplib::Request& request, httplib::Response& response); - // function for verify tokens - void verify_auth(const std::string& token, httplib::Response& response); + // function for verify tokens + static void verify_auth(const std::string& token, httplib::Response& response); + }; } } diff --git a/src/auth/verify_auth.cpp b/src/auth/verify_auth.cpp index 06f124d..e4385b6 100644 --- a/src/auth/verify_auth.cpp +++ b/src/auth/verify_auth.cpp @@ -11,7 +11,7 @@ namespace AuthService response.set_content(R"({"access":"reject"})", JSON_TYPE); syslog(LOG_ERR, "access rejected"); } - void verify_auth(const std::string& token, httplib::Response& response) + void Auth::Auth::verify_auth(const std::string& token, httplib::Response& response) { try { if (!JWT::verifyJWT(token, JWT_SECRET_KEY)) { diff --git a/src/users/access_request.cpp b/src/users/access_request.cpp index eddd500..72bd2b7 100644 --- a/src/users/access_request.cpp +++ b/src/users/access_request.cpp @@ -10,14 +10,14 @@ namespace AuthService namespace Users { // function for access or reject authorization - void user_access(const httplib::Request& request, httplib::Response& response) + void Users::user_access(const httplib::Request& request, httplib::Response& response) { std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; response.set_header("Access-Control-Allow-Origin", "*"); AuthService::Includes::check_body_empty(request, response, ACCESS_REQUIRED_STRING); nlohmann::json json_body = nlohmann::json::parse(request.body); AuthService::Includes::check_body_data(json_body, "token", response, ACCESS_REQUIRED_STRING); - AuthService::Auth::verify_auth(json_body["token"], response); + AuthService::Auth::Auth::verify_auth(json_body["token"], response); response.set_content(R"({"access":"success"})", JSON_TYPE); syslog(LOG_INFO, "access success"); } diff --git a/src/users/add_user.cpp b/src/users/add_user.cpp index 07a1cb9..f5274d1 100644 --- a/src/users/add_user.cpp +++ b/src/users/add_user.cpp @@ -22,14 +22,14 @@ namespace AuthService } // function for add user - void add_user(const httplib::Request& request, httplib::Response& response) + void Users::add_user(const httplib::Request& request, httplib::Response& response) { std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; response.set_header("Access-Control-Allow-Origin", "*"); AuthService::Includes::check_body_empty(request, response, ADD_USER_REQUIRED_STRING); nlohmann::json json_body = nlohmann::json::parse(request.body); AuthService::Includes::check_body_data(json_body, "token", response, ADD_USER_REQUIRED_STRING); - AuthService::Auth::verify_auth(json_body["token"], response); + AuthService::Auth::Auth::verify_auth(json_body["token"], response); AuthService::Includes::check_body_data(json_body, "username", response, ADD_USER_REQUIRED_STRING); AuthService::Includes::check_body_data(json_body, "password", response, ADD_USER_REQUIRED_STRING); std::string userid = JWT::get_payload(json_body["token"], JWT_SECRET_KEY)["userId"]; diff --git a/src/users/change_password.cpp b/src/users/change_password.cpp index 3220808..85ed6ae 100644 --- a/src/users/change_password.cpp +++ b/src/users/change_password.cpp @@ -10,7 +10,7 @@ namespace AuthService namespace Users { // functtion for change password for user - void change_password(const httplib::Request& request, httplib::Response& response) + void Users::change_password(const httplib::Request& request, httplib::Response& response) { std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; response.set_header("Access-Control-Allow-Origin", "*"); @@ -20,7 +20,7 @@ namespace AuthService AuthService::Includes::check_body_data(json_body, "userid", response, CHANGE_PASSWORD_REQUIRED_STRING); AuthService::Includes::check_body_data(json_body, "old_password", response, CHANGE_PASSWORD_REQUIRED_STRING); AuthService::Includes::check_body_data(json_body, "new_password", response, CHANGE_PASSWORD_REQUIRED_STRING); - AuthService::Auth::verify_auth(json_body["token"], response); + AuthService::Auth::Auth::verify_auth(json_body["token"], response); std::string old_password; const std::string new_password = json_body["new_password"]; diff --git a/src/users/change_user.cpp b/src/users/change_user.cpp index a10585a..731ff78 100644 --- a/src/users/change_user.cpp +++ b/src/users/change_user.cpp @@ -10,7 +10,7 @@ namespace AuthService namespace Users { // function for change user data - void change_user(const httplib::Request& request, httplib::Response& response) + void Users::change_user(const httplib::Request& request, httplib::Response& response) { std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; response.set_header("Access-Control-Allow-Origin", "*"); @@ -19,7 +19,7 @@ namespace AuthService AuthService::Includes::check_body_data(json_body, "token", response, CHANGE_USER_REQUIRED_STRING); AuthService::Includes::check_body_data(json_body, "userid", response, CHANGE_USER_REQUIRED_STRING); AuthService::Includes::check_body_data(json_body, "old_password", response, CHANGE_USER_REQUIRED_STRING); - AuthService::Auth::verify_auth(json_body["token"], response); + AuthService::Auth::Auth::verify_auth(json_body["token"], response); std::string userid = JWT::get_payload(json_body["token"], JWT_SECRET_KEY)["userId"]; if (userid.empty()) { diff --git a/src/users/delete_user.cpp b/src/users/delete_user.cpp index b5dd596..9683f24 100644 --- a/src/users/delete_user.cpp +++ b/src/users/delete_user.cpp @@ -10,14 +10,14 @@ namespace AuthService namespace Users { // function for delete user - void delete_user(const httplib::Request& request, httplib::Response& response) + void Users::delete_user(const httplib::Request& request, httplib::Response& response) { std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; response.set_header("Access-Control-Allow-Origin", "*"); AuthService::Includes::check_body_empty(request, response, DELETE_USER_REQUIRED_STRING); nlohmann::json json_body = nlohmann::json::parse(request.body); AuthService::Includes::check_body_data(json_body, "token", response, DELETE_USER_REQUIRED_STRING); - AuthService::Auth::verify_auth(json_body["token"], response); + AuthService::Auth::Auth::verify_auth(json_body["token"], response); std::string userid = JWT::get_payload(json_body["token"], JWT_SECRET_KEY)["userId"]; if (userid.empty()) { diff --git a/src/users/get_all_users.cpp b/src/users/get_all_users.cpp index c8ad48c..98f6843 100644 --- a/src/users/get_all_users.cpp +++ b/src/users/get_all_users.cpp @@ -10,14 +10,14 @@ namespace AuthService namespace Users { // function for get all users data without password - void get_all_users(const httplib::Request& request, httplib::Response& response) + void Users::get_all_users(const httplib::Request& request, httplib::Response& response) { std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; response.set_header("Access-Control-Allow-Origin", "*"); AuthService::Includes::check_body_empty(request, response, ACCESS_REQUIRED_STRING); nlohmann::json json_body = nlohmann::json::parse(request.body); AuthService::Includes::check_body_data(json_body, "token", response, ACCESS_REQUIRED_STRING); - AuthService::Auth::verify_auth(json_body["token"], response); + AuthService::Auth::Auth::verify_auth(json_body["token"], response); std::string userid = JWT::get_payload(json_body["token"], JWT_SECRET_KEY)["userId"]; if (userid.empty()) { response.set_content(STRING403, JSON_TYPE); diff --git a/src/users/get_user.cpp b/src/users/get_user.cpp index 820b952..59eff5c 100644 --- a/src/users/get_user.cpp +++ b/src/users/get_user.cpp @@ -10,14 +10,14 @@ namespace AuthService namespace Users { // function for get user data without password - void get_user(const httplib::Request& request, httplib::Response& response) + void Users::get_user(const httplib::Request& request, httplib::Response& response) { std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; response.set_header("Access-Control-Allow-Origin", "*"); AuthService::Includes::check_body_empty(request, response, ACCESS_REQUIRED_STRING); nlohmann::json json_body = nlohmann::json::parse(request.body); AuthService::Includes::check_body_data(json_body, "token", response, ACCESS_REQUIRED_STRING); - AuthService::Auth::verify_auth(json_body["token"], response); + AuthService::Auth::Auth::verify_auth(json_body["token"], response); std::string userid = JWT::get_payload(json_body["token"], JWT_SECRET_KEY)["userId"]; if (userid.empty()) { response.set_content(STRING403, JSON_TYPE); diff --git a/src/users/users.hpp b/src/users/users.hpp index 2dbbe79..e00bdf5 100644 --- a/src/users/users.hpp +++ b/src/users/users.hpp @@ -7,26 +7,29 @@ namespace AuthService { namespace Users { - // function for get user data without password - void get_user(const httplib::Request& request, httplib::Response& response); + class Users { + public: + // function for get user data without password + static void get_user(const httplib::Request& request, httplib::Response& response); - // function for get all users data without password - void get_all_users(const httplib::Request& request, httplib::Response& response); + // function for get all users data without password + static void get_all_users(const httplib::Request& request, httplib::Response& response); - // function for access or reject authorization - void user_access(const httplib::Request& request, httplib::Response& response); + // function for access or reject authorization + static void user_access(const httplib::Request& request, httplib::Response& response); - // function for add user - void add_user(const httplib::Request& request, httplib::Response& response); + // function for add user + static void add_user(const httplib::Request& request, httplib::Response& response); - // function for delete user - void delete_user(const httplib::Request& request, httplib::Response& response); + // function for delete user + static void delete_user(const httplib::Request& request, httplib::Response& response); - // function for change password for user - void change_password(const httplib::Request& request, httplib::Response& response); + // function for change password for user + static void change_password(const httplib::Request& request, httplib::Response& response); - // function for change user data - void change_user(const httplib::Request& request, httplib::Response& response); + // function for change user data + static void change_user(const httplib::Request& request, httplib::Response& response); + }; } } #endif // USERS_HPP diff --git a/src/web/js/login.js b/src/web/js/login.js index 36d5d6b..d07c07e 100644 --- a/src/web/js/login.js +++ b/src/web/js/login.js @@ -76,7 +76,8 @@ message.addEventListener('click', () => { }) exitbutton.addEventListener('click', () => { - localStorage.clear() + localStorage.removeItem('token') + localStorage.removeItem('userdata') loginform.classList.add('active') notification('Вы вышли', "success") })