update parse proto with cmake, only if not exist or newer, change folder, update includes

This commit is contained in:
einhorn_b 2021-05-03 16:49:19 +02:00
parent d1da7b72b2
commit 928cc0044d
30 changed files with 686 additions and 191 deletions

View File

@ -33,12 +33,102 @@ include_directories(
"dependencies/poco/JSON/include" "dependencies/poco/JSON/include"
"dependencies/poco/Net/include" "dependencies/poco/Net/include"
"dependencies/poco/NetSSL_OpenSSL/include" "dependencies/poco/NetSSL_OpenSSL/include"
"src/cpp/proto" "build"
"build/proto"
) )
############################## config and add grpc ###################################
set(GRPC_PATH "${DEP_PATH}/grpc/build")
set(GRPC_ABSL_PATH "${GRPC_PATH}/third_party/abseil-cpp/absl/types")
set(GRPC_CARES_PATH "${GRPC_PATH}/third_party/cares/cares/lib")
set(GRPC_BORING_SSL_PATH "${GRPC_PATH}/third_party/boringssl-with-bazel")
set(GRPC_RE2_PATH "${GRPC_PATH}/third_party/re2")
set(GRPC_PROTOBUF_PATH "${GRPC_PATH}/third_party/protobuf")
if(WIN32)
set(GRPC_PATH "${GRPC_PATH}/Debug")
set(GRPC_ABSL_PATH "${GRPC_ABSL_PATH}/Debug")
set(GRPC_CARES_PATH "${GRPC_CARES_PATH}/Debug")
set(GRPC_BORING_SSL_PATH "${GRPC_CGRPC_BORING_SSL_PATHARES_PATH}/Debug")
set(GRPC_RE2_PATH "${GRPC_RE2_PATH}/Debug")
set(GRPC_PROTOBUF_DEBUG_PATH "${GRPC_PROTOBUF_PATH}/Debug")
endif()
set(BUILD_TESTING OFF)
set(gRPC_SSL_PROVIDER "package")
add_subdirectory("dependencies/grpc/")
set(gRPC_SSL_PROVIDER "package")
message(STATUS "Using gRPC via add_subdirectory.")
set(GRPC_LIBS libprotobuf grpc++_reflection grpc++)
############################## parse protobuf files ###################################
FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src/proto GRADIDO_PROTO_MODEL_PATH)
FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src/proto/hedera/hedera-protobuf/src/main/proto HEDERA_PROTO_MODEL_PATH)
FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/build/proto PROTOBINDING_PATH)
file(MAKE_DIRECTORY ${PROTOBINDING_PATH})
file(MAKE_DIRECTORY ${PROTOBINDING_PATH}/gradido)
file(MAKE_DIRECTORY ${PROTOBINDING_PATH}/hedera)
FILE(GLOB DATAMODEL_GRADIDO_PROTOS "${GRADIDO_PROTO_MODEL_PATH}/gradido/*.proto")
FILE(GLOB DATAMODEL_HEDERA_PROTOS "${HEDERA_PROTO_MODEL_PATH}/*.proto")
find_program(GRPC_CPP_PLUGIN grpc_cpp_plugin PATHS "build/dependencies/grpc/bin" REQUIRED)
find_program(PROTOBUF_PROTOC_EXECUTABLE protoc PATHS "build/dependencies/grpc/third_party/protobuf/bin" REQUIRED)
FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/grpc/third_party/protobuf/src GOOGLE_PROTOBUF_INCLUDES)
FOREACH(proto ${DATAMODEL_GRADIDO_PROTOS})
FILE(TO_NATIVE_PATH ${proto} proto_native)
get_filename_component(proto_parsed ${proto} NAME_WLE)
FILE(TO_NATIVE_PATH ${PROTOBINDING_PATH}/gradido/${proto_parsed}.pb.h proto_parsed_native)
IF(${proto_native} IS_NEWER_THAN ${proto_parsed_native})
EXECUTE_PROCESS(
COMMAND
${PROTOBUF_PROTOC_EXECUTABLE}
--proto_path=${GRADIDO_PROTO_MODEL_PATH}
--cpp_out=${PROTOBINDING_PATH}
${proto_native}
RESULT_VARIABLE rv
)
# Optional, but that can show the user if something have gone wrong with the proto generation
IF(${rv})
MESSAGE("Generation of data model returned ${rv} for proto ${proto_native}")
ENDIF()
ENDIF()
ENDFOREACH(proto)
FOREACH(proto ${DATAMODEL_HEDERA_PROTOS})
FILE(TO_NATIVE_PATH ${proto} proto_native)
get_filename_component(proto_parsed ${proto} NAME_WLE)
FILE(TO_NATIVE_PATH ${PROTOBINDING_PATH}/hedera/${proto_parsed}.pb.h proto_parsed_native)
IF(${proto_native} IS_NEWER_THAN ${proto_parsed_native})
EXECUTE_PROCESS(
COMMAND
${PROTOBUF_PROTOC_EXECUTABLE}
--plugin=protoc-gen-grpc=${GRPC_CPP_PLUGIN}
--proto_path=${HEDERA_PROTO_MODEL_PATH}
--proto_path=${GOOGLE_PROTOBUF_INCLUDES}
--cpp_out=${PROTOBINDING_PATH}/hedera
--grpc_out ${PROTOBINDING_PATH}/hedera
${proto_native}
RESULT_VARIABLE rv
)
# Optional, but that can show the user if something have gone wrong with the proto generation
IF(${rv})
MESSAGE("Generation of data model returned ${rv} for proto ${proto_native}")
ENDIF()
ENDIF()
ENDFOREACH(proto)
############################## bind source files ###################################
#set(MYSQL_INCLUDE_DIR "dependencies/mariadb-connector-c/include") #set(MYSQL_INCLUDE_DIR "dependencies/mariadb-connector-c/include")
FILE(GLOB CONTROLLER "src/cpp/controller/*.cpp" "src/cpp/controller/*.h") FILE(GLOB CONTROLLER "src/cpp/controller/*.cpp" "src/cpp/controller/*.h")
@ -56,8 +146,8 @@ FILE(GLOB MODEL_GRADIDO "src/cpp/model/gradido/*.h" "src/cpp/model/gradido/*.cpp
FILE(GLOB CRYPTO "src/cpp/Crypto/*.h" "src/cpp/Crypto/*.cpp") FILE(GLOB CRYPTO "src/cpp/Crypto/*.h" "src/cpp/Crypto/*.cpp")
FILE(GLOB MAIN "src/cpp/*.cpp" "src/cpp/*.c" "src/cpp/*.h") FILE(GLOB MAIN "src/cpp/*.cpp" "src/cpp/*.c" "src/cpp/*.h")
FILE(GLOB MYSQL "src/cpp/MySQL/*.cpp" "src/cpp/MySQL/*.h" "src/cpp/MySQL/Poco/*.h") FILE(GLOB MYSQL "src/cpp/MySQL/*.cpp" "src/cpp/MySQL/*.h" "src/cpp/MySQL/Poco/*.h")
FILE(GLOB PROTO_GRADIDO "src/cpp/proto/gradido/*.cc" "src/cpp/proto/gradido/*.h") FILE(GLOB PROTO_GRADIDO "${PROTOBINDING_PATH}/gradido/*.cc" "${PROTOBINDING_PATH}/gradido/*.h")
FILE(GLOB PROTO_HEDERA "src/cpp/proto/hedera/*.cc" "src/cpp/proto/hedera/*.h") FILE(GLOB PROTO_HEDERA "${PROTOBINDING_PATH}/hedera/*.cc" "${PROTOBINDING_PATH}/hedera/*.h")
# used only for test project # used only for test project
FILE(GLOB TEST "src/cpp/test/*.cpp" "src/cpp/test/*.h") FILE(GLOB TEST "src/cpp/test/*.cpp" "src/cpp/test/*.h")
@ -142,33 +232,7 @@ add_subdirectory("dependencies/poco")
set(POCO_LIBS PocoFoundation PocoUtil PocoNet PocoNetSSL PocoData) set(POCO_LIBS PocoFoundation PocoUtil PocoNet PocoNetSSL PocoData)
############################## config and add grpc ###################################
set(GRPC_PATH "${DEP_PATH}/grpc/build")
set(GRPC_ABSL_PATH "${GRPC_PATH}/third_party/abseil-cpp/absl/types")
set(GRPC_CARES_PATH "${GRPC_PATH}/third_party/cares/cares/lib")
set(GRPC_BORING_SSL_PATH "${GRPC_PATH}/third_party/boringssl-with-bazel")
set(GRPC_RE2_PATH "${GRPC_PATH}/third_party/re2")
set(GRPC_PROTOBUF_PATH "${GRPC_PATH}/third_party/protobuf")
if(WIN32)
set(GRPC_PATH "${GRPC_PATH}/Debug")
set(GRPC_ABSL_PATH "${GRPC_ABSL_PATH}/Debug")
set(GRPC_CARES_PATH "${GRPC_CARES_PATH}/Debug")
set(GRPC_BORING_SSL_PATH "${GRPC_CGRPC_BORING_SSL_PATHARES_PATH}/Debug")
set(GRPC_RE2_PATH "${GRPC_RE2_PATH}/Debug")
set(GRPC_PROTOBUF_DEBUG_PATH "${GRPC_PROTOBUF_PATH}/Debug")
endif()
set(BUILD_TESTING OFF)
set(gRPC_SSL_PROVIDER "package")
add_subdirectory("dependencies/grpc/")
set(gRPC_SSL_PROVIDER "package")
message(STATUS "Using gRPC via add_subdirectory.")
set(GRPC_LIBS libprotobuf grpc++_reflection grpc++)
############################## build login server ################################### ############################## build login server ###################################
if(UNIX) if(UNIX)

View File

@ -0,0 +1,431 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-26 22:00+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:181
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:260
msgid "Login"
msgstr ""
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:181
msgid "E-Mail or password isn't right, please try again!"
msgstr ""
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:190
msgid "Passwort"
msgstr ""
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:190
msgid ""
"Passwort wird noch berechnet, bitte versuche es in etwa 1 Minute erneut."
msgstr ""
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:193
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:196
msgid "User"
msgstr ""
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:193
msgid "Error in saved data, the server admin will look at it."
msgstr ""
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:196
msgid "Benutzer ist deaktiviert, kein Login möglich!"
msgstr ""
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:260
msgid "Username and password are needed!"
msgstr ""
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:290
#: model/Session.cpp:164 model/Session.cpp:171 model/Session.cpp:219
#: model/Session.cpp:229
msgid "E-Mail"
msgstr ""
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:291
msgid "Password"
msgstr ""
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:292
msgid " Login "
msgstr ""
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:297
msgid "You haven't any account yet? Please follow the link to create one."
msgstr ""
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:299
msgid "Create New Account"
msgstr ""
#: F:\Gradido\gradido_stage2_local\login_server\src\cpsp\login.cpsp:303
msgid "Passwort vergessen"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\checkEmail.cpsp:73
msgid "E-Mail verifizieren"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\checkEmail.cpsp:78
msgid ""
"Deine E-Mail wurde erfolgreich bestätigt. Du kannst nun Gradidos versenden."
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\checkEmail.cpsp:79
msgid "Zur Startseite"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\checkEmail.cpsp:81
msgid "Bitte gib deinen E-Mail Verification Code ein:"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\checkEmail.cpsp:82
#: model/Session.cpp:187
msgid "Email Verification Code"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\checkEmail.cpsp:83
msgid "&Uuml;berpr&uuml;fe Code"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\checkEmail.cpsp:86
msgid "Du hast bisher keinen Code erhalten?"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\checkEmail.cpsp:87
msgid "E-Mail erneut zuschicken (in Arbeit)"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\checkEmail.cpsp:90
msgid "Funktioniert dein E-Mail Verification Code nicht?"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\checkEmail.cpsp:91
msgid "Schicke uns eine E-Mail und wir k&uuml;mmern uns darum: "
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\checkEmail.cpsp:92
#: F:\Gradido\gradido_login_server\src\cpsp\resetPassword.cpsp:151
msgid "E-Mail an Support schicken"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\resetPassword.cpsp:113
#: F:\Gradido\gradido_login_server\src\cpsp\resetPassword.cpsp:124
msgid "Gib bitte hier deine E-Mail Adresse an:"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\resetPassword.cpsp:116
msgid "Bestätigen"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\resetPassword.cpsp:126
msgid "Hast du dir deine Passphrase notiert oder gemerkt?"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\resetPassword.cpsp:131
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:206
msgid "Ja"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\resetPassword.cpsp:136
msgid "Nein"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\resetPassword.cpsp:140
msgid "Absenden"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\resetPassword.cpsp:145
msgid "Dir wird eine E-Mail zugeschickt um dein Passwort zur&uuml;ckzusetzen."
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\resetPassword.cpsp:147
msgid "Der Admin hat eine E-Mail bekommen und wird sich bei dir melden."
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\resetPassword.cpsp:149
msgid ""
"Du hast bereits eine E-Mail bekommen. Bitte schau auch in dein Spam-"
"Verzeichnis nach. "
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\resetPassword.cpsp:150
msgid ""
"Du hast wirklich keine E-Mail erhalten und auch schon ein paar Minuten "
"gewartet?"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:26
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:96
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:117
#: model/Session.cpp:463 model/Session.cpp:475 model/Session.cpp:489
msgid "Passphrase"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:27
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:266
msgid "Neues Konto anlegen"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:28
msgid "2/3"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:96
msgid ""
"Diese Passphrase ist ung&uuml;ltig, bitte &uuml;berpr&uuml;fen oder neu "
"generieren (lassen)."
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:117
msgid "intern error please try again later"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:132
msgid "3/3"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:135
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:138
msgid "1/3"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:137
msgid "Neues Passwort anlegen"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:148
msgid "Passphrase abschreiben"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:159
msgid "Was ist eine Passphrase?"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:160
msgid "Deine Passphrase besteht aus den im grünen Feld angezeigten Wörtern."
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:161
msgid "Sie dient deiner Sicherheit."
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:162
msgid ""
"Du brauchst deine Passphrase um dein Konto wiederherzustellen, wenn du mal "
"dein Passwort vergessen haben solltest."
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:164
msgid "Deine Passphrase (Groß/Kleinschreibung beachten)"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:169
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:197
msgid "Was zu tun ist:"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:170
msgid ""
"Schreibe dir die obenstehende Passphrase <b>von Hand</b> auf ein Blatt "
"Papier!"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:171
msgid "Speichere sie auf keinen Fall auf deinem Rechner oder Mobilgerät!!"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:172
msgid "Bewahre sie an einem sicheren Ort auf!"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:174
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:285
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:290
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:303
msgid "Weiter"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:198
msgid "Hast du dir deine Passphrase gemerkt?"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:199
msgid ""
"Dann zeig es mir. Zur Unterstützung gebe ich dir deine Wörter aber in "
"anderer Reihenfolge."
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:200
msgid "Klicke sie an um sie einzusetzen."
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:201
msgid "Überprüfe dabei, ob du alle Wörter richtig geschrieben hast!"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:205
msgid ""
"Weil du kein Javascript verwendest geht es direkt weiter. Hast du dir deine "
"Passphrase gemerkt oder aufgeschrieben?"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:252
msgid "Deine E-Mail Adresse wurde erfolgreich bestätigt."
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:256
msgid "Neue Gradido Adresse anlegen / wiederherstellen"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:257
msgid ""
"Möchtest du ein neues Gradido-Konto anlegen oder ein bestehendes "
"wiederherstellen?"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:273
msgid "Bestehendes Konto wiederherstellen"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:280
msgid ""
"Falls du ein bestehendes Konto wiederherstellen willst, gib hier deine "
"Passphrase ein:"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:297
msgid "Konto wiederherstellen / Neues Passwort anlegen"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:299
msgid ""
"Um dein Konto wiederherzustellen und dir ein Neues Passwort auswählen zu "
"können, tippe hier bitte die Wörter deiner Passphrase in der richtigen "
"Reihenfolge ein, welche du dir aufgeschrieben hast."
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:313
msgid "Fehler"
msgstr ""
#: F:\Gradido\gradido_login_server\src\cpsp\passphrase.cpsp:314
msgid ""
"Ungültige Seite, wenn du das siehst stimmt hier etwas nicht. Bitte wende "
"dich an den Server-Admin."
msgstr ""
#: model/Session.cpp:150 model/Session.cpp:180 model/Session.cpp:769
#: model/Session.cpp:775 model/Session.cpp:1051 model/Session.cpp:1067
msgid "Benutzer"
msgstr ""
#: model/Session.cpp:150
msgid "Eingeloggter Benutzer ist kein Admin"
msgstr ""
#: model/Session.cpp:156 model/Session.cpp:211
msgid "Vorname"
msgstr ""
#: model/Session.cpp:156 model/Session.cpp:160 model/Session.cpp:211
#: model/Session.cpp:215
msgid ""
"Bitte gebe einen Namen an. Mindestens 3 Zeichen, keines folgender Zeichen "
"<>&;"
msgstr ""
#: model/Session.cpp:160 model/Session.cpp:215
msgid "Nachname"
msgstr ""
#: model/Session.cpp:164 model/Session.cpp:219
msgid "Bitte gebe eine g&uuml;ltige E-Mail Adresse an."
msgstr ""
#: model/Session.cpp:171
msgid "F&uuml;r diese E-Mail Adresse gibt es bereits einen Account"
msgstr ""
#: model/Session.cpp:180 model/Session.cpp:187
msgid "Fehler beim speichern!"
msgstr ""
#: model/Session.cpp:229
msgid "F&uuml;r diese E-Mail Adresse gibt es bereits ein Konto"
msgstr ""
#: model/Session.cpp:253
msgid "Server"
msgstr ""
#: model/Session.cpp:253
msgid "Fehler beim speichen des Kontos bitte versuche es später noch einmal"
msgstr ""
#: model/Session.cpp:348 model/Session.cpp:388 model/Session.cpp:956
#: model/Session.cpp:965
msgid "E-Mail Verification"
msgstr ""
#: model/Session.cpp:348
msgid "Du hast dein Konto bereits aktiviert!"
msgstr ""
#: model/Session.cpp:388
msgid "Falscher Code f&uuml;r aktiven Login"
msgstr ""
#: model/Session.cpp:463
msgid "Deine Passphrase ist ung&uuml;tig"
msgstr ""
#: model/Session.cpp:475
msgid "Ein Fehler trat auf, bitte versuche es erneut"
msgstr ""
#: model/Session.cpp:489
msgid "Das ist nicht die richtige Passphrase."
msgstr ""
#: model/Session.cpp:769
msgid "Konnte Community Server nicht erreichen. E-Mail an den Admin ist raus."
msgstr ""
#: model/Session.cpp:775
msgid ""
"Fehler beim L&ouml;schen des Accounts. Bitte logge dich erneut ein und "
"versuche es nochmal."
msgstr ""
#: model/Session.cpp:956
msgid "Konnte kein passendes Konto finden."
msgstr ""
#: model/Session.cpp:965
msgid "Fehler beim laden des Benutzers."
msgstr ""
#: model/Session.cpp:1051
msgid "Kein g&uuml;ltiger Benutzer, bitte logge dich erneut ein."
msgstr ""
#: model/Session.cpp:1067
msgid "Fehler beim generieren der Passphrase, der Admin bekommt eine E-Mail. "
msgstr ""

View File

@ -8,7 +8,7 @@
#include "TableControllerBase.h" #include "TableControllerBase.h"
#include "../proto/hedera/BasicTypes.pb.h" #include "proto/hedera/BasicTypes.pb.h"
namespace controller { namespace controller {
class HederaAccount; class HederaAccount;
@ -43,4 +43,4 @@ namespace controller {
}; };
} }
#endif //GRADIDO_LOGIN_SERVER_CONTROLLER_HEDERA_ID_INCLUDE #endif //GRADIDO_LOGIN_SERVER_CONTROLLER_HEDERA_ID_INCLUDE

