mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
Merge branch 'login_fix_crash' of github.com:gradido/gradido into login_fix_crash
This commit is contained in:
commit
c7a370411e
@ -70,10 +70,13 @@ namespace controller {
|
||||
|
||||
Poco::AutoPtr<EmailVerificationCode> EmailVerificationCode::loadOrCreate(int user_id, model::table::EmailOptInType type)
|
||||
{
|
||||
model::table::EmailOptIn db;
|
||||
auto db = new model::table::EmailOptIn();
|
||||
std::vector<std::string> fields = { "user_id", "email_opt_in_type_id" };
|
||||
std::vector<int> field_values = { user_id, (int)type };
|
||||
auto results = db.loadFromDB<int, model::table::EmailOptInTuple>(fields, field_values);
|
||||
auto results = db->loadFromDB<int, model::table::EmailOptInTuple>(fields, field_values);
|
||||
db->release();
|
||||
db = nullptr;
|
||||
|
||||
if (results.size() > 0) {
|
||||
return Poco::AutoPtr<EmailVerificationCode>(new EmailVerificationCode(new model::table::EmailOptIn(results[0])));
|
||||
}
|
||||
|
||||
@ -136,7 +136,7 @@ namespace controller {
|
||||
{
|
||||
auto db = new model::table::User();
|
||||
if (0 == db->loadFromDB("id", user_id)) {
|
||||
delete db;
|
||||
db->release();
|
||||
return nullptr;
|
||||
}
|
||||
auto user = new User(db);
|
||||
|
||||
@ -16,7 +16,7 @@ namespace model {
|
||||
AppAccessToken(int user_id, const Poco::UInt64& code);
|
||||
AppAccessToken(const AppAccessCodeTuple& tuple);
|
||||
AppAccessToken();
|
||||
~AppAccessToken();
|
||||
|
||||
|
||||
// generic db operations
|
||||
const char* getTableName() const { return "app_access_tokens"; }
|
||||
@ -32,6 +32,8 @@ namespace model {
|
||||
size_t update();
|
||||
|
||||
protected:
|
||||
~AppAccessToken();
|
||||
|
||||
Poco::Data::Statement _loadFromDB(Poco::Data::Session session, const std::string& fieldName);
|
||||
Poco::Data::Statement _loadIdFromDB(Poco::Data::Session session);
|
||||
Poco::Data::Statement _insertIntoDB(Poco::Data::Session session);
|
||||
|
||||
@ -31,14 +31,15 @@ namespace model {
|
||||
{
|
||||
public:
|
||||
ElopageBuy(const Poco::Net::NameValueCollection& elopage_webhook_requestData);
|
||||
~ElopageBuy();
|
||||
|
||||
|
||||
// generic db operations
|
||||
const char* getTableName() const { return "elopage_buys"; }
|
||||
|
||||
std::string toString();
|
||||
|
||||
protected:
|
||||
~ElopageBuy();
|
||||
|
||||
Poco::Data::Statement _loadIdFromDB(Poco::Data::Session session);
|
||||
Poco::Data::Statement _loadFromDB(Poco::Data::Session session, const std::string& fieldName);
|
||||
Poco::Data::Statement _insertIntoDB(Poco::Data::Session session);
|
||||
|
||||
@ -26,7 +26,7 @@ namespace model {
|
||||
EmailOptIn(const Poco::UInt64& code, EmailOptInType type);
|
||||
EmailOptIn(const EmailOptInTuple& tuple);
|
||||
EmailOptIn();
|
||||
~EmailOptIn();
|
||||
|
||||
|
||||
// generic db operations
|
||||
const char* getTableName() const { return "email_opt_in"; }
|
||||
@ -46,6 +46,8 @@ namespace model {
|
||||
static const char* typeToString(EmailOptInType type);
|
||||
static EmailOptInType stringToType(const std::string& typeString);
|
||||
protected:
|
||||
~EmailOptIn();
|
||||
|
||||
Poco::Data::Statement _loadFromDB(Poco::Data::Session session, const std::string& fieldName);
|
||||
Poco::Data::Statement _loadIdFromDB(Poco::Data::Session session);
|
||||
Poco::Data::Statement _loadMultipleFromDB(Poco::Data::Session session, const std::string& fieldName);
|
||||
|
||||
@ -15,8 +15,7 @@ namespace model {
|
||||
Group();
|
||||
Group(const std::string& alias, const std::string& name, const std::string& url, const std::string& host, const std::string& home, const std::string& description);
|
||||
Group(GroupTuple userTuple);
|
||||
~Group();
|
||||
|
||||
|
||||
// generic db operations
|
||||
const char* getTableName() const { return "groups"; }
|
||||
std::string toString();
|
||||
@ -35,6 +34,8 @@ namespace model {
|
||||
inline void setHome(const std::string& home) { UNIQUE_LOCK; mHome = home; }
|
||||
|
||||
protected:
|
||||
~Group();
|
||||
|
||||
Poco::Data::Statement _loadFromDB(Poco::Data::Session session, const std::string& fieldName);
|
||||
Poco::Data::Statement _loadAllFromDB(Poco::Data::Session session);
|
||||
Poco::Data::Statement _loadMultipleFromDB(Poco::Data::Session session, const std::string& fieldName);
|
||||
|
||||
@ -32,7 +32,7 @@ namespace model {
|
||||
public:
|
||||
ModelBase(int id) :mID(id), mReferenceCount(1) {}
|
||||
ModelBase() : mID(0), mReferenceCount(1) {}
|
||||
virtual ~ModelBase();
|
||||
|
||||
|
||||
virtual const char* getTableName() const = 0;
|
||||
//! called from within of some catch to give more information for debugging, don't lock mutex!
|
||||
@ -90,6 +90,8 @@ namespace model {
|
||||
void duplicate();
|
||||
void release();
|
||||
protected:
|
||||
virtual ~ModelBase();
|
||||
|
||||
virtual Poco::Data::Statement _loadIdFromDB(Poco::Data::Session session) = 0;
|
||||
virtual Poco::Data::Statement _loadFromDB(Poco::Data::Session session, const std::string& fieldName) = 0;
|
||||
virtual Poco::Data::Statement _loadFromDB(Poco::Data::Session session, const std::vector<std::string>& fieldNames, MysqlConditionType conditionType = MYSQL_CONDITION_AND);
|
||||
@ -105,6 +107,9 @@ namespace model {
|
||||
|
||||
mutable std::shared_mutex mSharedMutex;
|
||||
|
||||
private:
|
||||
|
||||
|
||||
};
|
||||
|
||||
template<class T>
|
||||
|
||||
@ -28,7 +28,6 @@ namespace model {
|
||||
PendingTask(int userId, std::string serializedProtoRequest, TaskType type);
|
||||
PendingTask(const PendingTaskTuple& tuple);
|
||||
|
||||
~PendingTask();
|
||||
|
||||
// generic db operations
|
||||
const char* getTableName() const { return "pending_tasks"; }
|
||||
@ -65,6 +64,8 @@ namespace model {
|
||||
|
||||
static const char* typeToString(TaskType type);
|
||||
protected:
|
||||
~PendingTask();
|
||||
|
||||
Poco::Data::Statement _loadFromDB(Poco::Data::Session session, const std::string& fieldName);
|
||||
Poco::Data::Statement _loadAllFromDB(Poco::Data::Session session);
|
||||
Poco::Data::Statement _loadIdFromDB(Poco::Data::Session session);
|
||||
|
||||
@ -38,7 +38,7 @@ namespace model {
|
||||
User();
|
||||
User(UserTuple tuple);
|
||||
User(const std::string& email, const std::string& first_name, const std::string& last_name, int group_id, Poco::UInt64 passwordHashed = 0, std::string languageKey = "de");
|
||||
~User();
|
||||
|
||||
|
||||
// generic db operations
|
||||
const char* getTableName() const { return "users"; }
|
||||
@ -97,6 +97,7 @@ namespace model {
|
||||
Poco::JSON::Object getJson();
|
||||
|
||||
protected:
|
||||
~User();
|
||||
|
||||
Poco::Data::Statement _loadFromDB(Poco::Data::Session session, const std::string& fieldName);
|
||||
Poco::Data::Statement _loadIdFromDB(Poco::Data::Session session);
|
||||
|
||||
@ -15,8 +15,7 @@ namespace model {
|
||||
UserBackup(int user_id, const std::string& passphrase, ServerConfig::Mnemonic_Types type);
|
||||
UserBackup(const UserBackupsTuple& tuple);
|
||||
UserBackup();
|
||||
~UserBackup();
|
||||
|
||||
|
||||
// generic db operations
|
||||
const char* getTableName() const { return "user_backups"; }
|
||||
std::string toString();
|
||||
@ -29,6 +28,7 @@ namespace model {
|
||||
|
||||
|
||||
protected:
|
||||
~UserBackup();
|
||||
|
||||
//! \brief call from constructor if mMnemonicType -1
|
||||
//!
|
||||
|
||||
@ -23,7 +23,6 @@ namespace model {
|
||||
UserRole(int user_id, RoleType type);
|
||||
UserRole(const UserRolesTuple& tuple);
|
||||
UserRole();
|
||||
~UserRole();
|
||||
|
||||
// generic db operations
|
||||
const char* getTableName() const { return "user_roles"; }
|
||||
@ -35,7 +34,9 @@ namespace model {
|
||||
inline void setUserId(int user_Id) { mUserId = user_Id; }
|
||||
|
||||
static const char* typeToString(RoleType type);
|
||||
protected:
|
||||
protected:
|
||||
~UserRole();
|
||||
|
||||
Poco::Data::Statement _loadFromDB(Poco::Data::Session session, const std::string& fieldName);
|
||||
Poco::Data::Statement _loadIdFromDB(Poco::Data::Session session);
|
||||
Poco::Data::Statement _loadMultipleFromDB(Poco::Data::Session session, const std::string& fieldName);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user