mirror of
https://github.com/yawaflua/SpCloudCore.git
synced 2025-12-09 20:19:35 +02:00
Change unicode and introduce new model user
This commit is contained in:
@@ -11,7 +11,7 @@ add_executable(SpCloudMain
|
|||||||
"Service/FileProcessingService.cpp"
|
"Service/FileProcessingService.cpp"
|
||||||
"Service/CommandService.cpp"
|
"Service/CommandService.cpp"
|
||||||
"Service/Logger.cpp"
|
"Service/Logger.cpp"
|
||||||
)
|
"Models/User.cpp")
|
||||||
|
|
||||||
if (CMAKE_VERSION VERSION_GREATER 3.12)
|
if (CMAKE_VERSION VERSION_GREATER 3.12)
|
||||||
set_property(TARGET SpCloudMain PROPERTY CXX_STANDARD 20)
|
set_property(TARGET SpCloudMain PROPERTY CXX_STANDARD 20)
|
||||||
|
|||||||
@@ -31,7 +31,8 @@ public:
|
|||||||
public:
|
public:
|
||||||
void process_publish(const httplib::Request& req, httplib::Response& res)
|
void process_publish(const httplib::Request& req, httplib::Response& res)
|
||||||
{
|
{
|
||||||
if (this->authorization.is_user_authorized())
|
//if (this->authorization.is_user_authorized())
|
||||||
|
if (true)//Todo change to is user authorized
|
||||||
{
|
{
|
||||||
const auto& content = req.files.begin()->second.content;
|
const auto& content = req.files.begin()->second.content;
|
||||||
|
|
||||||
|
|||||||
50
SpCloudMain/Models/User.cpp
Normal file
50
SpCloudMain/Models/User.cpp
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
#include <string>
|
||||||
|
|
||||||
|
class User {
|
||||||
|
private:
|
||||||
|
int id;
|
||||||
|
std::string name;
|
||||||
|
std::string authToken;
|
||||||
|
bool isBanned;
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Конструктор
|
||||||
|
User(int id, const std::string& name, const std::string& authToken, bool isBanned)
|
||||||
|
: id(id), name(name), authToken(authToken), isBanned(isBanned) {}
|
||||||
|
|
||||||
|
// Геттеры и сеттеры для Id
|
||||||
|
int getId() const {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setId(int id) {
|
||||||
|
this->id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Геттеры и сеттеры для Name
|
||||||
|
std::string getName() const {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setName(const std::string& name) {
|
||||||
|
this->name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Геттеры и сеттеры для AuthToken
|
||||||
|
std::string getAuthToken() const {
|
||||||
|
return authToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setAuthToken(const std::string& authToken) {
|
||||||
|
this->authToken = authToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Геттеры и сеттеры для IsBanned
|
||||||
|
bool getIsBanned() const {
|
||||||
|
return isBanned;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setIsBanned(bool isBanned) {
|
||||||
|
this->isBanned = isBanned;
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -1,10 +1,14 @@
|
|||||||
|
#include "../Models/User.cpp"
|
||||||
|
|
||||||
|
|
||||||
class AuthorizationService
|
class AuthorizationService
|
||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
bool is_user_authorized()
|
bool is_user_authorized(User user)
|
||||||
{
|
{
|
||||||
return true;//Todo implement logic for authorization processing
|
return true;//Todo implement logic for authorization processing
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
#include "Logger.cpp"
|
#include "Logger.cpp"
|
||||||
class FileProcessingService
|
class FileProcessingService
|
||||||
{
|
{
|
||||||
|
Logger& logger_;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
FileProcessingService(Logger& logger) : logger_(logger)
|
FileProcessingService(Logger& logger) : logger_(logger)
|
||||||
@@ -42,14 +43,6 @@ public:
|
|||||||
void unzip(const std::string& file_path, const std::string& final_files_directory) {
|
void unzip(const std::string& file_path, const std::string& final_files_directory) {
|
||||||
create_directory(final_files_directory);
|
create_directory(final_files_directory);
|
||||||
|
|
||||||
//Windows version
|
|
||||||
//std::string command = R"(powershell -Command "& \"C:\Program Files\WinRAR\WinRAR.exe\" x \")" + file_path + R"(\" \")" + final_files_directory + R"(\")";
|
|
||||||
|
|
||||||
//Linux version
|
|
||||||
//std::string command = "unzip " + file_path + " -d " + final_files_directory;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::string command = "unrar x " + file_path + " " + final_files_directory;
|
std::string command = "unrar x " + file_path + " " + final_files_directory;
|
||||||
|
|
||||||
logger_.log(INFO, "Start unzip command" + command);
|
logger_.log(INFO, "Start unzip command" + command);
|
||||||
@@ -68,25 +61,7 @@ public:
|
|||||||
return ""; //todo add throwing exception
|
return ""; //todo add throwing exception
|
||||||
}
|
}
|
||||||
|
|
||||||
//static void execute_command(const std::string& command) {//todo delete if not needed
|
|
||||||
// int result = std::system(command.c_str()); // NOLINT(concurrency-mt-unsafe)
|
|
||||||
// if (result != 0) {
|
|
||||||
// std::cerr << "Command failed with code: " << result << std::endl;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
//void unzip(const std::string& file_path, const std::string& final_files_directory)
|
|
||||||
//{
|
|
||||||
// std::string createDirCommand = "mkdir \"" + final_files_directory + "\"";
|
|
||||||
|
|
||||||
// system(createDirCommand.c_str());//Todo solve unsafe warning
|
|
||||||
|
|
||||||
// const std::string command = "WinRAR x \"" + file_path + "\" \"" + final_files_directory + "\"";
|
|
||||||
|
|
||||||
// int result = system(command.c_str());//Todo solve unsafe warning
|
|
||||||
//}
|
|
||||||
/*private:
|
/*private:
|
||||||
std::mutex file_mutex; */// Мьютекс для синхронизации доступа к файлу
|
std::mutex file_mutex; */// Мьютекс для синхронизации доступа к файлу
|
||||||
|
|
||||||
Logger& logger_;
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user