View File

@ -11,9 +11,9 @@
#include "Poco/JSON/Array.h" #include "Poco/JSON/Array.h"
#include "../SingletonManager/LanguageManager.h" #include "../SingletonManager/LanguageManager.h"
#include "../proto/hedera/Timestamp.pb.h" #include "proto/hedera/Timestamp.pb.h"
#include "../proto/hedera/Duration.pb.h" #include "proto/hedera/Duration.pb.h"
#include "../proto/gradido/BasicTypes.pb.h" #include "proto/gradido/BasicTypes.pb.h"
#include "sodium.h" #include "sodium.h"
@ -37,13 +37,13 @@ namespace DataTypeConverter {
MemoryBin* hexToBin(const std::string& hexString); MemoryBin* hexToBin(const std::string& hexString);
MemoryBin* base64ToBin(const std::string& base64String, int variant = sodium_base64_VARIANT_ORIGINAL); MemoryBin* base64ToBin(const std::string& base64String, int variant = sodium_base64_VARIANT_ORIGINAL);
std::string binToBase64(const unsigned char* data, size_t size, int variant = sodium_base64_VARIANT_ORIGINAL); std::string binToBase64(const unsigned char* data, size_t size, int variant = sodium_base64_VARIANT_ORIGINAL);
inline std::string binToBase64(const MemoryBin* data, int variant = sodium_base64_VARIANT_ORIGINAL) { return binToBase64(data->data(), data->size(), variant); } inline std::string binToBase64(const MemoryBin* data, int variant = sodium_base64_VARIANT_ORIGINAL) { return binToBase64(data->data(), data->size(), variant); }
inline std::string binToBase64(const std::string& proto_bin, int variant = sodium_base64_VARIANT_ORIGINAL) { inline std::string binToBase64(const std::string& proto_bin, int variant = sodium_base64_VARIANT_ORIGINAL) {
return binToBase64((const unsigned char*)proto_bin.data(), proto_bin.size(), variant); return binToBase64((const unsigned char*)proto_bin.data(), proto_bin.size(), variant);
} }
std::string binToHex(const unsigned char* data, size_t size); std::string binToHex(const unsigned char* data, size_t size);
std::string binToHex(const Poco::Nullable<Poco::Data::BLOB>& nullableBin); std::string binToHex(const Poco::Nullable<Poco::Data::BLOB>& nullableBin);
inline std::string binToHex(const MemoryBin* data) { return binToHex(data->data(), data->size());} inline std::string binToHex(const MemoryBin* data) { return binToHex(data->data(), data->size());}

View File

@ -5,7 +5,7 @@
#include "../gradido/TransactionBase.h" #include "../gradido/TransactionBase.h"
#include "../lib/DataTypeConverter.h" #include "../../lib/DataTypeConverter.h"
namespace model { namespace model {
@ -169,7 +169,7 @@ Gradido Login-Server\n\
std::string content_string; std::string content_string;
switch (mType) { switch (mType) {
case EMAIL_DEFAULT: case EMAIL_DEFAULT:
mailMessage->addRecipient(adminRecipient); mailMessage->addRecipient(adminRecipient);
mailMessage->setSubject(langCatalog->gettext_str("Default Email Subject")); mailMessage->setSubject(langCatalog->gettext_str("Default Email Subject"));
mailMessage->addContent(new Poco::Net::StringPartSource(langCatalog->gettext_str("Empty Email Content"), mt.toString())); mailMessage->addContent(new Poco::Net::StringPartSource(langCatalog->gettext_str("Empty Email Content"), mt.toString()));
@ -180,7 +180,7 @@ Gradido Login-Server\n\
mailMessage->setSubject(langCatalog->gettext_str("Error from Gradido Login Server")); mailMessage->setSubject(langCatalog->gettext_str("Error from Gradido Login Server"));
mailMessage->addContent(new Poco::Net::StringPartSource(mErrorHtml, mt.toString())); mailMessage->addContent(new Poco::Net::StringPartSource(mErrorHtml, mt.toString()));
break; break;
case EMAIL_USER_VERIFICATION_CODE: case EMAIL_USER_VERIFICATION_CODE:
case EMAIL_USER_VERIFICATION_CODE_RESEND: case EMAIL_USER_VERIFICATION_CODE_RESEND:
case EMAIL_USER_VERIFICATION_CODE_RESEND_AFTER_LONG_TIME: case EMAIL_USER_VERIFICATION_CODE_RESEND_AFTER_LONG_TIME:
@ -284,7 +284,7 @@ Gradido Login-Server\n\
std::string Email::replaceUserNamesAndLink( std::string Email::replaceUserNamesAndLink(
const char* src, const char* src,
const std::string& first_name, const std::string& first_name,
const std::string& last_name, const std::string& last_name,
const std::string& link, const std::string& link,
Poco::UInt64 code Poco::UInt64 code
) { ) {
@ -300,7 +300,7 @@ Gradido Login-Server\n\
else { else {
addError(new Error(functionName, "no first_name placeholder found")); addError(new Error(functionName, "no first_name placeholder found"));
} }
findPos = result.find("[last_name]", findCursor); findPos = result.find("[last_name]", findCursor);
if (findPos != result.npos) { if (findPos != result.npos) {
findCursor = findPos + last_name.size(); findCursor = findPos + last_name.size();
@ -438,4 +438,4 @@ Gradido Login-Server\n\
return EMAIL_ERROR; return EMAIL_ERROR;
} }
} }
} }

View File

@ -2,7 +2,7 @@
#define __GRADIDO_LOGIN_SERVER_MODEL_GRADIDO_GROUP_MEMBER_UPDATE_H #define __GRADIDO_LOGIN_SERVER_MODEL_GRADIDO_GROUP_MEMBER_UPDATE_H
#include "TransactionBase.h" #include "TransactionBase.h"
#include "../../proto/gradido/GroupMemberUpdate.pb.h" #include "proto/gradido/GroupMemberUpdate.pb.h"
namespace model { namespace model {
@ -26,4 +26,4 @@ namespace model {
} }
} }
#endif #endif

View File

@ -9,9 +9,9 @@
#include "../../controller/HederaAccount.h" #include "../../controller/HederaAccount.h"
#include "../../controller/HederaRequest.h" #include "../../controller/HederaRequest.h"
#include "../lib/DataTypeConverter.h" #include "../../lib/DataTypeConverter.h"
#include "../lib/Profiler.h" #include "../../lib/Profiler.h"
#include "../lib/JsonRequest.h" #include "../../lib/JsonRequest.h"
#include "../hedera/Transaction.h" #include "../hedera/Transaction.h"
#include "../hedera/TransactionId.h" #include "../hedera/TransactionId.h"
@ -30,7 +30,7 @@ namespace model {
Transaction::Transaction(Poco::AutoPtr<TransactionBody> body) Transaction::Transaction(Poco::AutoPtr<TransactionBody> body)
: mTransactionBody(body), mBodyBytesHash(0) : mTransactionBody(body), mBodyBytesHash(0)
{ {
auto body_bytes = mTransactionBody->getBodyBytes(); auto body_bytes = mTransactionBody->getBodyBytes();
mBodyBytesHash = DRMakeStringHash(body_bytes.data(), body_bytes.size()); mBodyBytesHash = DRMakeStringHash(body_bytes.data(), body_bytes.size());
mProtoTransaction.set_body_bytes(body_bytes); mProtoTransaction.set_body_bytes(body_bytes);
@ -50,7 +50,7 @@ namespace model {
auto body_bytes = mTransactionBody->getBodyBytes(); auto body_bytes = mTransactionBody->getBodyBytes();
mBodyBytesHash = DRMakeStringHash(body_bytes.data(), body_bytes.size()); mBodyBytesHash = DRMakeStringHash(body_bytes.data(), body_bytes.size());
} }
Transaction::~Transaction() Transaction::~Transaction()
{ {
Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex); Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex);
@ -76,7 +76,7 @@ namespace model {
} }
auto body = TransactionBody::create("", user, proto::gradido::GroupMemberUpdate_MemberUpdateType_ADD_USER, group_model->getAlias()); auto body = TransactionBody::create("", user, proto::gradido::GroupMemberUpdate_MemberUpdateType_ADD_USER, group_model->getAlias());
Poco::AutoPtr<Transaction> result = new Transaction(body); Poco::AutoPtr<Transaction> result = new Transaction(body);
auto model = result->getModel(); auto model = result->getModel();
model->setHederaId(topic_id->getModel()->getID()); model->setHederaId(topic_id->getModel()->getID());
@ -87,7 +87,7 @@ namespace model {
Poco::AutoPtr<Transaction> Transaction::createCreation( Poco::AutoPtr<Transaction> Transaction::createCreation(
Poco::AutoPtr<controller::User> receiver, Poco::AutoPtr<controller::User> receiver,
Poco::UInt32 amount, Poco::UInt32 amount,
Poco::DateTime targetDate, Poco::DateTime targetDate,
const std::string& memo, const std::string& memo,
BlockchainType blockchainType BlockchainType blockchainType
@ -101,7 +101,7 @@ namespace model {
} }
auto network_type = ServerConfig::g_HederaNetworkType; auto network_type = ServerConfig::g_HederaNetworkType;
auto receiver_model = receiver->getModel(); auto receiver_model = receiver->getModel();
auto body = TransactionBody::create(memo, receiver, amount, targetDate, blockchainType); auto body = TransactionBody::create(memo, receiver, amount, targetDate, blockchainType);
Poco::AutoPtr<Transaction> result = new Transaction(body); Poco::AutoPtr<Transaction> result = new Transaction(body);
@ -118,7 +118,7 @@ namespace model {
} }
model->setHederaId(topic_id->getModel()->getID()); model->setHederaId(topic_id->getModel()->getID());
} }
result->insertPendingTaskIntoDB(receiver, model::table::TASK_TYPE_CREATION); result->insertPendingTaskIntoDB(receiver, model::table::TASK_TYPE_CREATION);
PendingTasksManager::getInstance()->addTask(result); PendingTasksManager::getInstance()->addTask(result);
return result; return result;
@ -129,7 +129,7 @@ namespace model {
const MemoryBin* receiverPubkey, const MemoryBin* receiverPubkey,
Poco::AutoPtr<controller::Group> receiverGroup, Poco::AutoPtr<controller::Group> receiverGroup,
Poco::UInt32 amount, Poco::UInt32 amount,
const std::string& memo, const std::string& memo,
BlockchainType blockchainType, BlockchainType blockchainType,
bool inbound/* = true*/ bool inbound/* = true*/
) )
@ -143,25 +143,25 @@ namespace model {
if (sender.isNull() || !sender->getModel() || !receiverPubkey || !amount) { if (sender.isNull() || !sender->getModel() || !receiverPubkey || !amount) {
return transaction; return transaction;
} }
auto sender_model = sender->getModel(); auto sender_model = sender->getModel();
if (blockchainType == BLOCKCHAIN_MYSQL) { if (blockchainType == BLOCKCHAIN_MYSQL) {
transaction_body = TransactionBody::create(memo, sender, receiverPubkey, amount, blockchainType); transaction_body = TransactionBody::create(memo, sender, receiverPubkey, amount, blockchainType);
transaction = new Transaction(transaction_body); transaction = new Transaction(transaction_body);
} }
else if (blockchainType == BLOCKCHAIN_HEDERA) else if (blockchainType == BLOCKCHAIN_HEDERA)
{ {
auto network_type = ServerConfig::g_HederaNetworkType; auto network_type = ServerConfig::g_HederaNetworkType;
// LOCAL Transfer // LOCAL Transfer
if (receiverGroup.isNull() || sender_model->getGroupId() == receiverGroup->getModel()->getID()) if (receiverGroup.isNull() || sender_model->getGroupId() == receiverGroup->getModel()->getID())
{ {
topic_id = controller::HederaId::find(sender_model->getGroupId(), network_type); topic_id = controller::HederaId::find(sender_model->getGroupId(), network_type);
if (topic_id.isNull()) if (topic_id.isNull())
{ {
em->addError(new ParamError(function_name, "could'n find topic for group: ", sender_model->getGroupId())); em->addError(new ParamError(function_name, "could'n find topic for group: ", sender_model->getGroupId()));
em->addError(new ParamError(function_name, "network type: ", network_type)); em->addError(new ParamError(function_name, "network type: ", network_type));
@ -220,7 +220,7 @@ namespace model {
transaction_model->setHederaId(topic_id->getModel()->getID()); transaction_model->setHederaId(topic_id->getModel()->getID());
} }
transaction->setParam("blockchain_type", (int)blockchainType); transaction->setParam("blockchain_type", (int)blockchainType);
transaction->insertPendingTaskIntoDB(sender, model::table::TASK_TYPE_TRANSFER); transaction->insertPendingTaskIntoDB(sender, model::table::TASK_TYPE_TRANSFER);
PendingTasksManager::getInstance()->addTask(transaction); PendingTasksManager::getInstance()->addTask(transaction);
@ -249,10 +249,10 @@ namespace model {
} }
Poco::AutoPtr<Transaction> Transaction::createTransfer( Poco::AutoPtr<Transaction> Transaction::createTransfer(
const MemoryBin* senderPubkey, const MemoryBin* senderPubkey,
Poco::AutoPtr<controller::User> receiver, Poco::AutoPtr<controller::User> receiver,
std::string senderGroupAlias, std::string senderGroupAlias,
Poco::UInt32 amount, Poco::UInt32 amount,
const std::string& memo, const std::string& memo,
BlockchainType blockchainType BlockchainType blockchainType
) )
@ -268,7 +268,7 @@ namespace model {
//std::vector<Poco::AutoPtr<TransactionBody>> bodys; //std::vector<Poco::AutoPtr<TransactionBody>> bodys;
auto receiver_model = receiver->getModel(); auto receiver_model = receiver->getModel();
auto network_type = ServerConfig::g_HederaNetworkType; auto network_type = ServerConfig::g_HederaNetworkType;
auto sender_groups = controller::Group::load(senderGroupAlias); auto sender_groups = controller::Group::load(senderGroupAlias);
if (!sender_groups.size()) { if (!sender_groups.size()) {
em->addError(new ParamError(function_name, "couldn't find group", senderGroupAlias)); em->addError(new ParamError(function_name, "couldn't find group", senderGroupAlias));
@ -286,10 +286,10 @@ namespace model {
Poco::Timestamp pairedTransactionId; Poco::Timestamp pairedTransactionId;
// create only inbound transaction, and outbound before sending to hedera // create only inbound transaction, and outbound before sending to hedera
//for (int i = 0; i < 1; i++) { //for (int i = 0; i < 1; i++) {
//transaction_group = receiverGroup; //transaction_group = receiverGroup;
//topic_group = sender_group; //topic_group = sender_group;
if (transaction_group.isNull()) { if (transaction_group.isNull()) {
em->addError(new Error(function_name, "transaction group is zero, inbound")); em->addError(new Error(function_name, "transaction group is zero, inbound"));
em->sendErrorsAsEmail(); em->sendErrorsAsEmail();
@ -314,7 +314,7 @@ namespace model {
return result; return result;
} }
Poco::AutoPtr<Transaction> Transaction::load(model::table::PendingTask* dbModel) Poco::AutoPtr<Transaction> Transaction::load(model::table::PendingTask* dbModel)
{ {
@ -335,10 +335,10 @@ namespace model {
if (!finished) { if (!finished) {
transaction->ifEnoughSignsProceed(nullptr); transaction->ifEnoughSignsProceed(nullptr);
} }
return transaction; return transaction;
} }
bool Transaction::insertPendingTaskIntoDB(Poco::AutoPtr<controller::User> user, model::table::TaskType type) bool Transaction::insertPendingTaskIntoDB(Poco::AutoPtr<controller::User> user, model::table::TaskType type)
{ {
static const char* function_name = "Transaction::insertPendingTaskIntoDB"; static const char* function_name = "Transaction::insertPendingTaskIntoDB";
@ -355,7 +355,7 @@ namespace model {
model->setTaskType(type); model->setTaskType(type);
model->setRequest(mProtoTransaction.SerializeAsString()); model->setRequest(mProtoTransaction.SerializeAsString());
if (!model->insertIntoDB(true)) { if (!model->insertIntoDB(true)) {
return false; return false;
} }
return true; return true;
@ -365,8 +365,8 @@ namespace model {
{ {
static const char function_name[] = "Transaction::addSign"; static const char function_name[] = "Transaction::addSign";
Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex); Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex);
if (user.isNull() || !user->getModel()) if (user.isNull() || !user->getModel())
{ {
addError(new Error(function_name, "error user is invalid")); addError(new Error(function_name, "error user is invalid"));
return false; return false;
@ -381,9 +381,9 @@ namespace model {
} }
auto hash = DRMakeStringHash(bodyBytes.data(), bodyBytes.size()); auto hash = DRMakeStringHash(bodyBytes.data(), bodyBytes.size());
auto sigMap = mProtoTransaction.mutable_sig_map(); auto sigMap = mProtoTransaction.mutable_sig_map();
if (sigMap->sigpair_size() > 0 && mBodyBytesHash && mBodyBytesHash != hash) if (sigMap->sigpair_size() > 0 && mBodyBytesHash && mBodyBytesHash != hash)
{ {
addError(new Error(function_name, "body bytes hash has changed and signature(s) exist already!")); addError(new Error(function_name, "body bytes hash has changed and signature(s) exist already!"));
return false; return false;
@ -413,33 +413,33 @@ namespace model {
auto gradido_key_pair = user->getGradidoKeyPair(); auto gradido_key_pair = user->getGradidoKeyPair();
KeyPairEd25519* recovered_gradido_key_pair = nullptr; KeyPairEd25519* recovered_gradido_key_pair = nullptr;
if (!gradido_key_pair || !gradido_key_pair->hasPrivateKey()) if (!gradido_key_pair || !gradido_key_pair->hasPrivateKey())
{ {
if (!user->tryLoadPassphraseUserBackup(&recovered_gradido_key_pair)) if (!user->tryLoadPassphraseUserBackup(&recovered_gradido_key_pair))
{ {
if (user->setGradidoKeyPair(recovered_gradido_key_pair)) if (user->setGradidoKeyPair(recovered_gradido_key_pair))
{ {
user->getModel()->updatePrivkey(); user->getModel()->updatePrivkey();
} }
} }
else else
{ {
addError(new Error(function_name, "user cannot decrypt private key")); addError(new Error(function_name, "user cannot decrypt private key"));
return false; return false;
} }
} }
MemoryBin* sign = nullptr; MemoryBin* sign = nullptr;
if (gradido_key_pair) if (gradido_key_pair)
{ {
sign = gradido_key_pair->sign(bodyBytes); sign = gradido_key_pair->sign(bodyBytes);
} }
else if (recovered_gradido_key_pair) else if (recovered_gradido_key_pair)
{ {
sign = recovered_gradido_key_pair->sign(bodyBytes); sign = recovered_gradido_key_pair->sign(bodyBytes);
} }
if (!sign) if (!sign)
{ {
ErrorManager::getInstance()->sendErrorsAsEmail(); ErrorManager::getInstance()->sendErrorsAsEmail();
addError(new Error(function_name, "error by calculate signature")); addError(new Error(function_name, "error by calculate signature"));
@ -457,7 +457,7 @@ namespace model {
mm->releaseMemory(sign); mm->releaseMemory(sign);
updateRequestInDB(); updateRequestInDB();
return ifEnoughSignsProceed(user); return ifEnoughSignsProceed(user);
} }
@ -509,7 +509,7 @@ namespace model {
// check if all signatures belong to current body bytes // check if all signatures belong to current body bytes
auto body_bytes = mProtoTransaction.body_bytes(); auto body_bytes = mProtoTransaction.body_bytes();
for (auto it = sig_map.sigpair().begin(); it != sig_map.sigpair().end(); it++) for (auto it = sig_map.sigpair().begin(); it != sig_map.sigpair().end(); it++)
{ {
KeyPairEd25519 key_pair((const unsigned char*)it->pubkey().data()); KeyPairEd25519 key_pair((const unsigned char*)it->pubkey().data());
if (!key_pair.verify(body_bytes, it->ed25519())) { if (!key_pair.verify(body_bytes, it->ed25519())) {
@ -537,7 +537,7 @@ namespace model {
addError(new ParamError(function_name, "user public key has invalid size: ", pubkey_size)); addError(new ParamError(function_name, "user public key has invalid size: ", pubkey_size));
return false; return false;
} }
for (auto it = sig_pairs.begin(); it != sig_pairs.end(); it++) for (auto it = sig_pairs.begin(); it != sig_pairs.end(); it++)
{ {
if (it->pubkey().size() != KeyPairEd25519::getPublicKeySize()) { if (it->pubkey().size() != KeyPairEd25519::getPublicKeySize()) {
addError(new ParamError(function_name, "signed public key has invalid length: ", it->pubkey().size())); addError(new ParamError(function_name, "signed public key has invalid length: ", it->pubkey().size()));
@ -589,7 +589,7 @@ namespace model {
static const char* function_name = "Transaction::runSendTransaction"; static const char* function_name = "Transaction::runSendTransaction";
auto result = validate(); auto result = validate();
if (TRANSACTION_VALID_OK != result) { if (TRANSACTION_VALID_OK != result) {
if ( TRANSACTION_VALID_MISSING_SIGN == result || TRANSACTION_VALID_CODE_ERROR == result if ( TRANSACTION_VALID_MISSING_SIGN == result || TRANSACTION_VALID_CODE_ERROR == result
|| TRANSACTION_VALID_MISSING_PARAM == result || TRANSCATION_VALID_INVALID_PUBKEY == result || TRANSACTION_VALID_MISSING_PARAM == result || TRANSCATION_VALID_INVALID_PUBKEY == result
|| TRANSACTION_VALID_INVALID_SIGN == result) { || TRANSACTION_VALID_INVALID_SIGN == result) {
addError(new ParamError(function_name, "code error", TransactionValidationToString(result))); addError(new ParamError(function_name, "code error", TransactionValidationToString(result)));
@ -599,20 +599,20 @@ namespace model {
addError(new ParamError(function_name, "validation return: ", TransactionValidationToString(result))); addError(new ParamError(function_name, "validation return: ", TransactionValidationToString(result)));
//sendErrorsAsEmail(); //sendErrorsAsEmail();
} }
else else
{ {
std::string error_name; std::string error_name;
std::string error_description; std::string error_description;
auto lm = LanguageManager::getInstance(); auto lm = LanguageManager::getInstance();
auto user_model = getUser()->getModel(); auto user_model = getUser()->getModel();
auto t = lm->getFreeCatalog(lm->languageFromString(user_model->getLanguageKey())); auto t = lm->getFreeCatalog(lm->languageFromString(user_model->getLanguageKey()));
switch (result) { switch (result) {
case TRANSACTION_VALID_FORBIDDEN_SIGN: case TRANSACTION_VALID_FORBIDDEN_SIGN:
error_name = t->gettext_str("Signature Error"); error_name = t->gettext_str("Signature Error");
error_description = t->gettext_str("Invalid signature!"); error_description = t->gettext_str("Invalid signature!");
break; break;
case TRANSACTION_VALID_INVALID_TARGET_DATE: case TRANSACTION_VALID_INVALID_TARGET_DATE:
error_name = t->gettext_str("Creation Error"); error_name = t->gettext_str("Creation Error");
error_description = t->gettext_str("Invalid target date! No future and only 3 month in the past."); error_description = t->gettext_str("Invalid target date! No future and only 3 month in the past.");
break; break;
@ -628,7 +628,7 @@ namespace model {
error_name = t->gettext_str("Group Error"); error_name = t->gettext_str("Group Error");
error_description = t->gettext_str("Invalid Group Alias! I didn't know group, please check alias and try again."); error_description = t->gettext_str("Invalid Group Alias! I didn't know group, please check alias and try again.");
break; break;
default: default:
error_name = t->gettext_str("Unknown Error"); error_name = t->gettext_str("Unknown Error");
error_description = t->gettext_str("Admin gets an E-Mail"); error_description = t->gettext_str("Admin gets an E-Mail");
addError(new ParamError(function_name, "unknown error", TransactionValidationToString(result))); addError(new ParamError(function_name, "unknown error", TransactionValidationToString(result)));
@ -738,7 +738,7 @@ namespace model {
auto hedera_precheck_code_string = hedera_transaction_response->getPrecheckCodeString(); auto hedera_precheck_code_string = hedera_transaction_response->getPrecheckCodeString();
auto precheck_code = hedera_transaction_response->getPrecheckCode(); auto precheck_code = hedera_transaction_response->getPrecheckCode();
auto cost = hedera_transaction_response->getCost(); auto cost = hedera_transaction_response->getCost();
// for showing in docker // for showing in docker
std::clog << "hedera response: " << hedera_precheck_code_string std::clog << "hedera response: " << hedera_precheck_code_string
<< ", cost: " << cost << ", cost: " << cost
@ -791,7 +791,7 @@ namespace model {
return -4; return -4;
} }
return 0; return 0;
} }
int Transaction::runSendTransactionMysql() int Transaction::runSendTransactionMysql()
{ {
@ -807,10 +807,10 @@ namespace model {
auto base_64_message = DataTypeConverter::binToBase64(raw_message, sodium_base64_VARIANT_URLSAFE_NO_PADDING); auto base_64_message = DataTypeConverter::binToBase64(raw_message, sodium_base64_VARIANT_URLSAFE_NO_PADDING);
if (base_64_message == "") { if (base_64_message == "") {
addError(new Error(function_name, "error convert final transaction to base64")); addError(new Error(function_name, "error convert final transaction to base64"));
return -7; return -7;
} }
// create json request // create json request
auto user = getUser(); auto user = getUser();
@ -834,7 +834,7 @@ namespace model {
} }
return 1; return 1;
} }
getErrors(&json_request); getErrors(&json_request);
return -1; return -1;
@ -888,8 +888,8 @@ namespace model {
return json_message; return json_message;
} }
/// TASK //////////////////////// /// TASK ////////////////////////
SendTransactionTask::SendTransactionTask(Poco::AutoPtr<Transaction> transaction) SendTransactionTask::SendTransactionTask(Poco::AutoPtr<Transaction> transaction)
: UniLib::controller::CPUTask(ServerConfig::g_CPUScheduler), mTransaction(transaction) : UniLib::controller::CPUTask(ServerConfig::g_CPUScheduler), mTransaction(transaction)
@ -938,4 +938,4 @@ namespace model {
} }
} }
} }

View File

@ -3,23 +3,23 @@
/* /*
* @author: Dario Rekowski * @author: Dario Rekowski
* *
* @date: 12.10.2020 * @date: 12.10.2020
* *
* @brief: mainly for signing gradido transaction * @brief: mainly for signing gradido transaction
*/ */
#include "../../proto/gradido/GradidoTransaction.pb.h" #include "proto/gradido/GradidoTransaction.pb.h"
#include "TransactionBody.h" #include "TransactionBody.h"
#include "../../tasks/GradidoTask.h" #include "../../tasks/GradidoTask.h"
#include "../../controller/User.h" #include "../../controller/User.h"
#include "../tasks/CPUTask.h" #include "../../tasks/CPUTask.h"
namespace model { namespace model {
namespace gradido { namespace gradido {
class Transaction : public GradidoTask class Transaction : public GradidoTask
{ {
@ -32,21 +32,21 @@ namespace model {
// groupMemberUpdate // groupMemberUpdate
static Poco::AutoPtr<Transaction> createGroupMemberUpdate(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 //! \brief transfer
//! \return //! \return
static Poco::AutoPtr<Transaction> createTransfer( static Poco::AutoPtr<Transaction> createTransfer(
Poco::AutoPtr<controller::User> sender, Poco::AutoPtr<controller::User> sender,
const MemoryBin* receiverPubkey, const MemoryBin* receiverPubkey,
Poco::AutoPtr<controller::Group> receiverGroup, Poco::AutoPtr<controller::Group> receiverGroup,
Poco::UInt32 amount, Poco::UInt32 amount,
const std::string& memo, const std::string& memo,
BlockchainType blockchainType, BlockchainType blockchainType,
bool inbound = true); bool inbound = true);
Poco::AutoPtr<Transaction> createTransfer( Poco::AutoPtr<Transaction> createTransfer(
const MemoryBin* senderPubkey, const MemoryBin* senderPubkey,
Poco::AutoPtr<controller::User> receiver, Poco::AutoPtr<controller::User> receiver,
std::string senderGroupAlias, std::string senderGroupAlias,
Poco::UInt32 amount, Poco::UInt32 amount,
const std::string& memo, const std::string& memo,
BlockchainType blockchainType); BlockchainType blockchainType);
@ -66,7 +66,7 @@ namespace model {
//! \brief validate and if valid send transaction via Hedera Consensus Service to node server //! \brief validate and if valid send transaction via Hedera Consensus Service to node server
int runSendTransaction(); int runSendTransaction();
inline Poco::AutoPtr<TransactionBody> getTransactionBody() { Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex); return mTransactionBody; } inline Poco::AutoPtr<TransactionBody> getTransactionBody() { Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex); return mTransactionBody; }
//! \brief get current body bytes from proto transaction and save it into db //! \brief get current body bytes from proto transaction and save it into db

View File

@ -11,11 +11,11 @@
#pragma warning(disable:4800) #pragma warning(disable:4800)
#include "../lib/NotificationList.h" #include "../../lib/NotificationList.h"
#include "../proto/gradido/BasicTypes.pb.h" #include "proto/gradido/BasicTypes.pb.h"
#include "../SingletonManager/MemoryManager.h" #include "../../SingletonManager/MemoryManager.h"
#include "../controller/User.h" #include "../../controller/User.h"
namespace model { namespace model {
namespace gradido { namespace gradido {
@ -40,7 +40,7 @@ namespace model {
public: public:
TransactionBase(const std::string& memo); TransactionBase(const std::string& memo);
virtual ~TransactionBase(); virtual ~TransactionBase();
//! \return 0 if ok, < 0 if error, > 0 if not implemented //! \return 0 if ok, < 0 if error, > 0 if not implemented
virtual int prepare() = 0; virtual int prepare() = 0;
virtual TransactionValidation validate() = 0; virtual TransactionValidation validate() = 0;
@ -72,4 +72,4 @@ namespace model {
#endif //GRADIDO_LOGIN_SERVER_MODEL_TRANSACTION_BASE_INCLUDE #endif //GRADIDO_LOGIN_SERVER_MODEL_TRANSACTION_BASE_INCLUDE

View File

@ -7,7 +7,7 @@
#include "TransactionCreation.h" #include "TransactionCreation.h"
#include "TransactionTransfer.h" #include "TransactionTransfer.h"
#include "../../proto/gradido/TransactionBody.pb.h" #include "proto/gradido/TransactionBody.pb.h"
#include "../../lib/MultithreadContainer.h" #include "../../lib/MultithreadContainer.h"
@ -39,24 +39,24 @@ namespace model {
//! \brief GroupMemberUpdate Transaction //! \brief GroupMemberUpdate Transaction
static Poco::AutoPtr<TransactionBody> create(const std::string& memo, Poco::AutoPtr<controller::User> user, proto::gradido::GroupMemberUpdate_MemberUpdateType type, const std::string& targetGroupAlias); static Poco::AutoPtr<TransactionBody> create(const std::string& memo, Poco::AutoPtr<controller::User> user, proto::gradido::GroupMemberUpdate_MemberUpdateType type, const std::string& targetGroupAlias);
//! \brief GradidoTransfer Transaction //! \brief GradidoTransfer Transaction
//! \param group if group.isNull() it is a local transfer, else cross group transfer, //! \param group if group.isNull() it is a local transfer, else cross group transfer,
//! \param group if group is same as sender group outbound, else inbound //! \param group if group is same as sender group outbound, else inbound
static Poco::AutoPtr<TransactionBody> create( static Poco::AutoPtr<TransactionBody> create(
const std::string& memo, const std::string& memo,
Poco::AutoPtr<controller::User> sender, Poco::AutoPtr<controller::User> sender,
const MemoryBin* receiverPublicKey, const MemoryBin* receiverPublicKey,
Poco::UInt32 amount, Poco::UInt32 amount,
BlockchainType blockchainType, BlockchainType blockchainType,
Poco::Timestamp pairedTransactionId = Poco::Timestamp(), Poco::Timestamp pairedTransactionId = Poco::Timestamp(),
Poco::AutoPtr<controller::Group> group = nullptr Poco::AutoPtr<controller::Group> group = nullptr
); );
static Poco::AutoPtr<TransactionBody> create(const std::string& memo, const MemoryBin* senderPublicKey, Poco::AutoPtr<controller::User> receiver, Poco::UInt32 amount, Poco::Timestamp pairedTransactionId = Poco::Timestamp(), Poco::AutoPtr<controller::Group> group = nullptr); static Poco::AutoPtr<TransactionBody> create(const std::string& memo, const MemoryBin* senderPublicKey, Poco::AutoPtr<controller::User> receiver, Poco::UInt32 amount, Poco::Timestamp pairedTransactionId = Poco::Timestamp(), Poco::AutoPtr<controller::Group> group = nullptr);
static Poco::AutoPtr<TransactionBody> create(const std::string& memo, const MemoryBin* senderPublicKey, const MemoryBin* receiverPublicKey, Poco::UInt32 amount, const std::string groupAlias, TransactionTransferType transferType, Poco::Timestamp pairedTransactionId = Poco::Timestamp()); static Poco::AutoPtr<TransactionBody> create(const std::string& memo, const MemoryBin* senderPublicKey, const MemoryBin* receiverPublicKey, Poco::UInt32 amount, const std::string groupAlias, TransactionTransferType transferType, Poco::Timestamp pairedTransactionId = Poco::Timestamp());
//! \brief GradidoCreation Transaction //! \brief GradidoCreation Transaction
static Poco::AutoPtr<TransactionBody> create( static Poco::AutoPtr<TransactionBody> create(
const std::string& memo, const std::string& memo,
Poco::AutoPtr<controller::User> receiver, Poco::AutoPtr<controller::User> receiver,
Poco::UInt32 amount, Poco::UInt32 amount,
Poco::DateTime targetDate, Poco::DateTime targetDate,
BlockchainType blockchainType BlockchainType blockchainType
); );
@ -68,7 +68,7 @@ namespace model {
static const char* transactionTypeToString(TransactionType type); static const char* transactionTypeToString(TransactionType type);
std::string getMemo(); std::string getMemo();
void setMemo(const std::string& memo); void setMemo(const std::string& memo);
bool isCreation() { Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex); return mType == TRANSACTION_CREATION; } bool isCreation() { Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex); return mType == TRANSACTION_CREATION; }
bool isTransfer() { Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex); return mType == TRANSACTION_TRANSFER; } bool isTransfer() { Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex); return mType == TRANSACTION_TRANSFER; }
bool isGroupMemberUpdate() { Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex); return mType == TRANSACTION_GROUP_MEMBER_UPDATE; } bool isGroupMemberUpdate() { Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex); return mType == TRANSACTION_GROUP_MEMBER_UPDATE; }
@ -97,4 +97,4 @@ namespace model {
} }
} }
#endif //GRADIDO_LOGIN_SERVER_MODEL_GRADIDO_TRANSACTION_BASE_H #endif //GRADIDO_LOGIN_SERVER_MODEL_GRADIDO_TRANSACTION_BASE_H

View File

@ -12,8 +12,8 @@
#pragma warning(disable:4800) #pragma warning(disable:4800)
#include "TransactionBase.h" #include "TransactionBase.h"
#include "../proto/gradido/GradidoCreation.pb.h" #include "proto/gradido/GradidoCreation.pb.h"
#include "../controller/User.h" #include "../../controller/User.h"
namespace model { namespace model {
namespace gradido { namespace gradido {
@ -47,4 +47,4 @@ namespace model {
} }
#endif //GRADIDO_LOGIN_SERVER_MODEL_TRANSACTION_CREATION_INCLUDE #endif //GRADIDO_LOGIN_SERVER_MODEL_TRANSACTION_CREATION_INCLUDE

View File

@ -15,7 +15,7 @@
//#include "Transaction.h" //#include "Transaction.h"
#include "../proto/gradido/GradidoTransfer.pb.h" #include "../proto/gradido/GradidoTransfer.pb.h"
#include "../controller/User.h" #include "../../controller/User.h"
namespace model { namespace model {
namespace gradido { namespace gradido {
@ -81,4 +81,4 @@ namespace model {
} }
#endif //GRADIDO_LOGIN_SERVER_MODEL_TRANSACTION_TRANSFER_INCLUDE #endif //GRADIDO_LOGIN_SERVER_MODEL_TRANSACTION_TRANSFER_INCLUDE

View File

@ -4,11 +4,11 @@
#include "../../SingletonManager/MemoryManager.h" #include "../../SingletonManager/MemoryManager.h"
#include "../../controller/HederaId.h" #include "../../controller/HederaId.h"
#include "../../proto/hedera/ConsensusCreateTopic.pb.h" #include "proto/hedera/ConsensusCreateTopic.pb.h"
namespace model { namespace model {
namespace hedera { namespace hedera {
class ConsensusCreateTopic class ConsensusCreateTopic
{ {
public: public:
ConsensusCreateTopic(Poco::AutoPtr<controller::HederaId> autoRenewHederaAccountId, Poco::UInt32 autoRenewPeriod); ConsensusCreateTopic(Poco::AutoPtr<controller::HederaId> autoRenewHederaAccountId, Poco::UInt32 autoRenewPeriod);
@ -29,4 +29,4 @@ namespace model {
} }
#endif //__GRADIDO_LOGIN_SERVER_MODEL_HEDERA_CONSENSUS_CREATE_TOPIC_H #endif //__GRADIDO_LOGIN_SERVER_MODEL_HEDERA_CONSENSUS_CREATE_TOPIC_H

View File

@ -1,7 +1,7 @@
#ifndef __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_CONSENSUS_SUBMIT_MESSAGE_H #ifndef __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_CONSENSUS_SUBMIT_MESSAGE_H
#define __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_CONSENSUS_SUBMIT_MESSAGE_H #define __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_CONSENSUS_SUBMIT_MESSAGE_H
#include "../../proto/hedera/ConsensusSubmitMessage.pb.h" #include "proto/hedera/ConsensusSubmitMessage.pb.h"
#include "../../controller/HederaId.h" #include "../../controller/HederaId.h"
namespace model { namespace model {
@ -20,7 +20,7 @@ namespace model {
bool validate(); bool validate();
protected: protected:
proto::ConsensusSubmitMessageTransactionBody* mConsensusMessageBody; proto::ConsensusSubmitMessageTransactionBody* mConsensusMessageBody;
@ -29,4 +29,4 @@ namespace model {
} }
} }
#endif //__GRADIDO_LOGIN_SERVER_MODEL_HEDERA_CONSENSUS_SUBMIT_MESSAGE_H #endif //__GRADIDO_LOGIN_SERVER_MODEL_HEDERA_CONSENSUS_SUBMIT_MESSAGE_H

View File

@ -2,7 +2,7 @@
#define __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_CONSENSUS_GET_TOPIC_INFO_RESPONSE_H #define __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_CONSENSUS_GET_TOPIC_INFO_RESPONSE_H
#include "../proto/hedera/ConsensusTopicInfo.pb.h" #include "../proto/hedera/ConsensusTopicInfo.pb.h"
#include "../SingletonManager/MemoryManager.h" #include "../../SingletonManager/MemoryManager.h"
#include "../../lib/DataTypeConverter.h" #include "../../lib/DataTypeConverter.h"
#include "Poco/DateTime.h" #include "Poco/DateTime.h"
@ -31,4 +31,4 @@ namespace model
} }
} }
#endif //__GRADIDO_LOGIN_SERVER_MODEL_HEDERA_CONSENSUS_GET_TOPIC_INFO_RESPONSE_H #endif //__GRADIDO_LOGIN_SERVER_MODEL_HEDERA_CONSENSUS_GET_TOPIC_INFO_RESPONSE_H

View File

@ -1,9 +1,9 @@
#ifndef __GRADIDO_LOGIN_MODEL_HEDERA_CRYPTO_CREATE_TRANSACTION_H #ifndef __GRADIDO_LOGIN_MODEL_HEDERA_CRYPTO_CREATE_TRANSACTION_H
#define __GRADIDO_LOGIN_MODEL_HEDERA_CRYPTO_CREATE_TRANSACTION_H #define __GRADIDO_LOGIN_MODEL_HEDERA_CRYPTO_CREATE_TRANSACTION_H
#include "../../proto/hedera/CryptoCreate.pb.h" #include "proto/hedera/CryptoCreate.pb.h"
#include "../Crypto/KeyPairHedera.h" #include "../../Crypto/KeyPairHedera.h"
namespace model { namespace model {
namespace hedera { namespace hedera {
@ -28,4 +28,4 @@ namespace model {
#endif //__GRADIDO_LOGIN_MODEL_HEDERA_CRYPTO_CREATE_TRANSACTION_H #endif //__GRADIDO_LOGIN_MODEL_HEDERA_CRYPTO_CREATE_TRANSACTION_H

View File

@ -10,7 +10,7 @@
* *
*/ */
#include "../../proto/hedera/CryptoTransfer.pb.h" #include "proto/hedera/CryptoTransfer.pb.h"
#include "../../controller/HederaId.h" #include "../../controller/HederaId.h"
namespace model { namespace model {
@ -37,4 +37,4 @@ namespace model {
} }
#endif //_GRADIDO_LOGIN_SERVER_MODEL_HEDERA_CRYPTO_TRANSFER_TRANSACTION_H #endif //_GRADIDO_LOGIN_SERVER_MODEL_HEDERA_CRYPTO_TRANSFER_TRANSACTION_H

View File

@ -3,14 +3,14 @@
/*! /*!
* @author: Dario Rekowski * @author: Dario Rekowski
* *
* @date: 31.08.20 * @date: 31.08.20
* *
* @brief: class for put together hedera querys (ask for state data, not a transaction, but needs a payment transaction) * @brief: class for put together hedera querys (ask for state data, not a transaction, but needs a payment transaction)
* *
*/ */
#include "../../proto/hedera/Query.pb.h" #include "proto/hedera/Query.pb.h"
#include "../../controller/NodeServer.h" #include "../../controller/NodeServer.h"
#include "../../Crypto/KeyPairHedera.h" #include "../../Crypto/KeyPairHedera.h"
#include "TransactionBody.h" #include "TransactionBody.h"
@ -39,7 +39,7 @@ namespace model {
void setResponseType(proto::ResponseType type); void setResponseType(proto::ResponseType type);
proto::ResponseType getResponseType(); proto::ResponseType getResponseType();
inline bool setTransactionFee(Poco::UInt64 fee) { return mTransactionBody->updateCryptoTransferAmount(fee);} inline bool setTransactionFee(Poco::UInt64 fee) { return mTransactionBody->updateCryptoTransferAmount(fee);}
inline const proto::Query* getProtoQuery() const { return &mQueryProto; } inline const proto::Query* getProtoQuery() const { return &mQueryProto; }
std::string getConnectionString() const; std::string getConnectionString() const;
@ -57,4 +57,4 @@ namespace model {
} }
#endif //_GRADIDO_LOGIN_SERVER_MODEL_HEDERA_QUERY_H #endif //_GRADIDO_LOGIN_SERVER_MODEL_HEDERA_QUERY_H

View File

@ -10,7 +10,7 @@
* *
*/ */
#include "../../proto/hedera/Response.pb.h" #include "proto/hedera/Response.pb.h"
#include "ConsensusTopicInfo.h" #include "ConsensusTopicInfo.h"
#include "TransactionReceipt.h" #include "TransactionReceipt.h"
#include "TransactionRecord.h" #include "TransactionRecord.h"
@ -23,7 +23,7 @@ namespace model {
public: public:
Response(); Response();
~Response(); ~Response();
inline proto::Response* getResponsePtr() { return &mResponseProto; } inline proto::Response* getResponsePtr() { return &mResponseProto; }
Poco::UInt64 getAccountBalance(); Poco::UInt64 getAccountBalance();
std::unique_ptr<ConsensusTopicInfo> getConsensusTopicInfo(); std::unique_ptr<ConsensusTopicInfo> getConsensusTopicInfo();
@ -31,17 +31,17 @@ namespace model {
TransactionRecord* getTransactionRecord(); TransactionRecord* getTransactionRecord();
Poco::UInt64 getQueryCost(); Poco::UInt64 getQueryCost();
proto::ResponseCodeEnum getResponseCode(); proto::ResponseCodeEnum getResponseCode();
inline bool isCryptoGetAccountBalanceResponse() { return mResponseProto.has_cryptogetaccountbalance(); } inline bool isCryptoGetAccountBalanceResponse() { return mResponseProto.has_cryptogetaccountbalance(); }
inline bool isConsensusGetTopicInfoResponse() { return mResponseProto.has_consensusgettopicinfo(); } inline bool isConsensusGetTopicInfoResponse() { return mResponseProto.has_consensusgettopicinfo(); }
protected: protected:
proto::Response mResponseProto; proto::Response mResponseProto;
}; };
} }
} }
#endif //_GRADIDO_LOGIN_SERVER_MODEL_HEDERA_RESPONSE_H #endif //_GRADIDO_LOGIN_SERVER_MODEL_HEDERA_RESPONSE_H

View File

@ -10,7 +10,7 @@
* *
*/ */
#include "../../proto/hedera/Transaction.pb.h" #include "proto/hedera/Transaction.pb.h"
#include "../../Crypto/KeyPairHedera.h" #include "../../Crypto/KeyPairHedera.h"
#include "TransactionBody.h" #include "TransactionBody.h"
@ -25,7 +25,7 @@ namespace model {
bool sign(std::unique_ptr<KeyPairHedera> keyPairHedera, const TransactionBody* transactionBody); bool sign(std::unique_ptr<KeyPairHedera> keyPairHedera, const TransactionBody* transactionBody);
bool sign(std::unique_ptr<KeyPairHedera> keyPairHedera, std::unique_ptr<TransactionBody> transactionBody); bool sign(std::unique_ptr<KeyPairHedera> keyPairHedera, std::unique_ptr<TransactionBody> transactionBody);
inline proto::Transaction* getTransaction() { return mTransaction; } inline proto::Transaction* getTransaction() { return mTransaction; }
inline std::string getConnectionString() const { return mConnection.getUriWithPort(); } inline std::string getConnectionString() const { return mConnection.getUriWithPort(); }
const controller::NodeServerConnection& getConnection() const { return mConnection; } const controller::NodeServerConnection& getConnection() const { return mConnection; }
@ -43,4 +43,4 @@ namespace model {
} }
#endif //_GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_H #endif //_GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_H

View File

@ -17,7 +17,7 @@
#include "ConsensusCreateTopic.h" #include "ConsensusCreateTopic.h"
#include "ConsensusSubmitMessage.h" #include "ConsensusSubmitMessage.h"
#include "../../proto/hedera/TransactionBody.pb.h" #include "proto/hedera/TransactionBody.pb.h"
namespace model { namespace model {
namespace hedera { namespace hedera {
@ -44,7 +44,7 @@ namespace model {
bool setCryptoCreate(CryptoCreateTransaction& cryptoCreateTransaction); bool setCryptoCreate(CryptoCreateTransaction& cryptoCreateTransaction);
bool setCreateTopic(ConsensusCreateTopic& consensusCreateTopicTransaction); bool setCreateTopic(ConsensusCreateTopic& consensusCreateTopicTransaction);
bool setConsensusSubmitMessage(ConsensusSubmitMessage& consensusSubmitMessageTransaction); bool setConsensusSubmitMessage(ConsensusSubmitMessage& consensusSubmitMessageTransaction);
//bool //bool
inline const proto::TransactionBody* getProtoTransactionBody() const { return &mTransactionBody; } inline const proto::TransactionBody* getProtoTransactionBody() const { return &mTransactionBody; }
inline std::string getConnectionString() const { return mConnection.getUriWithPort(); } inline std::string getConnectionString() const { return mConnection.getUriWithPort(); }
@ -54,7 +54,7 @@ namespace model {
void updateTimestamp(); void updateTimestamp();
protected: protected:
proto::TransactionBody mTransactionBody; proto::TransactionBody mTransactionBody;
controller::NodeServerConnection mConnection; controller::NodeServerConnection mConnection;
bool mHasBody; bool mHasBody;
@ -64,4 +64,4 @@ namespace model {
} }
#endif //_GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_BODY_H #endif //_GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_BODY_H

View File

@ -2,7 +2,7 @@
#define GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_GET_RECEIPT_QUERY_H #define GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_GET_RECEIPT_QUERY_H
#include "QueryHeader.h" #include "QueryHeader.h"
#include "../../proto/hedera/TransactionGetReceipt.pb.h" #include "proto/hedera/TransactionGetReceipt.pb.h"
namespace model { namespace model {
namespace hedera { namespace hedera {
@ -19,11 +19,11 @@ namespace model {
protected: protected:
Poco::AutoPtr<QueryHeader> mQueryHeader; Poco::AutoPtr<QueryHeader> mQueryHeader;
proto::TransactionGetReceiptQuery mProtoReceiptQuery; proto::TransactionGetReceiptQuery mProtoReceiptQuery;
}; };
} }
} }
#endif //GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_GET_RECEIPT_QUERY_H #endif //GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_GET_RECEIPT_QUERY_H

View File

@ -10,7 +10,7 @@
* *
*/ */
#include "../../proto/hedera/BasicTypes.pb.h" #include "proto/hedera/BasicTypes.pb.h"
#include "Poco/JSON/Object.h" #include "Poco/JSON/Object.h"
@ -26,7 +26,7 @@ namespace model {
Poco::JSON::Object::Ptr convertToJSON(); Poco::JSON::Object::Ptr convertToJSON();
protected: protected:
Poco::Timestamp mTransactionValidStart; Poco::Timestamp mTransactionValidStart;
union { union {
struct { struct {
@ -41,4 +41,4 @@ namespace model {
} }
#endif //_GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_ID_H #endif //_GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_ID_H

View File

@ -1,11 +1,11 @@
#ifndef __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_RECORD_H #ifndef __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_RECORD_H
#define __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_RECORD_H #define __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_RECORD_H
#include "../../proto/hedera/TransactionRecord.pb.h" #include "proto/hedera/TransactionRecord.pb.h"
namespace model namespace model
{ {
namespace hedera namespace hedera
{ {
class TransactionRecord class TransactionRecord
{ {

View File

@ -1,7 +1,7 @@
#ifndef __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_RESPONSE_H #ifndef __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_RESPONSE_H
#define __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_RESPONSE_H #define __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_RESPONSE_H
#include "../../proto/hedera/TransactionResponse.pb.h" #include "proto/hedera/TransactionResponse.pb.h"
#include "Poco/Types.h" #include "Poco/Types.h"
namespace model { namespace model {
@ -27,4 +27,4 @@ namespace model {
#endif //__GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_RESPONSE_H #endif //__GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_RESPONSE_H

View File

@ -1,12 +1,12 @@
#include "TestHederaAccount.h" #include "TestHederaAccount.h"
#include "../SingletonManager/ConnectionManager.h" #include "../../SingletonManager/ConnectionManager.h"
namespace controller { namespace controller {
void TestHederaAccount::SetUp() void TestHederaAccount::SetUp()
{ {
} }
TEST_F(TestHederaAccount, TestPick) { TEST_F(TestHederaAccount, TestPick) {
auto hedera_account = controller::HederaAccount::pick(ServerConfig::HEDERA_TESTNET, false); auto hedera_account = controller::HederaAccount::pick(ServerConfig::HEDERA_TESTNET, false);
EXPECT_FALSE(hedera_account.isNull()); EXPECT_FALSE(hedera_account.isNull());

View File

@ -1,6 +1,6 @@
#include "gtest/gtest.h" #include "gtest/gtest.h"
#include "../controller/HederaAccount.h" #include "../../controller/HederaAccount.h"
namespace controller { namespace controller {
@ -10,4 +10,4 @@ namespace controller {
void SetUp() override; void SetUp() override;
}; };
} }

View File

@ -1,5 +1,5 @@
#include "TestHederaId.h" #include "TestHederaId.h"
#include "../SingletonManager/ConnectionManager.h" #include "../../SingletonManager/ConnectionManager.h"
namespace controller { namespace controller {
void TestHederaId::SetUp() void TestHederaId::SetUp()

View File

@ -1,6 +1,6 @@
#include "gtest/gtest.h" #include "gtest/gtest.h"
#include "../controller/HederaId.h" #include "../../controller/HederaId.h"
namespace controller { namespace controller {
@ -10,4 +10,4 @@ namespace controller {
void SetUp() override; void SetUp() override;
}; };
} }

View File

@ -5,7 +5,7 @@
#include "../../lib/Profiler.h" #include "../../lib/Profiler.h"
#include "../../lib/DataTypeConverter.h" #include "../../lib/DataTypeConverter.h"
#include "../ServerConfig.h" #include "../../ServerConfig.h"
void TestAuthenticatedEncryption::SetUp() void TestAuthenticatedEncryption::SetUp()
{ {
@ -39,4 +39,4 @@ TEST_F(TestAuthenticatedEncryption, encryptDecryptTest) {
EXPECT_EQ(std::string((const char*)*decrypted_message, decrypted_message->size()), test_message); EXPECT_EQ(std::string((const char*)*decrypted_message, decrypted_message->size()), test_message);
// */ // */
} }