Ulf Gebhardt 3e726fbe82
- changed login server database to community database
- adjusted table names in login server queries
- removed roles model code since its is unused/empty
2021-10-21 05:10:45 +02:00

76 lines
1.7 KiB
C++

#ifndef GRADIDO_LOGIN_SERVER_MODEL_ELOPAGE_BUY_INCLUDE
#define GRADIDO_LOGIN_SERVER_MODEL_ELOPAGE_BUY_INCLUDE
/*!
* @author: Dario Rekowski
*
* @date: 31.10.2019
*
* @brief: Model for handling Elopage publisher
*
*/
#include "ModelBase.h"
#include "Poco/Types.h"
#include "Poco/Net/NameValueCollection.h"
namespace model {
namespace table {
enum ElopageBuyIDFields {
ELOPAGE_BUY_ID,
ELOPAGE_BUY_AFFILIATE_PROGRAM_ID,
ELOPAGE_BUY_PUBLISHER_ID,
ELOPAGE_BUY_ORDER_ID,
ELOPAGE_BUY_PRODUCT_ID,
ELOPAGE_BUY_PRODUCT_PRICE,
ELOPAGE_BUY_MAX
};
class ElopageBuy : public ModelBase
{
public:
ElopageBuy(const Poco::Net::NameValueCollection& elopage_webhook_requestData);
ElopageBuy();
// generic db operations
const char* getTableName() const { return "login_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);
Poco::Int32 mIDs[ELOPAGE_BUY_MAX];
std::string mPayerEmail;
std::string mPublisherEmail;
bool mPayed;
Poco::DateTime mSuccessDate;
std::string mEvent;
};
// check for user existing
class UserHasElopageTask : public UniLib::controller::CPUTask
{
public:
UserHasElopageTask(std::string email) : mEmail(email), mHasElopage(false) {}
int run();
const char* getResourceType() const { return "UserHasElopageTask"; };
bool hasElopage() const { return mHasElopage; }
protected:
std::string mEmail;
bool mHasElopage;
};
}
}
#endif //GRADIDO_LOGIN_SERVER_MODEL_ELOPAGE_BUY_INCLUDE