mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
finalize new transaction creation strategy, TODO: test and fix errors
This commit is contained in:
parent
06b425a658
commit
31add877cf
@ -68,7 +68,7 @@ void UserUpdateGroupPage::handleRequest(Poco::Net::HTTPServerRequest& request, P
|
||||
addError(new Error(gettext("Fehler"), gettext("Interner Fehler")));
|
||||
} else {
|
||||
auto addGroupMemberTransaction =
|
||||
model::gradido::Transaction::create(user, choosen_group);
|
||||
model::gradido::Transaction::createGroupMemberUpdate(user, choosen_group);
|
||||
response.redirect(ServerConfig::g_serverPath + "/checkTransactions");
|
||||
return;
|
||||
state = PAGE_STATE_REQUEST_IS_RUNNING;
|
||||
|
||||
@ -78,7 +78,8 @@ Poco::JSON::Object* JsonCreateTransaction::transfer(Poco::Dynamic::Var params)
|
||||
return stateError("parameter format unknown");
|
||||
}
|
||||
|
||||
|
||||
model::gradido::Transaction::createTransfer(mSession->getNewUser(), target_pubkey, mTargetGroup, amount, mMemo);
|
||||
return stateSuccess();
|
||||
}
|
||||
Poco::JSON::Object* JsonCreateTransaction::creation(Poco::Dynamic::Var params)
|
||||
{
|
||||
@ -98,6 +99,8 @@ Poco::JSON::Object* JsonCreateTransaction::creation(Poco::Dynamic::Var params)
|
||||
else {
|
||||
return stateError("parameter format unknown");
|
||||
}
|
||||
model::gradido::Transaction::createCreation(mSession->getNewUser(), amount, target_date, mMemo);
|
||||
return stateSuccess();
|
||||
|
||||
}
|
||||
Poco::JSON::Object* JsonCreateTransaction::groupMemberUpdate(Poco::Dynamic::Var params)
|
||||
@ -105,7 +108,7 @@ Poco::JSON::Object* JsonCreateTransaction::groupMemberUpdate(Poco::Dynamic::Var
|
||||
if (mTargetGroup.isNull()) {
|
||||
return stateError("target_group not found");
|
||||
}
|
||||
model::gradido::Transaction::create(mSession->getNewUser(), mTargetGroup);
|
||||
model::gradido::Transaction::createGroupMemberUpdate(mSession->getNewUser(), mTargetGroup);
|
||||
return stateSuccess();
|
||||
|
||||
}
|
||||
|
||||
0
src/cpp/JSONInterface/JsonNetworkInfos.cpp
Normal file
0
src/cpp/JSONInterface/JsonNetworkInfos.cpp
Normal file
0
src/cpp/JSONInterface/JsonNetwortkInfos.h
Normal file
0
src/cpp/JSONInterface/JsonNetwortkInfos.h
Normal file
@ -42,7 +42,7 @@ namespace model {
|
||||
Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex);
|
||||
}
|
||||
|
||||
Poco::AutoPtr<Transaction> Transaction::create(Poco::AutoPtr<controller::User> user, Poco::AutoPtr<controller::Group> group)
|
||||
Poco::AutoPtr<Transaction> Transaction::createGroupMemberUpdate(Poco::AutoPtr<controller::User> user, Poco::AutoPtr<controller::Group> group)
|
||||
{
|
||||
auto em = ErrorManager::getInstance();
|
||||
static const char* function_name = "Transaction::create group member update";
|
||||
@ -71,7 +71,7 @@ namespace model {
|
||||
return result;
|
||||
}
|
||||
|
||||
Poco::AutoPtr<Transaction> Transaction::create(Poco::AutoPtr<controller::User> receiver, Poco::UInt32 amount, Poco::DateTime targetDate, const std::string& memo)
|
||||
Poco::AutoPtr<Transaction> Transaction::createCreation(Poco::AutoPtr<controller::User> receiver, Poco::UInt32 amount, Poco::DateTime targetDate, const std::string& memo)
|
||||
{
|
||||
auto em = ErrorManager::getInstance();
|
||||
static const char* function_name = "Transaction::create creation";
|
||||
@ -98,22 +98,21 @@ namespace model {
|
||||
return result;
|
||||
}
|
||||
|
||||
std::vector<Poco::AutoPtr<Transaction>> Transaction::create(Poco::AutoPtr<controller::User> sender, MemoryBin* receiverPubkey, Poco::AutoPtr<controller::Group> receiverGroup, Poco::UInt32 amount, const std::string& memo)
|
||||
std::vector<Poco::AutoPtr<Transaction>> Transaction::createTransfer(Poco::AutoPtr<controller::User> sender, MemoryBin* receiverPubkey, Poco::AutoPtr<controller::Group> receiverGroup, Poco::UInt32 amount, const std::string& memo)
|
||||
{
|
||||
std::vector<Poco::AutoPtr<Transaction>> results;
|
||||
auto em = ErrorManager::getInstance();
|
||||
static const char* function_name = "Transaction::create transfer";
|
||||
|
||||
if (sender.isNull() || !sender->getModel() || receiverGroup.isNull() || !receiverGroup->getModel() || !receiverPubkey || !amount) {
|
||||
if (sender.isNull() || !sender->getModel() || !receiverPubkey || !amount) {
|
||||
return results;
|
||||
}
|
||||
|
||||
//std::vector<Poco::AutoPtr<TransactionBody>> bodys;
|
||||
auto sender_model = sender->getModel();
|
||||
auto group_model = receiverGroup->getModel();
|
||||
auto network_type = table::HEDERA_TESTNET;
|
||||
// LOCAL Transfer
|
||||
if (sender_model->getGroupId() == group_model->getID())
|
||||
if (receiverGroup.isNull() || sender_model->getGroupId() == receiverGroup->getModel()->getID())
|
||||
{
|
||||
auto body = TransactionBody::create(memo, sender, receiverPubkey, amount);
|
||||
Poco::AutoPtr<Transaction> transaction = new Transaction(body);
|
||||
|
||||
@ -27,12 +27,12 @@ namespace model {
|
||||
|
||||
// create group add member transaction
|
||||
// groupMemberUpdate
|
||||
static Poco::AutoPtr<Transaction> create(Poco::AutoPtr<controller::User> user, Poco::AutoPtr<controller::Group> group);
|
||||
static Poco::AutoPtr<Transaction> createGroupMemberUpdate(Poco::AutoPtr<controller::User> user, Poco::AutoPtr<controller::Group> group);
|
||||
//! \brief transfer
|
||||
//! \return for cross group transaction return two transactions
|
||||
static std::vector<Poco::AutoPtr<Transaction>> create(Poco::AutoPtr<controller::User> sender, MemoryBin* receiverPubkey, Poco::AutoPtr<controller::Group> receiverGroup, Poco::UInt32 amount, const std::string& memo);
|
||||
|
||||
static Poco::AutoPtr<Transaction> create(Poco::AutoPtr<controller::User> receiver, Poco::UInt32 amount, Poco::DateTime targetDate, const std::string& memo);
|
||||
static std::vector<Poco::AutoPtr<Transaction>> createTransfer(Poco::AutoPtr<controller::User> sender, MemoryBin* receiverPubkey, Poco::AutoPtr<controller::Group> receiverGroup, Poco::UInt32 amount, const std::string& memo);
|
||||
//! \brief creation transaction
|
||||
static Poco::AutoPtr<Transaction> createCreation(Poco::AutoPtr<controller::User> receiver, Poco::UInt32 amount, Poco::DateTime targetDate, const std::string& memo);
|
||||
static Poco::AutoPtr<Transaction> load(model::table::PendingTask* dbModel);
|
||||
|
||||
bool sign(Poco::AutoPtr<controller::User> user);
|
||||
|
||||
@ -84,7 +84,7 @@ namespace model {
|
||||
return obj;
|
||||
}
|
||||
|
||||
Poco::AutoPtr<TransactionBody> TransactionBody::load(const std::string& memo, Poco::AutoPtr<controller::User> receiver, Poco::UInt32 amount, Poco::DateTime targetDate)
|
||||
Poco::AutoPtr<TransactionBody> TransactionBody::create(const std::string& memo, Poco::AutoPtr<controller::User> receiver, Poco::UInt32 amount, Poco::DateTime targetDate)
|
||||
{
|
||||
if (receiver.isNull() || !receiver->getModel()) {
|
||||
return nullptr;
|
||||
|
||||
@ -46,7 +46,7 @@ enum PageState {
|
||||
addError(new Error(gettext("Fehler"), gettext("Interner Fehler")));
|
||||
} else {
|
||||
auto addGroupMemberTransaction =
|
||||
model::gradido::Transaction::create(user, choosen_group);
|
||||
model::gradido::Transaction::createGroupMemberUpdate(user, choosen_group);
|
||||
response.redirect(ServerConfig::g_serverPath + "/checkTransactions");
|
||||
return;
|
||||
state = PAGE_STATE_REQUEST_IS_RUNNING;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user