#ifndef GRADIDO_LOGIN_SERVER_CONTROLLER_EMAIL_VERIFICATION_CODE_INCLUDE #define GRADIDO_LOGIN_SERVER_CONTROLLER_EMAIL_VERIFICATION_CODE_INCLUDE #include "../model/table/EmailOptIn.h" #include "TableControllerBase.h" namespace controller { class EmailVerificationCode : public TableControllerBase { public: ~EmailVerificationCode(); static Poco::AutoPtr create(int user_id, model::table::EmailOptInType type = model::table::EMAIL_OPT_IN_REGISTER); static Poco::AutoPtr create(model::table::EmailOptInType type = model::table::EMAIL_OPT_IN_REGISTER); static Poco::AutoPtr load(const Poco::UInt64& code); static std::vector> load(int user_id); static Poco::AutoPtr load(int user_id, model::table::EmailOptInType type); inline bool deleteFromDB() { return mDBModel->deleteFromDB(); } inline Poco::AutoPtr getModel() { return _getModel(); } std::string getLink(); inline Poco::Timespan getAge() { return Poco::DateTime() - getModel()->getCreated(); } protected: EmailVerificationCode(model::table::EmailOptIn* dbModel); static Poco::UInt64 createEmailVerificationCode(); //table::EmailOptIn* mDBModel; }; } #endif //GRADIDO_LOGIN_SERVER_CONTROLLER_EMAIL_VERIFICATION_CODE_INCLUDE