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/Net/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")
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 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 PROTO_GRADIDO "src/cpp/proto/gradido/*.cc" "src/cpp/proto/gradido/*.h")
FILE(GLOB PROTO_HEDERA "src/cpp/proto/hedera/*.cc" "src/cpp/proto/hedera/*.h")
FILE(GLOB PROTO_GRADIDO "${PROTOBINDING_PATH}/gradido/*.cc" "${PROTOBINDING_PATH}/gradido/*.h")
FILE(GLOB PROTO_HEDERA "${PROTOBINDING_PATH}/hedera/*.cc" "${PROTOBINDING_PATH}/hedera/*.h")
# used only for test project
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)
############################## 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 ###################################
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 "../proto/hedera/BasicTypes.pb.h"
#include "proto/hedera/BasicTypes.pb.h"
namespace controller {
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 "../SingletonManager/LanguageManager.h"
#include "../proto/hedera/Timestamp.pb.h"
#include "../proto/hedera/Duration.pb.h"
#include "../proto/gradido/BasicTypes.pb.h"
#include "proto/hedera/Timestamp.pb.h"
#include "proto/hedera/Duration.pb.h"
#include "proto/gradido/BasicTypes.pb.h"
#include "sodium.h"
@ -37,13 +37,13 @@ namespace DataTypeConverter {
MemoryBin* hexToBin(const std::string& hexString);
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);
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) {
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 Poco::Nullable<Poco::Data::BLOB>& nullableBin);
inline std::string binToHex(const MemoryBin* data) { return binToHex(data->data(), data->size());}

View File

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

View File

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

View File

