/
farado
/
farado-binara
Обзор
Документация
Войти
/
farado
/
farado-binara
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
develop
src/common/elements/user.h
82 строки
2 KB
Ostapenko Alexey
[common] Отказ от boost::ptree в пользу библиотеки nlohmann.
07 мар 2024, 17:11
07 мар 2024, 17:11
1e93742
Код
Авторство
О чём код?
#ifndef ELEMENTS_USER_H #define ELEMENTS_USER_H #include "element.h" namespace Elements { struct User : public Element { User() = default; User(const User& other); // -- Интерфейс элемента -- // virtual bool isSame(Element* other) const override; virtual Common::Json toJson() const override; virtual void fromJson(const Common::Json& json) override; virtual Element* clone() const override; virtual ElementType elementType() const override; // -- Интерфейс данных пользователя -- // std::string login() const; void setLogin(const std::string& value); std::string firstName() const; void setFirstName(const std::string& value); std::string middleName() const; void setMiddleName(const std::string& value); std::string lastName() const; void setLastName(const std::string& value); std::string email() const; void setEmail(const std::string& value); std::string passwordHash() const; void setPasswordHash(const std::string& value); bool needChangePassword() const; void setNeedChangePassword(const bool value); bool isBlocked() const; void setIsBlocked(const bool value); std::string uiLang() const; void setUiLang(const std::string& value); // -- Особый интерфейс пользователя -- // bool isOnline() const; void setIsOnline(const bool value); bool setPassword(const std::string& password); bool checkPassword(const std::string& password) const; std::string fullName() const; private: std::string m_login; std::string m_firstName; std::string m_middleName; std::string m_lastName; std::string m_email; std::string m_passwordHash; bool m_needChangePassword = false; bool m_isBlocked = false; std::string m_uiLang; bool m_isOnline = false; }; typedef std::shared_ptr<User> UserPtr; typedef std::vector<UserPtr> Users; } // namespace Elements #endif // ELEMENTS_USER_H