diff --git a/Interfaces/AAA/intfAccountingBasedModule.cpp b/Interfaces/AAA/intfAccountingBasedModule.cpp index 29d2466c..e1a2bf2f 100644 --- a/Interfaces/AAA/intfAccountingBasedModule.cpp +++ b/Interfaces/AAA/intfAccountingBasedModule.cpp @@ -31,15 +31,17 @@ using namespace Targoman::Common::Configuration; //#include "Server/clsSimpleCrypt.h" #include "Interfaces/Helpers/SecurityHelper.h" #include "Interfaces/Helpers/IteratorHelper.hpp" -using namespace Targoman::API::Helpers; +#include "libTargomanDBM/clsDAC.h" #include "Interfaces/DBM/QueryBuilders.h" -using namespace Targoman::API::DBM; - -using namespace Targoman::API::Common; namespace Targoman::API::AAA { +using namespace Helpers; +using namespace Common; +using namespace DBM; +using namespace DBManager; + static QMap ServiceRegistry; Targoman::Common::Configuration::tmplConfigurable Secret( diff --git a/Interfaces/Common/APIArgHelperMacrosPrivate.h b/Interfaces/Common/APIArgHelperMacrosPrivate.h index 347176b9..b6da6dd2 100644 --- a/Interfaces/Common/APIArgHelperMacrosPrivate.h +++ b/Interfaces/Common/APIArgHelperMacrosPrivate.h @@ -291,7 +291,8 @@ inline QString toCammel(const QString& _name) { } #define TAPI_HELPER_STRUCT_TOJSON_METHOD(n, i, to) \ - if ([](Q_DECL_UNUSED auto v) -> bool { return i; }(n)) Obj[toCammel(#n)] = [](Q_DECL_UNUSED auto v) -> QJsonValue { return to; }(n); + if ([](Q_DECL_UNUSED auto v) -> bool { return i; }(n)) \ + Obj[toCammel(#n)] = [](Q_DECL_UNUSED auto v) -> QJsonValue { return to; }(n); #define TAPI_HELPER_STRUCT_TOJSON_00(n, t, d, i, to, fr) TAPI_HELPER_STRUCT_TOJSON_METHOD(n, i, to); #define TAPI_HELPER_STRUCT_TOJSON_01(n, t, d, i, to, fr, ...) TAPI_HELPER_STRUCT_TOJSON_METHOD(n, i, to); TAPI_HELPER_STRUCT_TOJSON_00(__VA_ARGS__) #define TAPI_HELPER_STRUCT_TOJSON_02(n, t, d, i, to, fr, ...) TAPI_HELPER_STRUCT_TOJSON_METHOD(n, i, to); TAPI_HELPER_STRUCT_TOJSON_01(__VA_ARGS__) @@ -345,7 +346,9 @@ inline QString toCammel(const QString& _name) { //n = _obj.contains(toCammel(#n)) ? [](Q_DECL_UNUSED auto v) -> t { return fr; }(_obj.value(toCammel(#n))) : d #define TAPI_HELPER_STRUCT_FROMJSON_METHOD(n, t, d, fr) \ - if (_obj.contains(toCammel(#n))) \ + if (_obj.contains(#n)) \ + n = [](Q_DECL_UNUSED auto v) -> t { return fr; }(_obj.value(#n)); \ + else if (_obj.contains(toCammel(#n))) \ n = [](Q_DECL_UNUSED auto v) -> t { return fr; }(_obj.value(toCammel(#n))); \ else if (_applyDefaultValues) \ n = d diff --git a/Interfaces/DBM/QueryBuilders.cpp b/Interfaces/DBM/QueryBuilders.cpp index 6671a8c4..b946c7a5 100644 --- a/Interfaces/DBM/QueryBuilders.cpp +++ b/Interfaces/DBM/QueryBuilders.cpp @@ -24,15 +24,15 @@ #include #include "QueryBuilders.h" #include "clsTable.h" -//#include "Interfaces/AAA/clsJWT.hpp" -//using namespace Targoman::API::AAA; #include "Interfaces/Common/intfAPIArgManipulator.h" #include "Interfaces/Server/ServerCommon.h" - -using namespace Targoman::API::Server; +#include "libTargomanDBM/clsDAC.h" namespace Targoman::API::DBM { +using namespace DBManager; +using namespace Server; + stuRelation InvalidRelation("", "", ""); QString finalColName(const clsORMField& _col, const QString& _prefix) { @@ -1224,7 +1224,7 @@ class clsBaseQueryData : public QSharedData friend clsQueryGroupAndHavingTraitData; public: - INTFAPICALLBOOM_IMPL &APICALLBOOM_PARAM; + INTFAPICALLBOOM_DECL &APICALLBOOM_PARAM; itmplDerived *Owner; clsTable _FromTable; ORMSelectQuery FromQuery; @@ -2990,8 +2990,7 @@ QVariantMap ORMSelectQuery::one(QVariantMap _args) { } //template -//T ORMSelectQuery::one(QVariantMap _args) -//{ +//T ORMSelectQuery::one(QVariantMap _args) { // QVariantMap info = this->one(_args); // T t; // t.fromJson(QJsonObject::fromVariantMap(info)); @@ -3006,9 +3005,9 @@ QVariantMap ORMSelectQuery::tryOne(QVariantMap _args) { return QVariantMap(); } } + //template -//T ORMSelectQuery::tryOne(QVariantMap _args) noexcept -//{ +//T ORMSelectQuery::tryOne(QVariantMap _args) noexcept { // QT_TRY { // QVariantMap info = this->one(_args); // T t; diff --git a/Interfaces/DBM/QueryBuilders.h b/Interfaces/DBM/QueryBuilders.h index fa705b0f..b4ab2f9a 100644 --- a/Interfaces/DBM/QueryBuilders.h +++ b/Interfaces/DBM/QueryBuilders.h @@ -34,9 +34,6 @@ #endif #endif -#include "libTargomanDBM/clsDAC.h" -using namespace Targoman::DBManager; - class testQueryBuilders; #include "Interfaces/DBM/Defs.hpp" @@ -555,14 +552,14 @@ class ORMSelectQuery : bool isPure(); QVariantMap one(QVariantMap _args = {}); - template inline T one(QVariantMap _args = {}) { + template T one(QVariantMap _args = {}) { QVariantMap info = this->one(_args); T t; t.fromJson(QJsonObject::fromVariantMap(info)); return t; } QVariantMap tryOne(QVariantMap _args = {}); - template inline T tryOne(QVariantMap _args = {}) noexcept { + template T tryOne(QVariantMap _args = {}) noexcept { QT_TRY { QVariantMap info = this->one(_args); T t; diff --git a/Modules/Account/moduleSrc/Account.cpp b/Modules/Account/moduleSrc/Account.cpp index 1e8b13ec..42200e12 100644 --- a/Modules/Account/moduleSrc/Account.cpp +++ b/Modules/Account/moduleSrc/Account.cpp @@ -24,8 +24,8 @@ #include "Account.h" #include "libQFieldValidator/QFieldValidator.h" #include "libTargomanCommon/Configuration/Validators.hpp" +#include "libTargomanDBM/clsDAC.h" #include "Interfaces/AAA/clsJWT.hpp" - #include "ORM/User.h" #include "ORM/APITokens.h" //#include "ORM/APITokenValidIPs.h" @@ -47,22 +47,15 @@ #include "Payment/intfPaymentGateway.h" //#include "Interfaces/ORM/APIQueryBuilders.h" #include "Interfaces/ORM/intfAlerts.h" - #include "Interfaces/ObjectStorage/ObjectStorageManager.h" #include "Interfaces/ObjectStorage/Gateways/gtwNFS.h" #include "Interfaces/ObjectStorage/Gateways/gtwAWSS3.h" -using namespace Targoman::API::ObjectStorage; - #include "Interfaces/Helpers/PhoneHelper.h" #include "Interfaces/Helpers/SecurityHelper.h" #include "Interfaces/Helpers/RESTClientHelper.h" #include "Interfaces/Helpers/FixtureHelper.h" #include "Interfaces/Helpers/IteratorHelper.hpp" #include "Interfaces/Helpers/URLHelper.h" -using namespace Targoman::API::Helpers; - -using namespace Targoman::API::AAA; - #include "Interfaces/Server/QJWT.h" TAPI_REGISTER_TARGOMAN_ENUM(TAPI, enuOAuthType); @@ -79,16 +72,16 @@ TAPI_REGISTER_TARGOMAN_ENUM(TAPI, enuSaleableType); // [](const Targoman::API::AccountModule::stuMultiJWT& _value) -> QVariant{return QJsonObject({{"ssn", _value.Session}, {"lgn", _value.Login}}).toVariantMap();} //); -//namespace Targoman::API { - -//using namespace DBManager; -//using namespace Targoman::Common; using namespace Targoman::Common::Configuration; namespace Targoman::API::AccountModule { +using namespace ObjectStorage; using namespace Payment; using namespace ORM; +using namespace DBManager; +using namespace Helpers; +using namespace AAA; ///@TODO: move this to config file static QSet InvalidPasswords = { diff --git a/Modules/Account/moduleSrc/ORM/APITokens.cpp b/Modules/Account/moduleSrc/ORM/APITokens.cpp index ec483b34..9423e274 100644 --- a/Modules/Account/moduleSrc/ORM/APITokens.cpp +++ b/Modules/Account/moduleSrc/ORM/APITokens.cpp @@ -30,6 +30,7 @@ #include "Interfaces/Helpers/SecurityHelper.h" #include "Interfaces/Helpers/TokenHelper.h" #include "Interfaces/Server/QJWT.h" +#include "libTargomanDBM/clsDAC.h" TAPI_REGISTER_TARGOMAN_ENUM(Targoman::API::AccountModule, enuAPITokensStatus); @@ -43,6 +44,7 @@ namespace Targoman::API::AccountModule::ORM { using namespace AAA; using namespace Helpers; using namespace Server; +using namespace DBManager; /******************************************************/ TARGOMAN_API_SUBMODULE_IMPLEMENT(Account, APITokens); diff --git a/Modules/Account/moduleSrc/ORM/User.cpp b/Modules/Account/moduleSrc/ORM/User.cpp index 3e63a8ac..c085210b 100644 --- a/Modules/Account/moduleSrc/ORM/User.cpp +++ b/Modules/Account/moduleSrc/ORM/User.cpp @@ -26,13 +26,14 @@ #include "Roles.h" //#include "Interfaces/ORM/APIQueryBuilders.h" #include "Interfaces/Helpers/PhoneHelper.h" -using namespace Targoman::API::Helpers; +#include "libTargomanDBM/clsDAC.h" TAPI_REGISTER_TARGOMAN_ENUM(Targoman::API::AccountModule, enuUserExtraInfoJsonKey); namespace Targoman::API::AccountModule::ORM { -//using namespace DBManager; +using namespace Helpers; +using namespace DBManager; /*****************************************************************\ |* User **********************************************************| diff --git a/Modules/Advert/moduleSrc/Advert.cpp b/Modules/Advert/moduleSrc/Advert.cpp index 77020855..726b0e83 100644 --- a/Modules/Advert/moduleSrc/Advert.cpp +++ b/Modules/Advert/moduleSrc/Advert.cpp @@ -26,10 +26,8 @@ #include "Interfaces/AAA/PrivHelpers.h" #include "Interfaces/Common/GenericEnums.hpp" #include "Interfaces/Common/HTTPExceptions.hpp" -//#include "Interfaces/ORM/APIQueryBuilders.h" #include "Interfaces/Helpers/SecurityHelper.h" -using namespace Targoman::API::Helpers; - +#include "libTargomanDBM/clsDAC.h" #include "ORM/Accounting.h" #include "ORM/Defs.hpp" #include "ORM/ActiveAds.h" @@ -37,12 +35,8 @@ using namespace Targoman::API::Helpers; #include "ORM/Clicks.h" #include "ORM/Props.h" #include "ORM/Locations.h" - #include "Interfaces/Helpers/RESTClientHelper.h" #include "Interfaces/Helpers/FixtureHelper.h" -using namespace Targoman::API::Helpers; - -using namespace Targoman::API::AAA; TAPI_REGISTER_TARGOMAN_ENUM(Targoman::API::AdvertModule, enuAdvertType); TAPI_REGISTER_TARGOMAN_ENUM(Targoman::API::AdvertModule, enuAdvertOrder); @@ -55,12 +49,12 @@ TAPI_REGISTER_METATYPE_TYPE_STRUCT( stuAdvert ); -//using namespace Targoman::API::AAA; -//using namespace AdvertModule; - namespace Targoman::API::AdvertModule { using namespace ORM; +using namespace Helpers; +using namespace DBManager; +using namespace AAA; TARGOMAN_API_MODULE_IMPLEMENT(Advert) //--------------------------------------------------------- diff --git a/Modules/MT/functionalTest/testMT.hpp b/Modules/MT/functionalTest/testMT.hpp index 73c384ff..27480360 100644 --- a/Modules/MT/functionalTest/testMT.hpp +++ b/Modules/MT/functionalTest/testMT.hpp @@ -231,10 +231,10 @@ private slots: {}, { { "name", "test mt" }, -// { "services", QStringList({ -// "MT", -// "blablabla", -// }) }, + { "services", QStringList({ + "MT", + "blablabla", + }) }, }); QVERIFY(Result.isValid()); @@ -296,7 +296,38 @@ private slots: } } - void finalizeBasket_1() { + void addToBasket_2() { + QT_TRY { + int ItemsCount = this->LastPreVoucher.Items.length(); + + QVariant Result = callUserAPI( + RESTClientHelper::POST, + "MT/addToBasket", + {}, + { + { "saleableCode", this->MTSaleableCode }, + { "orderAdditives", QVariantMap({ { "adtv1", "222" }, { "adtv2", 222 } }) }, + { "qty", 1 }, + { "apiToken", this->TokenJWT }, + { "lastPreVoucher", this->LastPreVoucher.toJson().toVariantMap() }, + } + ); + + stuBasketActionResult BasketActionResult; + BasketActionResult.fromJson(Result.toJsonObject()); + this->LastPreVoucher = BasketActionResult.PreVoucher; + + auto item = this->LastPreVoucher.Items.last(); + QVERIFY(item.TotalPrice == 12'000); + + QVERIFY(this->LastPreVoucher.Items.length() > ItemsCount); + + } QT_CATCH (const std::exception &exp) { + QTest::qFail(exp.what(), __FILE__, __LINE__); + } + } + + void finalizeBasket() { QT_TRY { QVariant Result = callUserAPI( RESTClientHelper::POST, @@ -322,7 +353,7 @@ private slots: } } - void approveOnlinePayment_1() { + void approveOnlinePayment() { if (this->BasketVoucher.PaymentKey.isEmpty() == false) { QT_TRY { QVariant Result = callGuestAPI( @@ -341,7 +372,7 @@ private slots: this->ApproveOnlinePaymentVoucher.fromJson(Result.toJsonObject()); QVERIFY(this->ApproveOnlinePaymentVoucher.ID > 0); - QVERIFY(this->ApproveOnlinePaymentVoucher.Payed == 12'000); + QVERIFY(this->ApproveOnlinePaymentVoucher.Payed == 24'000); QVERIFY(this->ApproveOnlinePaymentVoucher.Remained == 0); } QT_CATCH (const std::exception &exp) { diff --git a/Modules/Ticketing/moduleSrc/Ticketing.cpp b/Modules/Ticketing/moduleSrc/Ticketing.cpp index de496ff5..fb8c2a41 100644 --- a/Modules/Ticketing/moduleSrc/Ticketing.cpp +++ b/Modules/Ticketing/moduleSrc/Ticketing.cpp @@ -34,17 +34,18 @@ #include "Interfaces/ObjectStorage/ObjectStorageManager.h" #include "Interfaces/ObjectStorage/Gateways/gtwNFS.h" #include "Interfaces/ObjectStorage/Gateways/gtwAWSS3.h" -using namespace Targoman::API::ObjectStorage; - #include "Interfaces/Helpers/RESTClientHelper.h" #include "Interfaces/Helpers/FixtureHelper.h" -using namespace Targoman::API::Helpers; +#include "libTargomanDBM/clsDAC.h" TAPI_REGISTER_TARGOMAN_ENUM(Targoman::API::TicketingModule, enuTicketType); namespace Targoman::API::TicketingModule { using namespace ORM; +using namespace Helpers; +using namespace DBManager; +using namespace ObjectStorage; TARGOMAN_API_MODULE_IMPLEMENT(Ticketing) //--------------------------------------------------------- diff --git a/conf/api.conf b/conf/api.conf index 4999f461..3ee48119 100644 --- a/conf/api.conf +++ b/conf/api.conf @@ -548,36 +548,36 @@ DB/Schema = TargomanMT #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # @@@ Module_NGTv1 SECTION @@@ #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -[Module_NGTv1] +#[Module_NGTv1] # Database Host address # Valid values: # Default value: 127.0.0.1 #--------------------------------------- -DB/Host = 127.0.0.1 +#DB/Host = 127.0.0.1 # Database port # Valid values: 10 to 65000 # Default value: 3306 #--------------------------------------- -DB/Port = 3306 +#DB/Port = 3306 # Database username for connection # Valid values: # Default value: root #--------------------------------------- -DB/User = root +#DB/User = root # Database password # Valid values: # Default value: targoman123 #--------------------------------------- -DB/Pass = targoman123 +#DB/Pass = targoman123 # Database schema # Valid values: # Default value: NGTv1 #--------------------------------------- -DB/Schema = NGT +#DB/Schema = NGT #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # @@@ Module_Ticketing SECTION @@@