diff --git a/src/data/data.tpp b/src/data/data.tpp index 0d835ec..aa4d8ea 100644 --- a/src/data/data.tpp +++ b/src/data/data.tpp @@ -10,6 +10,7 @@ #include #include #include +#include template diff --git a/src/main.cpp b/src/main.cpp index e804f6b..d00b193 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -57,11 +57,16 @@ int main(int argc, char *argv[]) { accountOptHandler.help(); } if (accountOptHandler.getSetOpts()->create) { - accounts.insert(std::pair( - accountOptHandler.getSetOpts()->createAccount, - (storageD + "accounts/" + accountOptHandler.getSetOpts()->createAccount + - ".json", accountOptHandler.getSetOpts()->createAccount) - )); + auto a = accounts.find(accountOptHandler.getSetOpts()->delAccount); + if (a == accounts.end()) { + accounts.emplace(std::piecewise_construct, + std::make_tuple(accountOptHandler.getSetOpts()->createAccount), std::make_tuple( + storageD + "accounts/" + accountOptHandler.getSetOpts()->createAccount + ".json", + accountOptHandler.getSetOpts()->createAccount)); + } else { + std::cout << "Account " << accountOptHandler.getSetOpts()->delAccount << " already exists." + << std::endl; + } } if (accountOptHandler.getSetOpts()->value) { auto a = accounts.find(accountOptHandler.getSetOpts()->valueAccount); @@ -69,6 +74,13 @@ int main(int argc, char *argv[]) { std::cout << "Account value: " << a->second.getAccount()->getValue() << std::endl; } } + if (accountOptHandler.getSetOpts()->del) { + auto a = accounts.find(accountOptHandler.getSetOpts()->delAccount); + if (a != accounts.end()) { + accounts.erase(a); + std::cout << "Deleted account: " << accountOptHandler.getSetOpts()->delAccount << std::endl; + } + } } return 0; }