mirror of
https://github.com/IT4Change/gradido.git
synced 2026-04-06 01:25:28 +00:00
update parse proto with cmake, only if not exist or newer, change folder, update includes
This commit is contained in:
parent
d1da7b72b2
commit
928cc0044d
@ -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)
|
||||||
|
|||||||
431
login_server/src/LOCALE/messages.pot
Normal file
431
login_server/src/LOCALE/messages.pot
Normal 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 "Überprü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ü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ü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ültig, bitte überprü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ültige E-Mail Adresse an."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: model/Session.cpp:171
|
||||||
|
msgid "Fü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ü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ür aktiven Login"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: model/Session.cpp:463
|
||||||
|
msgid "Deine Passphrase ist ungü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ö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ü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 ""
|
||||||
@ -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
|
||||||
|
|||||||
@ -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());}
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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());
|
||||||
|
|||||||
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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()
|
||||||
|
|||||||
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
||||||
// */
|
// */
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user