Files
BH-Bookstore-2023/backend/include/engine.h

50 lines
2.8 KiB
C++

#ifndef PROTECTOR_ENGINE_H
#define PROTECTOR_ENGINE_H
#include <stack>
#include <string>
#include <vector>
#include "database.h"
#include "lexer.h"
class BookStoreEngineClass {
std::string config_dir;
UserDataBase user_data_base;
BookDataBase book_data_base;
LogDataBase log_data_base;
bool is_server;
public:
BookStoreEngineClass() = delete;
BookStoreEngineClass(std::string __config_dir, bool __is_server);
std::vector<std::string> Execute(const std::string &cmd,
std::stack<std::pair<std::string, std::string>> &login_stack);
std::vector<std::string> ExecuteSu(const std::string &cmd,
std::stack<std::pair<std::string, std::string>> &login_stack);
std::vector<std::string> ExecuteLogout(const std::string &cmd,
std::stack<std::pair<std::string, std::string>> &login_stack);
std::vector<std::string> ExecuteRegister(
const std::string &cmd, std::stack<std::pair<std::string, std::string>> &login_stack);
std::vector<std::string> ExecutePasswd(const std::string &cmd,
std::stack<std::pair<std::string, std::string>> &login_stack);
std::vector<std::string> ExecuteUserAdd(const std::string &cmd,
std::stack<std::pair<std::string, std::string>> &login_stack);
std::vector<std::string> ExecuteDelete(const std::string &cmd,
std::stack<std::pair<std::string, std::string>> &login_stack);
std::vector<std::string> ExecuteShow(const std::string &cmd,
std::stack<std::pair<std::string, std::string>> &login_stack);
std::vector<std::string> ExecuteBuy(const std::string &cmd,
std::stack<std::pair<std::string, std::string>> &login_stack);
std::vector<std::string> ExecuteSelect(const std::string &cmd,
std::stack<std::pair<std::string, std::string>> &login_stack);
std::vector<std::string> ExecuteMOdify(const std::string &cmd,
std::stack<std::pair<std::string, std::string>> &login_stack);
std::vector<std::string> ExecuteImport(const std::string &cmd,
std::stack<std::pair<std::string, std::string>> &login_stack);
std::vector<std::string> ExecuteShowFinance(
const std::string &cmd, std::stack<std::pair<std::string, std::string>> &login_stack);
std::vector<std::string> ExecuteLog(const std::string &cmd,
std::stack<std::pair<std::string, std::string>> &login_stack);
std::vector<std::string> ExecuteReport(const std::string &cmd,
std::stack<std::pair<std::string, std::string>> &login_stack);
};
#endif // PROTECTOR_ENGINE_H