mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
Merge pull request #261 from gradido/login_group_add_host
Fix problems with transactions in docker environment
This commit is contained in:
commit
a5912f4ac5
@ -1,6 +0,0 @@
|
||||
CREATE TABLE `address_types` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`name` VARCHAR(25) NOT NULL,
|
||||
`text` VARCHAR(255) NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -1,7 +0,0 @@
|
||||
CREATE TABLE `operators` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT ,
|
||||
`username` VARCHAR(128) NOT NULL ,
|
||||
`data_base64` VARCHAR(255) NOT NULL ,
|
||||
PRIMARY KEY (`id`), UNIQUE (`username`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
@ -3,7 +3,7 @@ CREATE TABLE `transaction_creations` (
|
||||
`transaction_id` int(10) unsigned NOT NULL,
|
||||
`state_user_id` int(10) unsigned NOT NULL,
|
||||
`amount` bigint(20) NOT NULL,
|
||||
`ident_hash` binary(32) NOT NULL,
|
||||
`ident_hash` binary(32) NULL,
|
||||
`target_date` timestamp NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@ -1,7 +0,0 @@
|
||||
CREATE TABLE `state_balances` (
|
||||
`id` int(11) NOT NULL,
|
||||
`state_user_id` int(11) NOT NULL,
|
||||
`modified` datetime NOT NULL,
|
||||
`amount` bigint(20) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -1,10 +0,0 @@
|
||||
CREATE TABLE `state_created` (
|
||||
`id` int(11) NOT NULL,
|
||||
`transaction_id` int(11) NOT NULL,
|
||||
`month` tinyint(4) NOT NULL,
|
||||
`year` smallint(6) NOT NULL,
|
||||
`state_user_id` int(11) NOT NULL,
|
||||
`created` datetime NOT NULL,
|
||||
`short_ident_hash` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`), INDEX(`short_ident_hash`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -1,7 +0,0 @@
|
||||
CREATE TABLE `state_group_addresses` (
|
||||
`id` int(11) NOT NULL,
|
||||
`state_group_id` int(11) NOT NULL,
|
||||
`public_key` binary(32) NOT NULL,
|
||||
`address_type_id` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -1,7 +0,0 @@
|
||||
CREATE TABLE `state_group_relationships` (
|
||||
`id` int(11) NOT NULL,
|
||||
`state_group1_id` int(11) NOT NULL,
|
||||
`state_group2_id` int(11) NOT NULL,
|
||||
`state_relationship_id` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -1,8 +0,0 @@
|
||||
CREATE TABLE `state_groups` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`index_id` VARBINARY(64) NOT NULL,
|
||||
`name` VARCHAR(50) NOT NULL,
|
||||
`root_public_key` BINARY(32) NOT NULL,
|
||||
`user_count` SMALLINT NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -1,6 +0,0 @@
|
||||
CREATE TABLE `state_relationship_types` (
|
||||
`id` int(11) NOT NULL,
|
||||
`name` varchar(25) COLLATE utf8_bin NOT NULL,
|
||||
`text` varchar(255) COLLATE utf8_bin DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -1,7 +0,0 @@
|
||||
CREATE TABLE `state_users` (
|
||||
`id` int(11) NOT NULL,
|
||||
`index_id` smallint(6) NOT NULL,
|
||||
`state_group_id` int(11) NOT NULL,
|
||||
`public_key` binary(32) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -1,10 +0,0 @@
|
||||
|
||||
CREATE TABLE `transaction_creations` (
|
||||
`id` int(11) NOT NULL,
|
||||
`transaction_id` int(11) NOT NULL,
|
||||
`state_user_id` int(11) NOT NULL,
|
||||
`amount` bigint(20) NOT NULL,
|
||||
`ident_hash` binary(32) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
|
||||
CREATE TABLE `transaction_group_addaddress` (
|
||||
`id` int(11) NOT NULL,
|
||||
`transaction_id` int(11) NOT NULL,
|
||||
`address_type_id` int(11) NOT NULL,
|
||||
`public_key` binary(32) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -1,8 +0,0 @@
|
||||
|
||||
CREATE TABLE `transaction_group_allowtrades` (
|
||||
`id` int(11) NOT NULL,
|
||||
`transaction_id` int(11) NOT NULL,
|
||||
`group_id` int(11) NOT NULL,
|
||||
`allow` tinyint(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -1,9 +0,0 @@
|
||||
|
||||
CREATE TABLE `transaction_group_creates` (
|
||||
`id` int(11) NOT NULL,
|
||||
`transaction_id` int(11) NOT NULL,
|
||||
`group_public_key` binary(32) NOT NULL,
|
||||
`state_group_id` int(11) COLLATE utf8_bin NOT NULL,
|
||||
`name` varchar(64) COLLATE utf8_bin NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -1,11 +0,0 @@
|
||||
|
||||
CREATE TABLE `transaction_send_coins` (
|
||||
`id` int(11) NOT NULL,
|
||||
`transaction_id` int(11) NOT NULL,
|
||||
`state_user_id` int(11) NOT NULL,
|
||||
`receiver_public_key` binary(32) NOT NULL,
|
||||
`receiver_user_id` varbinary(64) NOT NULL,
|
||||
`amount` bigint(20) NOT NULL,
|
||||
`sender_final_balance` bigint(20) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -1,7 +0,0 @@
|
||||
CREATE TABLE `transaction_signatures` (
|
||||
`id` int(11) NOT NULL,
|
||||
`transaction_id` int(11) NOT NULL,
|
||||
`signature` binary(64) NOT NULL,
|
||||
`pubkey` binary(32) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -1,6 +0,0 @@
|
||||
CREATE TABLE `transaction_types` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`name` VARCHAR(24) NOT NULL,
|
||||
`text` VARCHAR(255) NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -1,9 +0,0 @@
|
||||
|
||||
CREATE TABLE `transactions` (
|
||||
`id` bigint(20) NOT NULL,
|
||||
`state_group_id` int(11) NOT NULL,
|
||||
`transaction_type_id` int(11) NOT NULL,
|
||||
`tx_hash` binary(32) NOT NULL,
|
||||
`received` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
@ -427,6 +427,6 @@ return [
|
||||
],
|
||||
'ServerAdminEmail' => 'info@gradido.net',
|
||||
'noReplyEmail' => 'no-reply@gradido.net',
|
||||
'disableEmail' => false
|
||||
'disableEmail' => true
|
||||
|
||||
];
|
||||
|
||||
@ -0,0 +1,6 @@
|
||||
INSERT INTO `groups` (`id`, `alias`, `name`, `url`, `host`, `home`, `description`) VALUES
|
||||
(1, 'docker', 'docker gradido group', 'localhost', 'nginx', '/', 'gradido test group for docker and stage2 with blockchain db');
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,19 +1,19 @@
|
||||
INSERT INTO `groups` (`id`, `alias`, `name`, `url`, `home`, `description`) VALUES
|
||||
(1, 'dockerStage2', 'docker stage2 gradido group', 'localhost', '/', 'gradido test group for docker and stage2');
|
||||
|
||||
INSERT INTO `hedera_ids` (`id`, `shardNum`, `realmNum`, `num`) VALUES
|
||||
(1, 0, 0, 3),
|
||||
(2, 0, 0, 3327),
|
||||
(3, 0, 0, 413151);
|
||||
|
||||
INSERT INTO `node_servers` (`id`, `url`, `port`, `group_id`, `server_type`, `node_hedera_id`, `last_live_sign`) VALUES
|
||||
(1, 'http://0.testnet.hedera.com', 50211, 0, 4, 1, '2000-01-01 00:00:00');
|
||||
|
||||
INSERT INTO `hedera_accounts` (`id`, `user_id`, `account_hedera_id`, `account_key_id`, `balance`, `network_type`, `updated`) VALUES
|
||||
(1, 1, 2, 1, 1000000000000, 1, '2021-01-07 10:22:52');
|
||||
|
||||
INSERT INTO `hedera_topics` (`id`, `topic_hedera_id`, `name`, `auto_renew_account_hedera_id`, `auto_renew_period`, `group_id`, `admin_key_id`, `submit_key_id`, `current_timeout`, `sequence_number`, `running_hash`, `running_hash_version`, `updated`) VALUES
|
||||
(1, 3, 'dockerStage2', 1, 7890000, 1, 0, 0, '2021-06-08 23:17:19', 0, NULL, 0, '2021-03-09 16:42:34');
|
||||
|
||||
|
||||
|
||||
INSERT INTO `groups` (`id`, `alias`, `name`, `url`, `host`, `home`, `description`) VALUES
|
||||
(2, 'dockerStage2', 'docker stage2 gradido group', 'localhost', 'nginx', '/', 'gradido test group for docker and stage2');
|
||||
|
||||
INSERT INTO `hedera_ids` (`id`, `shardNum`, `realmNum`, `num`) VALUES
|
||||
(1, 0, 0, 3),
|
||||
(2, 0, 0, 3327),
|
||||
(3, 0, 0, 413151);
|
||||
|
||||
INSERT INTO `node_servers` (`id`, `url`, `port`, `group_id`, `server_type`, `node_hedera_id`, `last_live_sign`) VALUES
|
||||
(1, 'http://0.testnet.hedera.com', 50211, 0, 4, 2, '2000-01-01 00:00:00');
|
||||
|
||||
INSERT INTO `hedera_accounts` (`id`, `user_id`, `account_hedera_id`, `account_key_id`, `balance`, `network_type`, `updated`) VALUES
|
||||
(1, 1, 2, 1, 1000000000000, 1, '2021-01-07 10:22:52');
|
||||
|
||||
INSERT INTO `hedera_topics` (`id`, `topic_hedera_id`, `name`, `auto_renew_account_hedera_id`, `auto_renew_period`, `group_id`, `admin_key_id`, `submit_key_id`, `current_timeout`, `sequence_number`, `running_hash`, `running_hash_version`, `updated`) VALUES
|
||||
(1, 3, 'dockerStage2', 1, 7890000, 1, 0, 0, '2021-06-08 23:17:19', 0, NULL, 0, '2021-03-09 16:42:34');
|
||||
|
||||
|
||||
|
||||
@ -4,10 +4,12 @@ cp build/conan* build_vol/
|
||||
|
||||
cd build_vol
|
||||
cmake -DCMAKE_BUILD_TYPE=Debug ..
|
||||
make -j${CPU_COUNT} protoc grpc_cpp_plugin
|
||||
|
||||
cd ..
|
||||
if [ ! -d "./src/cpp/proto/hedera" ] ; then
|
||||
if [ ! -f "./src/cpp/proto/gradido/TransactionBody.pb.h" ] ; then
|
||||
chmod +x unix_parse_proto.sh
|
||||
echo "parse proto files"
|
||||
./unix_parse_proto.sh
|
||||
fi
|
||||
chmod +x compile_pot.sh
|
||||
|
||||
@ -3,6 +3,7 @@ CREATE TABLE `groups` (
|
||||
`alias` varchar(190) NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`url` varchar(255) NOT NULL,
|
||||
`host` varchar(255) DEFAULT "/",
|
||||
`home` varchar(255) DEFAULT "/",
|
||||
`description` text,
|
||||
PRIMARY KEY (`id`),
|
||||
|
||||
@ -1,6 +0,0 @@
|
||||
INSERT INTO `groups` (`id`, `alias`, `name`, `url`, `home`, `description`) VALUES
|
||||
(2, 'docker', 'docker gradido group', 'localhost', '/', 'gradido test group for docker and stage2 with blockchain db');
|
||||
|
||||
|
||||
|
||||
|
||||
@ -5,10 +5,10 @@
|
||||
#include "Poco/DeflatingStream.h"
|
||||
|
||||
|
||||
#line 7 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
#line 7 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
|
||||
#include "../controller/Group.h"
|
||||
#line 1 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp"
|
||||
#line 1 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header_large.cpsp"
|
||||
|
||||
#include "../ServerConfig.h"
|
||||
|
||||
@ -27,7 +27,7 @@ void AdminGroupsPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:
|
||||
if (_compressResponse) response.set("Content-Encoding", "gzip");
|
||||
|
||||
Poco::Net::HTMLForm form(request, request.stream());
|
||||
#line 10 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
#line 10 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
|
||||
const char* pageName = "Gruppen";
|
||||
|
||||
@ -46,6 +46,7 @@ void AdminGroupsPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:
|
||||
alias,
|
||||
form.get("group-name", ""),
|
||||
form.get("group-url", ""),
|
||||
form.get("group-host", ""),
|
||||
form.get("group-home", ""),
|
||||
form.get("group-desc", "")
|
||||
);
|
||||
@ -58,7 +59,7 @@ void AdminGroupsPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:
|
||||
//auto groups = controller::Group::load("gdd1");
|
||||
//std::vector<Poco::SharedPtr<controller::Group>> groups;
|
||||
|
||||
#line 3 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp"
|
||||
#line 3 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header_large.cpsp"
|
||||
|
||||
bool withMaterialIcons = false;
|
||||
std::ostream& _responseStream = response.send();
|
||||
@ -73,20 +74,20 @@ void AdminGroupsPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:
|
||||
responseStream << "<meta charset=\"UTF-8\">\n";
|
||||
responseStream << "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n";
|
||||
responseStream << "<title>Gradido Login Server: ";
|
||||
#line 11 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp"
|
||||
#line 11 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header_large.cpsp"
|
||||
responseStream << ( pageName );
|
||||
responseStream << "</title>\n";
|
||||
responseStream << "<link rel=\"stylesheet\" type=\"text/css\" href=\"";
|
||||
#line 12 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp"
|
||||
#line 12 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header_large.cpsp"
|
||||
responseStream << ( ServerConfig::g_php_serverPath );
|
||||
responseStream << "css/main.css\">\n";
|
||||
#line 13 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp"
|
||||
#line 13 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header_large.cpsp"
|
||||
if(withMaterialIcons) { responseStream << "\n";
|
||||
responseStream << "<link rel=\"stylesheet\" type=\"text/css\" href=\"";
|
||||
#line 14 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp"
|
||||
#line 14 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header_large.cpsp"
|
||||
responseStream << ( ServerConfig::g_php_serverPath );
|
||||
responseStream << "css/materialdesignicons.min.css\">\n";
|
||||
#line 15 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp"
|
||||
#line 15 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header_large.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "</head>\n";
|
||||
responseStream << "<body>\n";
|
||||
@ -95,29 +96,29 @@ void AdminGroupsPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:
|
||||
responseStream << "\t\t\t<div class=\"nav-vertical\">\n";
|
||||
responseStream << "\t\t\t\t<ul>\n";
|
||||
responseStream << "\t\t\t\t\t";
|
||||
#line 22 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp"
|
||||
#line 22 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header_large.cpsp"
|
||||
if(!user.isNull()) { responseStream << "\n";
|
||||
responseStream << "\t\t\t\t\t\t<li><a href=\"";
|
||||
#line 23 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp"
|
||||
#line 23 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header_large.cpsp"
|
||||
responseStream << ( user->getGroupBaseUrl() );
|
||||
responseStream << "/\"><span class=\"link-title\">Startseite</span></a></li>\n";
|
||||
responseStream << "\t\t\t\t\t";
|
||||
#line 24 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp"
|
||||
#line 24 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header_large.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "\t\t\t\t\t<li><a href=\"";
|
||||
#line 25 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp"
|
||||
#line 25 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header_large.cpsp"
|
||||
responseStream << ( getBaseUrl() );
|
||||
responseStream << "/groups\"><span class=\"link-title\">Gruppen</span></a></li>\n";
|
||||
responseStream << "\t\t\t\t\t<li><a href=\"";
|
||||
#line 26 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp"
|
||||
#line 26 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header_large.cpsp"
|
||||
responseStream << ( getBaseUrl() );
|
||||
responseStream << "/nodes\"><span class=\"link-title\">Node Server</span></a></li>\n";
|
||||
responseStream << "\t\t\t\t\t<li><a href=\"";
|
||||
#line 27 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp"
|
||||
#line 27 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header_large.cpsp"
|
||||
responseStream << ( getBaseUrl() );
|
||||
responseStream << "/hedera_account\"><span class=\"link-title\">Hedera Accounts</span></a></li>\n";
|
||||
responseStream << "\t\t\t\t\t<li><a href=\"";
|
||||
#line 28 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp"
|
||||
#line 28 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header_large.cpsp"
|
||||
responseStream << ( getBaseUrl() );
|
||||
responseStream << "/topic\"><span class=\"link-title\">Hedera Topics</span></a></li>\n";
|
||||
responseStream << "\t\t\t\t</ul>\n";
|
||||
@ -126,7 +127,7 @@ void AdminGroupsPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:
|
||||
responseStream << "\t\t<div class=\"content\">";
|
||||
// end include header_large.cpsp
|
||||
responseStream << "\n";
|
||||
#line 41 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
#line 42 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
responseStream << ( getErrorsHtml() );
|
||||
responseStream << "\n";
|
||||
responseStream << "<div class=\"center-form-container\">\n";
|
||||
@ -140,44 +141,49 @@ void AdminGroupsPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:
|
||||
responseStream << "\t\t\t\t<div class=\"cell header-cell c2\">Name</div>\n";
|
||||
responseStream << "\t\t\t\t<div class=\"cell header-cell c2\">Alias</div>\n";
|
||||
responseStream << "\t\t\t\t<div class=\"cell header-cell c3\">Url</div>\n";
|
||||
responseStream << "\t\t\t\t<div class=\"cell header-cell c3\" title=\"Host for json request, needed for example for docker\">Host</div>\n";
|
||||
responseStream << "\t\t\t\t<div class=\"cell header-cell c2\">Home</div>\n";
|
||||
responseStream << "\t\t\t\t<div class=\"cell header-cell c5\">";
|
||||
#line 54 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
#line 56 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
responseStream << ( gettext("Description") );
|
||||
responseStream << "</div>\n";
|
||||
responseStream << "\t\t\t</div>\n";
|
||||
responseStream << "\t\t\t";
|
||||
#line 56 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
#line 58 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
for(auto it = groups.begin(); it != groups.end(); it++) {
|
||||
auto group_model = (*it)->getModel(); responseStream << "\n";
|
||||
responseStream << "\t\t\t\t<div class=\"row\">\n";
|
||||
responseStream << "\t\t\t\t\t<div class=\"cell c0\">";
|
||||
#line 59 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
#line 61 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
responseStream << ( group_model->getID() );
|
||||
responseStream << "</div>\n";
|
||||
responseStream << "\t\t\t\t\t<div class=\"cell c2\">";
|
||||
#line 60 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
#line 62 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
responseStream << ( group_model->getName() );
|
||||
responseStream << "</div>\n";
|
||||
responseStream << "\t\t\t\t\t<div class=\"cell c2\">";
|
||||
#line 61 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
#line 63 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
responseStream << ( group_model->getAlias() );
|
||||
responseStream << "</div>\n";
|
||||
responseStream << "\t\t\t\t\t<div class=\"cell c3\">";
|
||||
#line 62 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
#line 64 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
responseStream << ( group_model->getUrl() );
|
||||
responseStream << "</div>\n";
|
||||
responseStream << "\t\t\t\t\t<div class=\"cell c3\">";
|
||||
#line 65 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
responseStream << ( group_model->getHost() );
|
||||
responseStream << "</div>\n";
|
||||
responseStream << "\t\t\t\t\t<div class=\"cell c2\">";
|
||||
#line 63 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
#line 66 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
responseStream << ( group_model->getHome() );
|
||||
responseStream << "</div>\n";
|
||||
responseStream << "\t\t\t\t\t<div class=\"cell c5\">";
|
||||
#line 64 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
#line 67 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
responseStream << ( group_model->getDescription());
|
||||
responseStream << "</div>\n";
|
||||
responseStream << "\t\t\t\t</div>\n";
|
||||
responseStream << "\t\t\t";
|
||||
#line 66 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
#line 69 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "\t\t</div>\n";
|
||||
responseStream << "\t</div>\n";
|
||||
@ -192,15 +198,17 @@ void AdminGroupsPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:
|
||||
responseStream << "\t\t\t<input class=\"form-control\" id=\"group-alias\" type=\"text\" name=\"group-alias\"/>\n";
|
||||
responseStream << "\t\t\t<label class=\"form-label\" for=\"group-url\">Url</label>\n";
|
||||
responseStream << "\t\t\t<input class=\"form-control\" id=\"group-url\" type=\"text\" name=\"group-url\"/>\n";
|
||||
responseStream << "\t\t\t<label class=\"form-label\" for=\"group-host\">Host</label>\n";
|
||||
responseStream << "\t\t\t<input class=\"form-control\" id=\"group-host\" type=\"text\" name=\"group-host\"/>\n";
|
||||
responseStream << "\t\t\t<label class=\"form-label\" for=\"group-home\" title=\"Startpage link\">Home</label>\n";
|
||||
responseStream << "\t\t\t<input class=\"form-control\" id=\"group-home\" type=\"text\" name=\"group-home\"/>\n";
|
||||
responseStream << "\t\t\t<label class=\"form-label\" for=\"group-desc\">";
|
||||
#line 82 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
#line 87 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
responseStream << ( gettext("Description"));
|
||||
responseStream << "</label>\n";
|
||||
responseStream << "\t\t\t<textarea class=\"form-control\" name=\"group-desc\" rows=\"3\" maxlength=\"150\" id=\"group-desc\"></textarea>\n";
|
||||
responseStream << "\t\t\t<input class=\"center-form-submit form-button\" type=\"submit\" name=\"submit\" value=\"";
|
||||
#line 84 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
#line 89 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\adminGroups.cpsp"
|
||||
responseStream << ( gettext("Add Group") );
|
||||
responseStream << "\">\n";
|
||||
responseStream << "\t</form>\n";
|
||||
@ -212,14 +220,14 @@ void AdminGroupsPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:
|
||||
responseStream << " </div>\n";
|
||||
responseStream << " <div class=\"bottomleft\">\n";
|
||||
responseStream << " ";
|
||||
#line 6 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp"
|
||||
#line 6 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\footer.cpsp"
|
||||
responseStream << ( mTimeProfiler.string() );
|
||||
responseStream << "\n";
|
||||
responseStream << " </div>\n";
|
||||
responseStream << " <div class=\"bottomright\">\n";
|
||||
responseStream << " <p>Login Server in Entwicklung</p>\n";
|
||||
responseStream << " <p>Alpha ";
|
||||
#line 10 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp"
|
||||
#line 10 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\footer.cpsp"
|
||||
responseStream << ( ServerConfig::g_versionString );
|
||||
responseStream << "</p>\n";
|
||||
responseStream << " </div>\n";
|
||||
|
||||
@ -15,9 +15,9 @@ namespace controller {
|
||||
|
||||
}
|
||||
|
||||
Poco::AutoPtr<Group> Group::create(const std::string& alias, const std::string& name, const std::string& url, const std::string& home, const std::string& description)
|
||||
Poco::AutoPtr<Group> Group::create(const std::string& alias, const std::string& name, const std::string& url, const std::string& host, const std::string& home, const std::string& description)
|
||||
{
|
||||
auto db = new model::table::Group(alias, name, url, home, description);
|
||||
auto db = new model::table::Group(alias, name, url, host, home, description);
|
||||
auto group = new Group(db);
|
||||
return Poco::AutoPtr<Group>(group);
|
||||
}
|
||||
@ -51,25 +51,9 @@ namespace controller {
|
||||
{
|
||||
auto db = new model::table::Group();
|
||||
std::vector<model::table::GroupTuple> group_list;
|
||||
// throw an unresolved external symbol error
|
||||
//group_list = db->loadAllFromDB<model::table::GroupTuple>();
|
||||
|
||||
// work around for not working call to loadAllFromDB
|
||||
auto cm = ConnectionManager::getInstance();
|
||||
auto session = cm->getConnection(CONNECTION_MYSQL_LOGIN_SERVER);
|
||||
Poco::Data::Statement select(session);
|
||||
|
||||
select << "SELECT id, alias, name, url, home, description FROM " << db->getTableName()
|
||||
, Poco::Data::Keywords::into(group_list);
|
||||
|
||||
size_t resultCount = 0;
|
||||
try {
|
||||
resultCount = select.execute();
|
||||
}
|
||||
catch (Poco::Exception& ex) {
|
||||
printf("[Group::listAll] poco exception: %s\n", ex.displayText().data());
|
||||
}
|
||||
// work around end
|
||||
group_list = db->loadAllFromDB<model::table::GroupTuple>();
|
||||
|
||||
std::vector<Poco::AutoPtr<Group>> resultVector;
|
||||
|
||||
resultVector.reserve(group_list.size());
|
||||
@ -94,7 +78,11 @@ namespace controller {
|
||||
}
|
||||
}
|
||||
auto model = getModel();
|
||||
return JsonRequest(model->getUrl(), port);
|
||||
std::string request_url = model->getHost();
|
||||
if ("" == request_url) {
|
||||
request_url = model->getUrl();
|
||||
}
|
||||
return JsonRequest(request_url, port);
|
||||
}
|
||||
|
||||
std::string Group::getHost()
|
||||
|
||||
@ -16,7 +16,7 @@ namespace controller {
|
||||
|
||||
~Group();
|
||||
|
||||
static Poco::AutoPtr<Group> create(const std::string& alias, const std::string& name, const std::string& url, const std::string& home, const std::string& description);
|
||||
static Poco::AutoPtr<Group> create(const std::string& alias, const std::string& name, const std::string& url, const std::string& host, const std::string& home, const std::string& description);
|
||||
|
||||
static std::vector<Poco::AutoPtr<Group>> load(const std::string& alias);
|
||||
static Poco::AutoPtr<Group> load(int id);
|
||||
|
||||
@ -136,6 +136,8 @@ JsonRequestReturn JsonRequest::request(const char* methodName, const Poco::JSON:
|
||||
}
|
||||
catch (Poco::Exception& e) {
|
||||
addError(new ParamError(functionName, "connect error to php server", e.displayText().data()));
|
||||
addError(new ParamError(functionName, "host", mServerHost));
|
||||
addError(new ParamError(functionName, "port", mServerPort));
|
||||
sendErrorsAsEmail();
|
||||
return JSON_REQUEST_CONNECT_ERROR;
|
||||
}
|
||||
|
||||
@ -8,15 +8,16 @@ namespace model {
|
||||
{
|
||||
}
|
||||
|
||||
Group::Group(const std::string& alias, const std::string& name, const std::string& url, const std::string& home, const std::string& description)
|
||||
: mAlias(alias), mName(name), mUrl(url), mHome(home), mDescription(description)
|
||||
Group::Group(const std::string& alias, const std::string& name, const std::string& url, const std::string& host, const std::string& home, const std::string& description)
|
||||
: mAlias(alias), mName(name), mUrl(url), mHost(host), mHome(home), mDescription(description)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Group::Group(GroupTuple tuple)
|
||||
: ModelBase(tuple.get<0>()),
|
||||
mAlias(tuple.get<1>()), mName(tuple.get<2>()), mUrl(tuple.get<3>()), mHome(tuple.get<4>()), mDescription(tuple.get<5>())
|
||||
mAlias(tuple.get<1>()), mName(tuple.get<2>()), mUrl(tuple.get<3>()),
|
||||
mHost(tuple.get<4>()), mHome(tuple.get<5>()), mDescription(tuple.get<6>())
|
||||
{
|
||||
|
||||
}
|
||||
@ -32,6 +33,7 @@ namespace model {
|
||||
ss << "Alias: " << mAlias << std::endl;
|
||||
ss << "Name: " << mName << std::endl;
|
||||
ss << "Url: " << mUrl << std::endl;
|
||||
ss << "Host: " << mHost << std::endl;
|
||||
ss << "Home: " << mHome << std::endl;
|
||||
ss << "Description:" << mDescription << std::endl;
|
||||
return ss.str();
|
||||
@ -41,9 +43,9 @@ namespace model {
|
||||
{
|
||||
Poco::Data::Statement select(session);
|
||||
|
||||
select << "SELECT id, alias, name, url, home, description FROM " << getTableName()
|
||||
select << "SELECT id, alias, name, url, host, home, description FROM " << getTableName()
|
||||
<< " where " << fieldName << " = ?"
|
||||
, into(mID), into(mAlias), into(mName), into(mUrl), into(mHome), into(mDescription);
|
||||
, into(mID), into(mAlias), into(mName), into(mUrl), into(mHost), into(mHome), into(mDescription);
|
||||
|
||||
return select;
|
||||
}
|
||||
@ -52,7 +54,7 @@ namespace model {
|
||||
{
|
||||
Poco::Data::Statement select(session);
|
||||
|
||||
select << "SELECT id, alias, name, url, home, description FROM " << getTableName();
|
||||
select << "SELECT id, alias, name, url, host, home, description FROM " << getTableName();
|
||||
|
||||
return select;
|
||||
}
|
||||
@ -61,7 +63,7 @@ namespace model {
|
||||
{
|
||||
Poco::Data::Statement select(session);
|
||||
// typedef Poco::Tuple<std::string, std::string, std::string, Poco::Nullable<Poco::Data::BLOB>, int> UserTuple;
|
||||
select << "SELECT id, alias, name, url, home, description FROM " << getTableName()
|
||||
select << "SELECT id, alias, name, url, host, home, description FROM " << getTableName()
|
||||
<< " where " << fieldName << " LIKE ?";
|
||||
|
||||
return select;
|
||||
@ -84,8 +86,8 @@ namespace model {
|
||||
Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex);
|
||||
|
||||
insert << "INSERT INTO " << getTableName()
|
||||
<< " (alias, name, url, home, description) VALUES(?,?,?,?,?)"
|
||||
, use(mAlias), use(mName), use(mUrl), use(mHome), use(mDescription);
|
||||
<< " (alias, name, url, host, home, description) VALUES(?,?,?,?,?,?)"
|
||||
, use(mAlias), use(mName), use(mUrl), use(mHost), use(mHome), use(mDescription);
|
||||
|
||||
return insert;
|
||||
}
|
||||
|
||||
@ -7,13 +7,13 @@
|
||||
namespace model {
|
||||
namespace table {
|
||||
|
||||
typedef Poco::Tuple<int, std::string, std::string, std::string, std::string, std::string> GroupTuple;
|
||||
typedef Poco::Tuple<int, std::string, std::string, std::string, std::string, std::string, std::string> GroupTuple;
|
||||
|
||||
class Group : public ModelBase
|
||||
{
|
||||
public:
|
||||
Group();
|
||||
Group(const std::string& alias, const std::string& name, const std::string& url, const std::string& home, const std::string& description);
|
||||
Group(const std::string& alias, const std::string& name, const std::string& url, const std::string& host, const std::string& home, const std::string& description);
|
||||
Group(GroupTuple userTuple);
|
||||
~Group();
|
||||
|
||||
@ -25,11 +25,13 @@ namespace model {
|
||||
inline const std::string& getName() const { std::shared_lock<std::shared_mutex> _lock(mSharedMutex); return mName; }
|
||||
inline const std::string& getDescription() const { std::shared_lock<std::shared_mutex> _lock(mSharedMutex); return mDescription; }
|
||||
inline const std::string& getUrl() const { std::shared_lock<std::shared_mutex> _lock(mSharedMutex); return mUrl; }
|
||||
inline const std::string& getHost() const { SHARED_LOCK; return mHost; }
|
||||
inline const std::string& getHome() const { SHARED_LOCK; return mHome; }
|
||||
|
||||
inline void setName(const std::string& name) { std::unique_lock<std::shared_mutex> _lock(mSharedMutex); mName = name; }
|
||||
inline void setDescription(const std::string& desc) { std::unique_lock<std::shared_mutex> _lock(mSharedMutex); mDescription = desc; }
|
||||
inline void setUrl(const std::string& url) { std::unique_lock<std::shared_mutex> _lock(mSharedMutex); mUrl = url; }
|
||||
inline void setHost(const std::string& host) { UNIQUE_LOCK; mHost = host; }
|
||||
inline void setHome(const std::string& home) { UNIQUE_LOCK; mHome = home; }
|
||||
|
||||
protected:
|
||||
@ -42,6 +44,7 @@ namespace model {
|
||||
std::string mAlias;
|
||||
std::string mName;
|
||||
std::string mUrl;
|
||||
std::string mHost;
|
||||
std::string mHome;
|
||||
std::string mDescription;
|
||||
|
||||
|
||||
@ -25,6 +25,7 @@
|
||||
alias,
|
||||
form.get("group-name", ""),
|
||||
form.get("group-url", ""),
|
||||
form.get("group-host", ""),
|
||||
form.get("group-home", ""),
|
||||
form.get("group-desc", "")
|
||||
);
|
||||
@ -50,6 +51,7 @@
|
||||
<div class="cell header-cell c2">Name</div>
|
||||
<div class="cell header-cell c2">Alias</div>
|
||||
<div class="cell header-cell c3">Url</div>
|
||||
<div class="cell header-cell c3" title="Host for json request, needed for example for docker">Host</div>
|
||||
<div class="cell header-cell c2">Home</div>
|
||||
<div class="cell header-cell c5"><%= gettext("Description") %></div>
|
||||
</div>
|
||||
@ -60,6 +62,7 @@
|
||||
<div class="cell c2"><%= group_model->getName() %></div>
|
||||
<div class="cell c2"><%= group_model->getAlias() %></div>
|
||||
<div class="cell c3"><%= group_model->getUrl() %></div>
|
||||
<div class="cell c3"><%= group_model->getHost() %></div>
|
||||
<div class="cell c2"><%= group_model->getHome() %></div>
|
||||
<div class="cell c5"><%= group_model->getDescription()%></div>
|
||||
</div>
|
||||
@ -77,6 +80,8 @@
|
||||
<input class="form-control" id="group-alias" type="text" name="group-alias"/>
|
||||
<label class="form-label" for="group-url">Url</label>
|
||||
<input class="form-control" id="group-url" type="text" name="group-url"/>
|
||||
<label class="form-label" for="group-host">Host</label>
|
||||
<input class="form-control" id="group-host" type="text" name="group-host"/>
|
||||
<label class="form-label" for="group-home" title="Startpage link">Home</label>
|
||||
<input class="form-control" id="group-home" type="text" name="group-home"/>
|
||||
<label class="form-label" for="group-desc"><%= gettext("Description")%></label>
|
||||
|
||||
@ -13,9 +13,11 @@ COPY ./mariadb/setup_dbs.sql a_setup_dbs.sql
|
||||
# login server db
|
||||
COPY ./login_server/skeema/ .
|
||||
RUN cd ./gradido_login/ && for f in *.sql; do cp -- "$f" "../b_$f"; sed -i '1i use gradido_login;' "../b_$f"; done
|
||||
COPY ./configs/login_server/setup_db_tables ./gradido_login/insert
|
||||
RUN cd ./gradido_login/insert && for f in *.sql; do cp -- "$f" "../../c_$f"; sed -i '1i use gradido_login;' "../../c_$f"; done
|
||||
# community server db
|
||||
COPY ./community_server/skeema/ .
|
||||
COPY ./community_server/db/skeema/ .
|
||||
RUN cd ./gradido_community/ && for f in *.sql; do cp -- "$f" "../d_$f"; sed -i '1i use gradido_community;' "../d_$f"; done
|
||||
COPY ./community_server/db/setup_db_tables ./gradido_community/insert
|
||||
RUN cd ./gradido_community/insert && for f in *.sql; do cp -- "$f" "../../e_$f"; sed -i '1i use gradido_community;' "../../e_$f"; done
|
||||
|
||||
|
||||
@ -54,7 +54,7 @@ skeema push -p$LOGIN_DB_PASSWD
|
||||
|
||||
cd ../../..
|
||||
# populate db of community-server
|
||||
cd community_server/skeema
|
||||
cd community_server/db/skeema
|
||||
sudo cat << EOF > .skeema
|
||||
[production]
|
||||
flavor=mariadb:10.3.25
|
||||
|
||||
@ -22,7 +22,7 @@ WORKDIR ${DOCKER_WORKDIR}
|
||||
COPY ./skeema/.skeema .
|
||||
COPY ./login_server/skeema/ .
|
||||
COPY ./mariadb/.skeema.login ./gradido_login/.skeema
|
||||
COPY ./community_server/skeema/ .
|
||||
COPY ./community_server/db/skeema/ .
|
||||
COPY ./mariadb/.skeema.community ./gradido_community/.skeema
|
||||
|
||||
CMD skeema push --allow-unsafe
|
||||
Loading…
x
Reference in New Issue
Block a user