@ -9,9 +9,9 @@
#include "../../controller/HederaAccount.h"
#include "../../controller/HederaRequest.h"
#include "../lib/DataTypeConverter.h"
#include "../lib/Profiler.h"
#include "../lib/JsonRequest.h"
#include "../../lib/DataTypeConverter.h"
#include "../../lib/Profiler.h"
#include "../../lib/JsonRequest.h"
#include "../hedera/Transaction.h"
#include "../hedera/TransactionId.h"
@ -30,7 +30,7 @@ namespace model {
Transaction::Transaction(Poco::AutoPtr<TransactionBody> body)
: mTransactionBody(body), mBodyBytesHash(0)
{
auto body_bytes = mTransactionBody->getBodyBytes();
mBodyBytesHash = DRMakeStringHash(body_bytes.data(), body_bytes.size());
mProtoTransaction.set_body_bytes(body_bytes);
@ -50,7 +50,7 @@ namespace model {
auto body_bytes = mTransactionBody->getBodyBytes();
mBodyBytesHash = DRMakeStringHash(body_bytes.data(), body_bytes.size());
}
Transaction::~Transaction()
{
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());
Poco::AutoPtr<Transaction> result = new Transaction(body);
auto model = result->getModel();
model->setHederaId(topic_id->getModel()->getID());
@ -87,7 +87,7 @@ namespace model {
Poco::AutoPtr<Transaction> Transaction::createCreation(
Poco::AutoPtr<controller::User> receiver,
Poco::UInt32 amount,
Poco::UInt32 amount,
Poco::DateTime targetDate,
const std::string& memo,
BlockchainType blockchainType
@ -101,7 +101,7 @@ namespace model {
}
auto network_type = ServerConfig::g_HederaNetworkType;
auto receiver_model = receiver->getModel();
auto body = TransactionBody::create(memo, receiver, amount, targetDate, blockchainType);
Poco::AutoPtr<Transaction> result = new Transaction(body);
@ -118,7 +118,7 @@ namespace model {
}
model->setHederaId(topic_id->getModel()->getID());
}
result->insertPendingTaskIntoDB(receiver, model::table::TASK_TYPE_CREATION);
PendingTasksManager::getInstance()->addTask(result);
return result;
@ -129,7 +129,7 @@ namespace model {
const MemoryBin* receiverPubkey,
Poco::AutoPtr<controller::Group> receiverGroup,
Poco::UInt32 amount,
const std::string& memo,
const std::string& memo,
BlockchainType blockchainType,
bool inbound/* = true*/
)
@ -143,25 +143,25 @@ namespace model {
if (sender.isNull() || !sender->getModel() || !receiverPubkey || !amount) {
return transaction;
}
auto sender_model = sender->getModel();
if (blockchainType == BLOCKCHAIN_MYSQL) {
transaction_body = TransactionBody::create(memo, sender, receiverPubkey, amount, blockchainType);
transaction = new Transaction(transaction_body);
}
else if (blockchainType == BLOCKCHAIN_HEDERA)
else if (blockchainType == BLOCKCHAIN_HEDERA)
{
auto network_type = ServerConfig::g_HederaNetworkType;
// LOCAL Transfer
if (receiverGroup.isNull() || sender_model->getGroupId() == receiverGroup->getModel()->getID())
{
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, "network type: ", network_type));
@ -220,7 +220,7 @@ namespace model {
transaction_model->setHederaId(topic_id->getModel()->getID());
}
transaction->setParam("blockchain_type", (int)blockchainType);
transaction->insertPendingTaskIntoDB(sender, model::table::TASK_TYPE_TRANSFER);
PendingTasksManager::getInstance()->addTask(transaction);
@ -249,10 +249,10 @@ namespace model {
}
Poco::AutoPtr<Transaction> Transaction::createTransfer(
const MemoryBin* senderPubkey,
Poco::AutoPtr<controller::User> receiver,
std::string senderGroupAlias,
Poco::UInt32 amount,
const MemoryBin* senderPubkey,
Poco::AutoPtr<controller::User> receiver,
std::string senderGroupAlias,
Poco::UInt32 amount,
const std::string& memo,
BlockchainType blockchainType
)
@ -268,7 +268,7 @@ namespace model {
//std::vector<Poco::AutoPtr<TransactionBody>> bodys;
auto receiver_model = receiver->getModel();
auto network_type = ServerConfig::g_HederaNetworkType;
auto sender_groups = controller::Group::load(senderGroupAlias);
if (!sender_groups.size()) {
em->addError(new ParamError(function_name, "couldn't find group", senderGroupAlias));
@ -286,10 +286,10 @@ namespace model {
Poco::Timestamp pairedTransactionId;
// create only inbound transaction, and outbound before sending to hedera
//for (int i = 0; i < 1; i++) {
//transaction_group = receiverGroup;
//topic_group = sender_group;
if (transaction_group.isNull()) {
em->addError(new Error(function_name, "transaction group is zero, inbound"));
em->sendErrorsAsEmail();
@ -314,7 +314,7 @@ namespace model {
return result;
}
Poco::AutoPtr<Transaction> Transaction::load(model::table::PendingTask* dbModel)
{
@ -335,10 +335,10 @@ namespace model {
if (!finished) {
transaction->ifEnoughSignsProceed(nullptr);
}
return transaction;
}
bool Transaction::insertPendingTaskIntoDB(Poco::AutoPtr<controller::User> user, model::table::TaskType type)
{
static const char* function_name = "Transaction::insertPendingTaskIntoDB";
@ -355,7 +355,7 @@ namespace model {
model->setTaskType(type);
model->setRequest(mProtoTransaction.SerializeAsString());
if (!model->insertIntoDB(true)) {
return false;
}
return true;
@ -365,8 +365,8 @@ namespace model {
{
static const char function_name[] = "Transaction::addSign";
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"));
return false;
@ -381,9 +381,9 @@ namespace model {
}
auto hash = DRMakeStringHash(bodyBytes.data(), bodyBytes.size());
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!"));
return false;
@ -413,33 +413,33 @@ namespace model {
auto gradido_key_pair = user->getGradidoKeyPair();
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();
}
}
else
}
else
{
addError(new Error(function_name, "user cannot decrypt private key"));
return false;
}
}
MemoryBin* sign = nullptr;
if (gradido_key_pair)
if (gradido_key_pair)
{
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);
}
if (!sign)
if (!sign)
{
ErrorManager::getInstance()->sendErrorsAsEmail();
addError(new Error(function_name, "error by calculate signature"));
@ -457,7 +457,7 @@ namespace model {
mm->releaseMemory(sign);
updateRequestInDB();
return ifEnoughSignsProceed(user);
}
@ -509,7 +509,7 @@ namespace model {
// check if all signatures belong to current 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());
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));
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()) {
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";
auto result = validate();
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_INVALID_SIGN == 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)));
//sendErrorsAsEmail();
}
else
else
{
std::string error_name;
std::string error_description;
auto lm = LanguageManager::getInstance();
auto user_model = getUser()->getModel();
auto t = lm->getFreeCatalog(lm->languageFromString(user_model->getLanguageKey()));
switch (result) {
case TRANSACTION_VALID_FORBIDDEN_SIGN:
case TRANSACTION_VALID_FORBIDDEN_SIGN:
error_name = t->gettext_str("Signature Error");
error_description = t->gettext_str("Invalid signature!");
break;
case TRANSACTION_VALID_INVALID_TARGET_DATE:
case TRANSACTION_VALID_INVALID_TARGET_DATE:
error_name = t->gettext_str("Creation Error");
error_description = t->gettext_str("Invalid target date! No future and only 3 month in the past.");
break;
@ -628,7 +628,7 @@ namespace model {
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.");
break;
default:
default:
error_name = t->gettext_str("Unknown Error");
error_description = t->gettext_str("Admin gets an E-Mail");
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 precheck_code = hedera_transaction_response->getPrecheckCode();
auto cost = hedera_transaction_response->getCost();
// for showing in docker
std::clog << "hedera response: " << hedera_precheck_code_string
<< ", cost: " << cost
@ -791,7 +791,7 @@ namespace model {
return -4;
}
return 0;
}
int Transaction::runSendTransactionMysql()
{
@ -807,10 +807,10 @@ namespace model {
auto base_64_message = DataTypeConverter::binToBase64(raw_message, sodium_base64_VARIANT_URLSAFE_NO_PADDING);
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;
}
// create json request
auto user = getUser();
@ -834,7 +834,7 @@ namespace model {
}
return 1;
}
getErrors(&json_request);
return -1;
@ -888,8 +888,8 @@ namespace model {
return json_message;
}
/// TASK ////////////////////////
SendTransactionTask::SendTransactionTask(Poco::AutoPtr<Transaction> transaction)
: UniLib::controller::CPUTask(ServerConfig::g_CPUScheduler), mTransaction(transaction)
@ -938,4 +938,4 @@ namespace model {
}
}
}
}

View File

@ -3,23 +3,23 @@
/*
* @author: Dario Rekowski
*
*
* @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 "../../tasks/GradidoTask.h"
#include "../../controller/User.h"
#include "../tasks/CPUTask.h"
#include "../../tasks/CPUTask.h"
namespace model {
namespace gradido {
class Transaction : public GradidoTask
{
@ -32,21 +32,21 @@ namespace model {
// groupMemberUpdate
static Poco::AutoPtr<Transaction> createGroupMemberUpdate(Poco::AutoPtr<controller::User> user, Poco::AutoPtr<controller::Group> group);
//! \brief transfer
//! \return
//! \return
static Poco::AutoPtr<Transaction> createTransfer(
Poco::AutoPtr<controller::User> sender,
const MemoryBin* receiverPubkey,
Poco::AutoPtr<controller::Group> receiverGroup,
Poco::UInt32 amount,
const std::string& memo,
Poco::AutoPtr<controller::User> sender,
const MemoryBin* receiverPubkey,
Poco::AutoPtr<controller::Group> receiverGroup,
Poco::UInt32 amount,
const std::string& memo,
BlockchainType blockchainType,
bool inbound = true);
Poco::AutoPtr<Transaction> createTransfer(
const MemoryBin* senderPubkey,
const MemoryBin* senderPubkey,
Poco::AutoPtr<controller::User> receiver,
std::string senderGroupAlias,
Poco::UInt32 amount,
std::string senderGroupAlias,
Poco::UInt32 amount,
const std::string& memo,
BlockchainType blockchainType);
@ -66,7 +66,7 @@ namespace model {
//! \brief validate and if valid send transaction via Hedera Consensus Service to node server
int runSendTransaction();
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

View File

@ -11,11 +11,11 @@
#pragma warning(disable:4800)
#include "../lib/NotificationList.h"
#include "../proto/gradido/BasicTypes.pb.h"
#include "../SingletonManager/MemoryManager.h"
#include "../../lib/NotificationList.h"
#include "proto/gradido/BasicTypes.pb.h"
#include "../../SingletonManager/MemoryManager.h"
#include "../controller/User.h"
#include "../../controller/User.h"
namespace model {
namespace gradido {
@ -40,7 +40,7 @@ namespace model {
public:
TransactionBase(const std::string& memo);
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 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 "TransactionTransfer.h"
#include "../../proto/gradido/TransactionBody.pb.h"
#include "proto/gradido/TransactionBody.pb.h"
#include "../../lib/MultithreadContainer.h"
@ -39,24 +39,24 @@ namespace model {
//! \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);
//! \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
static Poco::AutoPtr<TransactionBody> create(
const std::string& memo,
Poco::AutoPtr<controller::User> sender,
const MemoryBin* receiverPublicKey,
Poco::UInt32 amount,
Poco::AutoPtr<controller::User> sender,
const MemoryBin* receiverPublicKey,
Poco::UInt32 amount,
BlockchainType blockchainType,
Poco::Timestamp pairedTransactionId = Poco::Timestamp(),
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());
//! \brief GradidoCreation Transaction
static Poco::AutoPtr<TransactionBody> create(
const std::string& memo,
Poco::AutoPtr<controller::User> receiver,
Poco::UInt32 amount,
const std::string& memo,
Poco::AutoPtr<controller::User> receiver,
Poco::UInt32 amount,
Poco::DateTime targetDate,
BlockchainType blockchainType
);
@ -68,7 +68,7 @@ namespace model {
static const char* transactionTypeToString(TransactionType type);
std::string getMemo();
void setMemo(const std::string& memo);
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 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)
#include "TransactionBase.h"
#include "../proto/gradido/GradidoCreation.pb.h"
#include "../controller/User.h"
#include "proto/gradido/GradidoCreation.pb.h"
#include "../../controller/User.h"
namespace model {
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 "../proto/gradido/GradidoTransfer.pb.h"
#include "../controller/User.h"
#include "../../controller/User.h"
namespace model {
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 "../../controller/HederaId.h"
#include "../../proto/hedera/ConsensusCreateTopic.pb.h"
#include "proto/hedera/ConsensusCreateTopic.pb.h"
namespace model {
namespace hedera {
class ConsensusCreateTopic
class ConsensusCreateTopic
{
public:
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
#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"
namespace model {
@ -20,7 +20,7 @@ namespace model {
bool validate();
protected:
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
#include "../proto/hedera/ConsensusTopicInfo.pb.h"
#include "../SingletonManager/MemoryManager.h"
#include "../../SingletonManager/MemoryManager.h"
#include "../../lib/DataTypeConverter.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
#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 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"
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
*
*
* @date: 31.08.20
*
*
* @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 "../../Crypto/KeyPairHedera.h"
#include "TransactionBody.h"
@ -39,7 +39,7 @@ namespace model {
void setResponseType(proto::ResponseType type);
proto::ResponseType getResponseType();
inline bool setTransactionFee(Poco::UInt64 fee) { return mTransactionBody->updateCryptoTransferAmount(fee);}
inline const proto::Query* getProtoQuery() const { return &mQueryProto; }
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 "TransactionReceipt.h"
#include "TransactionRecord.h"
@ -23,7 +23,7 @@ namespace model {
public:
Response();
~Response();
inline proto::Response* getResponsePtr() { return &mResponseProto; }
Poco::UInt64 getAccountBalance();
std::unique_ptr<ConsensusTopicInfo> getConsensusTopicInfo();
@ -31,17 +31,17 @@ namespace model {
TransactionRecord* getTransactionRecord();
Poco::UInt64 getQueryCost();
proto::ResponseCodeEnum getResponseCode();
inline bool isCryptoGetAccountBalanceResponse() { return mResponseProto.has_cryptogetaccountbalance(); }
inline bool isConsensusGetTopicInfoResponse() { return mResponseProto.has_consensusgettopicinfo(); }
protected:
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 "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, std::unique_ptr<TransactionBody> transactionBody);
inline proto::Transaction* getTransaction() { return mTransaction; }
inline std::string getConnectionString() const { return mConnection.getUriWithPort(); }
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 "ConsensusSubmitMessage.h"
#include "../../proto/hedera/TransactionBody.pb.h"
#include "proto/hedera/TransactionBody.pb.h"
namespace model {
namespace hedera {
@ -44,7 +44,7 @@ namespace model {
bool setCryptoCreate(CryptoCreateTransaction& cryptoCreateTransaction);
bool setCreateTopic(ConsensusCreateTopic& consensusCreateTopicTransaction);
bool setConsensusSubmitMessage(ConsensusSubmitMessage& consensusSubmitMessageTransaction);
//bool
//bool
inline const proto::TransactionBody* getProtoTransactionBody() const { return &mTransactionBody; }
inline std::string getConnectionString() const { return mConnection.getUriWithPort(); }
@ -54,7 +54,7 @@ namespace model {
void updateTimestamp();
protected:
proto::TransactionBody mTransactionBody;
controller::NodeServerConnection mConnection;
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
#include "QueryHeader.h"
#include "../../proto/hedera/TransactionGetReceipt.pb.h"
#include "proto/hedera/TransactionGetReceipt.pb.h"
namespace model {
namespace hedera {
@ -19,11 +19,11 @@ namespace model {
protected:
Poco::AutoPtr<QueryHeader> mQueryHeader;
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"
@ -26,7 +26,7 @@ namespace model {
Poco::JSON::Object::Ptr convertToJSON();
protected:
protected:
Poco::Timestamp mTransactionValidStart;
union {
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
#define __GRADIDO_LOGIN_SERVER_MODEL_HEDERA_TRANSACTION_RECORD_H
#include "../../proto/hedera/TransactionRecord.pb.h"
#include "proto/hedera/TransactionRecord.pb.h"
namespace model
{
namespace hedera
namespace hedera
{
class TransactionRecord
{

View File

@ -1,7 +1,7 @@
#ifndef __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"
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 "../SingletonManager/ConnectionManager.h"
#include "../../SingletonManager/ConnectionManager.h"
namespace controller {
void TestHederaAccount::SetUp()
{
}
TEST_F(TestHederaAccount, TestPick) {
auto hedera_account = controller::HederaAccount::pick(ServerConfig::HEDERA_TESTNET, false);
EXPECT_FALSE(hedera_account.isNull());

View File

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

View File

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

View File

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

View File

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