From 3597f9e130fe3b03bafb4b546b280ee0f85a8c82 Mon Sep 17 00:00:00 2001 From: Daniel Lyubomirov <daniel.lyubomirov@vereign.com> Date: Fri, 22 May 2020 11:17:23 +0300 Subject: [PATCH] [18] gRPC and vereign services code generation --- cpp/proto | 2 +- cpp/src/CMakeLists.txt | 25 +- cpp/src/vereign/grpc/gen/action_api.hh | 77 +++ cpp/src/vereign/grpc/gen/activity_api.hh | 55 ++ cpp/src/vereign/grpc/gen/company_api.hh | 517 +++++++++++++++++ cpp/src/vereign/grpc/gen/contacts_api.hh | 121 ++++ cpp/src/vereign/grpc/gen/conversation_api.hh | 121 ++++ cpp/src/vereign/grpc/gen/delete_api.hh | 77 +++ cpp/src/vereign/grpc/gen/document_api.hh | 275 +++++++++ cpp/src/vereign/grpc/gen/email_api.hh | 231 ++++++++ cpp/src/vereign/grpc/gen/entity_api.hh | 517 +++++++++++++++++ cpp/src/vereign/grpc/gen/event_api.hh | 55 ++ cpp/src/vereign/grpc/gen/ews_api.hh | 55 ++ cpp/src/vereign/grpc/gen/gen.cc | 37 ++ cpp/src/vereign/grpc/gen/gen.hh | 38 +- cpp/src/vereign/grpc/gen/identity_api.hh | 385 ++++++++++++ cpp/src/vereign/grpc/gen/interactions_api.hh | 55 ++ cpp/src/vereign/grpc/gen/orders_api.hh | 143 +++++ cpp/src/vereign/grpc/gen/passport_api.hh | 333 +++++++++++ cpp/src/vereign/grpc/gen/reporting_api.hh | 77 +++ cpp/src/vereign/grpc/gen/resource_api.hh | 77 +++ cpp/src/vereign/grpc/gen/sharing_api.hh | 165 ++++++ cpp/src/vereign/grpc/gen/sign_api.hh | 165 ++++++ cpp/src/vereign/grpc/passport_api.hh | 3 + cpp/src/vereign/grpc/server.cc | 28 +- cpp/src/vereign/grpc/server.hh | 7 +- cpp/src/vereign/grpc/service_registry.cc | 13 + cpp/src/vereign/grpc/service_registry.hh | 36 ++ cpp/src/vereign/restapi/detail/post_task.hh | 14 +- cpp/src/vereign/service/gen/action_service.cc | 45 ++ cpp/src/vereign/service/gen/action_service.hh | 57 ++ .../vereign/service/gen/activity_service.cc | 32 + .../vereign/service/gen/activity_service.hh | 48 ++ .../vereign/service/gen/company_service.cc | 305 ++++++++++ .../vereign/service/gen/company_service.hh | 237 ++++++++ .../vereign/service/gen/contacts_service.cc | 71 +++ .../vereign/service/gen/contacts_service.hh | 75 +++ .../service/gen/conversation_service.cc | 71 +++ .../service/gen/conversation_service.hh | 75 +++ cpp/src/vereign/service/gen/delete_service.cc | 45 ++ cpp/src/vereign/service/gen/delete_service.hh | 57 ++ .../vereign/service/gen/document_service.cc | 162 ++++++ .../vereign/service/gen/document_service.hh | 138 +++++ cpp/src/vereign/service/gen/email_service.cc | 136 +++++ cpp/src/vereign/service/gen/email_service.hh | 120 ++++ cpp/src/vereign/service/gen/entity_service.cc | 305 ++++++++++ cpp/src/vereign/service/gen/entity_service.hh | 237 ++++++++ cpp/src/vereign/service/gen/event_service.cc | 32 + cpp/src/vereign/service/gen/event_service.hh | 48 ++ cpp/src/vereign/service/gen/ews_service.cc | 32 + cpp/src/vereign/service/gen/ews_service.hh | 48 ++ cpp/src/vereign/service/gen/gen.hh | 21 +- .../vereign/service/gen/identity_service.cc | 227 ++++++++ .../vereign/service/gen/identity_service.hh | 183 ++++++ .../service/gen/interactions_service.cc | 32 + .../service/gen/interactions_service.hh | 48 ++ cpp/src/vereign/service/gen/orders_service.cc | 84 +++ cpp/src/vereign/service/gen/orders_service.hh | 84 +++ .../vereign/service/gen/passport_service.cc | 194 +++++++ .../vereign/service/gen/passport_service.hh | 137 ++++- .../vereign/service/gen/reporting_service.cc | 45 ++ .../vereign/service/gen/reporting_service.hh | 57 ++ .../vereign/service/gen/resource_service.cc | 45 ++ .../vereign/service/gen/resource_service.hh | 57 ++ .../vereign/service/gen/sharing_service.cc | 97 ++++ .../vereign/service/gen/sharing_service.hh | 93 +++ cpp/src/vereign/service/gen/sign_service.cc | 97 ++++ cpp/src/vereign/service/gen/sign_service.hh | 93 +++ cpp/src/vereign/service/passport_service.hh | 2 +- .../vereign/grpc/gen/++service++_api.hh.tmpl | 60 ++ cpp/templates/vereign/grpc/gen/gen.cc.tmpl | 21 + cpp/templates/vereign/grpc/gen/gen.hh.tmpl | 25 + .../service/gen/++service++_service.cc.tmpl | 39 ++ .../service/gen/++service++_service.hh.tmpl | 53 ++ cpp/templates/vereign/service/gen/gen.hh.tmpl | 8 + cpp/tests/protobuf/CMakeLists.txt | 8 - cpp/tests/protobuf/json_test.cc | 82 ++- cpp/tests/protobuf/proto/messages.proto | 9 + cpp/tests/protobuf/testpb/messages.pb.cc | 546 +++++++++++++++++- cpp/tests/protobuf/testpb/messages.pb.h | 477 ++++++++++++++- cpp/tests/vereign/grpc/server_test.cc | 17 + .../vereign/restapi/client_session_test.cc | 2 +- .../service/gen/passport_service_test.cc | 2 +- 83 files changed, 8943 insertions(+), 82 deletions(-) create mode 100644 cpp/src/vereign/grpc/gen/action_api.hh create mode 100644 cpp/src/vereign/grpc/gen/activity_api.hh create mode 100644 cpp/src/vereign/grpc/gen/company_api.hh create mode 100644 cpp/src/vereign/grpc/gen/contacts_api.hh create mode 100644 cpp/src/vereign/grpc/gen/conversation_api.hh create mode 100644 cpp/src/vereign/grpc/gen/delete_api.hh create mode 100644 cpp/src/vereign/grpc/gen/document_api.hh create mode 100644 cpp/src/vereign/grpc/gen/email_api.hh create mode 100644 cpp/src/vereign/grpc/gen/entity_api.hh create mode 100644 cpp/src/vereign/grpc/gen/event_api.hh create mode 100644 cpp/src/vereign/grpc/gen/ews_api.hh create mode 100644 cpp/src/vereign/grpc/gen/gen.cc create mode 100644 cpp/src/vereign/grpc/gen/identity_api.hh create mode 100644 cpp/src/vereign/grpc/gen/interactions_api.hh create mode 100644 cpp/src/vereign/grpc/gen/orders_api.hh create mode 100644 cpp/src/vereign/grpc/gen/reporting_api.hh create mode 100644 cpp/src/vereign/grpc/gen/resource_api.hh create mode 100644 cpp/src/vereign/grpc/gen/sharing_api.hh create mode 100644 cpp/src/vereign/grpc/gen/sign_api.hh create mode 100644 cpp/src/vereign/grpc/service_registry.cc create mode 100644 cpp/src/vereign/grpc/service_registry.hh create mode 100644 cpp/src/vereign/service/gen/action_service.cc create mode 100644 cpp/src/vereign/service/gen/action_service.hh create mode 100644 cpp/src/vereign/service/gen/activity_service.cc create mode 100644 cpp/src/vereign/service/gen/activity_service.hh create mode 100644 cpp/src/vereign/service/gen/company_service.cc create mode 100644 cpp/src/vereign/service/gen/company_service.hh create mode 100644 cpp/src/vereign/service/gen/contacts_service.cc create mode 100644 cpp/src/vereign/service/gen/contacts_service.hh create mode 100644 cpp/src/vereign/service/gen/conversation_service.cc create mode 100644 cpp/src/vereign/service/gen/conversation_service.hh create mode 100644 cpp/src/vereign/service/gen/delete_service.cc create mode 100644 cpp/src/vereign/service/gen/delete_service.hh create mode 100644 cpp/src/vereign/service/gen/document_service.cc create mode 100644 cpp/src/vereign/service/gen/document_service.hh create mode 100644 cpp/src/vereign/service/gen/email_service.cc create mode 100644 cpp/src/vereign/service/gen/email_service.hh create mode 100644 cpp/src/vereign/service/gen/entity_service.cc create mode 100644 cpp/src/vereign/service/gen/entity_service.hh create mode 100644 cpp/src/vereign/service/gen/event_service.cc create mode 100644 cpp/src/vereign/service/gen/event_service.hh create mode 100644 cpp/src/vereign/service/gen/ews_service.cc create mode 100644 cpp/src/vereign/service/gen/ews_service.hh create mode 100644 cpp/src/vereign/service/gen/identity_service.cc create mode 100644 cpp/src/vereign/service/gen/identity_service.hh create mode 100644 cpp/src/vereign/service/gen/interactions_service.cc create mode 100644 cpp/src/vereign/service/gen/interactions_service.hh create mode 100644 cpp/src/vereign/service/gen/orders_service.cc create mode 100644 cpp/src/vereign/service/gen/orders_service.hh create mode 100644 cpp/src/vereign/service/gen/reporting_service.cc create mode 100644 cpp/src/vereign/service/gen/reporting_service.hh create mode 100644 cpp/src/vereign/service/gen/resource_service.cc create mode 100644 cpp/src/vereign/service/gen/resource_service.hh create mode 100644 cpp/src/vereign/service/gen/sharing_service.cc create mode 100644 cpp/src/vereign/service/gen/sharing_service.hh create mode 100644 cpp/src/vereign/service/gen/sign_service.cc create mode 100644 cpp/src/vereign/service/gen/sign_service.hh create mode 100644 cpp/templates/vereign/grpc/gen/++service++_api.hh.tmpl create mode 100644 cpp/templates/vereign/grpc/gen/gen.cc.tmpl create mode 100644 cpp/templates/vereign/grpc/gen/gen.hh.tmpl create mode 100644 cpp/templates/vereign/service/gen/++service++_service.cc.tmpl create mode 100644 cpp/templates/vereign/service/gen/++service++_service.hh.tmpl create mode 100644 cpp/templates/vereign/service/gen/gen.hh.tmpl diff --git a/cpp/proto b/cpp/proto index 910d2c3..37be183 160000 --- a/cpp/proto +++ b/cpp/proto @@ -1 +1 @@ -Subproject commit 910d2c372559e31a0f0df6a6e7048e4256d02028 +Subproject commit 37be183be5f248ada04ba58ca72784e0fe1d63d3 diff --git a/cpp/src/CMakeLists.txt b/cpp/src/CMakeLists.txt index 4f3b7b0..1c7b906 100644 --- a/cpp/src/CMakeLists.txt +++ b/cpp/src/CMakeLists.txt @@ -16,8 +16,14 @@ list(APPEND PROTO_SRC ${CMAKE_SOURCE_DIR}/proto/cpp/google/api/annotations.pb.cc ${CMAKE_SOURCE_DIR}/proto/cpp/google/api/http.pb.cc - ${CMAKE_SOURCE_DIR}/proto/cpp/code.vereign.com/code/viam-apis/entities-management-agent/api/api.pb.cc ${CMAKE_SOURCE_DIR}/proto/cpp/code.vereign.com/code/viam-apis/versions/api/api.pb.cc + ${CMAKE_SOURCE_DIR}/proto/cpp/code.vereign.com/code/viam-apis/audit-log-agent/api/api.pb.cc + ${CMAKE_SOURCE_DIR}/proto/cpp/code.vereign.com/code/viam-apis/entities-management-agent/api/api.pb.cc + ${CMAKE_SOURCE_DIR}/proto/cpp/code.vereign.com/code/viam-apis/hyperledger-agent/api/api.pb.cc + ${CMAKE_SOURCE_DIR}/proto/cpp/code.vereign.com/code/viam-apis/image-storage-agent/api/api.pb.cc + ${CMAKE_SOURCE_DIR}/proto/cpp/code.vereign.com/code/viam-apis/restful-api/api/api.pb.cc + ${CMAKE_SOURCE_DIR}/proto/cpp/code.vereign.com/code/viam-apis/signing-service-agent/api/api.pb.cc + ${CMAKE_SOURCE_DIR}/proto/cpp/code.vereign.com/code/viam-apis/passport-generation-agent/api/api.pb.cc ) add_library(vereignproto STATIC ${PROTO_SRC}) @@ -30,15 +36,19 @@ target_link_libraries( $<$<CXX_COMPILER_ID:MSVC>:CRYPT32.LIB> ) -set(vereignlib_src +set(VEREIGNLIB_SRC vereign/restapi/detail/http_reader.cc vereign/restapi/client.cc - vereign/service/gen/passport_service.cc + vereign/grpc/gen/gen.cc + vereign/grpc/service_registry.cc vereign/grpc/server.cc vereign/service/passport_service.cc ) -add_library(vereignlib STATIC ${vereignlib_src}) +file(GLOB GENERATED_SERVICES_SRC vereign/service/gen/*.cc) +list(APPEND VEREIGNLIB_SRC ${GENERATED_SERVICES_SRC}) + +add_library(vereignlib STATIC ${VEREIGNLIB_SRC}) target_link_libraries( vereignlib vereignproto @@ -62,3 +72,10 @@ target_link_libraries(csandbox OpenSSL::SSL $<$<CXX_COMPILER_ID:MSVC>:CRYPT32.LIB> ) + +# Generates the gRPC and Vereign services source code. +add_custom_target( + vcl-gen + COMMAND vcl-gen generate --templates-path=templates --output-path src + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} +) diff --git a/cpp/src/vereign/grpc/gen/action_api.hh b/cpp/src/vereign/grpc/gen/action_api.hh new file mode 100644 index 0000000..22d5f90 --- /dev/null +++ b/cpp/src/vereign/grpc/gen/action_api.hh @@ -0,0 +1,77 @@ +#ifndef __VEREIGN_GRPC_GEN_ACTION_API_HH +#define __VEREIGN_GRPC_GEN_ACTION_API_HH + +#include <vereign/client_library/action_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class ActionAPI : public client_library::ActionAPI::Service { +public: + static constexpr const char* Name = "action"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + ActionAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + ActionAPI(const ActionAPI&) = delete; + ActionAPI& operator=(const ActionAPI&) = delete; + + ::grpc::Status GetActions( + ::grpc::ServerContext*, + const client_library::GetActionsForm* request, + client_library::GetActionsFormResponse* response + ) override { + auto result_future = service_->GetActions(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetActionsWithoutSession( + ::grpc::ServerContext*, + const client_library::GetActionsForm* request, + client_library::GetActionsFormResponse* response + ) override { + auto result_future = service_->GetActionsWithoutSession(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_ACTION_API_HH diff --git a/cpp/src/vereign/grpc/gen/activity_api.hh b/cpp/src/vereign/grpc/gen/activity_api.hh new file mode 100644 index 0000000..c35dbb0 --- /dev/null +++ b/cpp/src/vereign/grpc/gen/activity_api.hh @@ -0,0 +1,55 @@ +#ifndef __VEREIGN_GRPC_GEN_ACTIVITY_API_HH +#define __VEREIGN_GRPC_GEN_ACTIVITY_API_HH + +#include <vereign/client_library/activity_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class ActivityAPI : public client_library::ActivityAPI::Service { +public: + static constexpr const char* Name = "activity"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + ActivityAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + ActivityAPI(const ActivityAPI&) = delete; + ActivityAPI& operator=(const ActivityAPI&) = delete; + + ::grpc::Status GetActivity( + ::grpc::ServerContext*, + const client_library::GetActivityForm* request, + client_library::GetActivityFormResponse* response + ) override { + auto result_future = service_->GetActivity(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_ACTIVITY_API_HH diff --git a/cpp/src/vereign/grpc/gen/company_api.hh b/cpp/src/vereign/grpc/gen/company_api.hh new file mode 100644 index 0000000..0dcb8ae --- /dev/null +++ b/cpp/src/vereign/grpc/gen/company_api.hh @@ -0,0 +1,517 @@ +#ifndef __VEREIGN_GRPC_GEN_COMPANY_API_HH +#define __VEREIGN_GRPC_GEN_COMPANY_API_HH + +#include <vereign/client_library/company_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class CompanyAPI : public client_library::CompanyAPI::Service { +public: + static constexpr const char* Name = "company"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + CompanyAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + CompanyAPI(const CompanyAPI&) = delete; + CompanyAPI& operator=(const CompanyAPI&) = delete; + + ::grpc::Status AddClaimToProfileTemplate( + ::grpc::ServerContext*, + const client_library::AddClaimToProfileTemplateForm* request, + client_library::AddClaimToProfileTemplateFormResponse* response + ) override { + auto result_future = service_->AddClaimToProfileTemplate(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status AddEmployee( + ::grpc::ServerContext*, + const client_library::AddEmployeeForm* request, + client_library::AddEmployeeFormResponse* response + ) override { + auto result_future = service_->AddEmployee(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status AddProfileTemplate( + ::grpc::ServerContext*, + const client_library::AddProfileTemplateForm* request, + client_library::AddProfileTemplateFormResponse* response + ) override { + auto result_future = service_->AddProfileTemplate(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status AddRole( + ::grpc::ServerContext*, + const client_library::AddRoleForm* request, + client_library::AddRoleFormResponse* response + ) override { + auto result_future = service_->AddRole(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status AddSharedIdentity( + ::grpc::ServerContext*, + const client_library::AddSharedIdentityForm* request, + client_library::AddSharedIdentityFormResponse* response + ) override { + auto result_future = service_->AddSharedIdentity(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ApplyProfileTemplate( + ::grpc::ServerContext*, + const client_library::ApplyProfileTemplateForm* request, + client_library::ApplyProfileTemplateFormResponse* response + ) override { + auto result_future = service_->ApplyProfileTemplate(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ApplyRoleTemplatesToEmployee( + ::grpc::ServerContext*, + const client_library::ApplyRoleTemplatesToEmployeeForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->ApplyRoleTemplatesToEmployee(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status CreateCompany( + ::grpc::ServerContext*, + const client_library::CreateCompanyForm* request, + client_library::CreateCompanyFormResponse* response + ) override { + auto result_future = service_->CreateCompany(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status DeleteCompanyLogo( + ::grpc::ServerContext*, + const client_library::DeleteCompanyLogoForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->DeleteCompanyLogo(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status DeleteRole( + ::grpc::ServerContext*, + const client_library::DeleteRoleForm* request, + client_library::DeleteRoleFormResponse* response + ) override { + auto result_future = service_->DeleteRole(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetCompanyLogo( + ::grpc::ServerContext*, + const client_library::GetCompanyLogoForm* request, + client_library::GetCompanyLogoFormResponse* response + ) override { + auto result_future = service_->GetCompanyLogo(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetInfrastructure( + ::grpc::ServerContext*, + const client_library::GetInfrastructureForm* request, + client_library::GetInfrastructureFormResponse* response + ) override { + auto result_future = service_->GetInfrastructure(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListCompanies( + ::grpc::ServerContext*, + const client_library::ListCompaniesForm* request, + client_library::ListCompaniesFormResponse* response + ) override { + auto result_future = service_->ListCompanies(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListEmployees( + ::grpc::ServerContext*, + const client_library::ListEmployeesForm* request, + client_library::ListEmployeesFormResponse* response + ) override { + auto result_future = service_->ListEmployees(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListEmployeesForSharedIdentity( + ::grpc::ServerContext*, + const client_library::ListEmployeesForSharedIdentityForm* request, + client_library::ListEmployeesForSharedIdentityFormResponse* response + ) override { + auto result_future = service_->ListEmployeesForSharedIdentity(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListProfileTemplates( + ::grpc::ServerContext*, + const client_library::ListProfileTemplatesForm* request, + client_library::ListProfileTemplatesFormResponse* response + ) override { + auto result_future = service_->ListProfileTemplates(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListSharedIdentities( + ::grpc::ServerContext*, + const client_library::ListSharedIdentitiesForm* request, + client_library::ListSharedIdentitiesFormResponse* response + ) override { + auto result_future = service_->ListSharedIdentities(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListSharedIdentitiesForEmployee( + ::grpc::ServerContext*, + const client_library::ListSharedIdentitiesForEmployeeForm* request, + client_library::ListSharedIdentitiesForEmployeeFormResponse* response + ) override { + auto result_future = service_->ListSharedIdentitiesForEmployee(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListSubscribedTemplatesToRole( + ::grpc::ServerContext*, + const client_library::ListSubscribedTemplatesToRoleForm* request, + client_library::ListSubscribedTemplatesToRoleFormResponse* response + ) override { + auto result_future = service_->ListSubscribedTemplatesToRole(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status PutCompanyLogo( + ::grpc::ServerContext*, + const client_library::PutCompanyLogoForm* request, + client_library::PutCompanyLogoFormResponse* response + ) override { + auto result_future = service_->PutCompanyLogo(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status RemoveClaimFromProfileTemplate( + ::grpc::ServerContext*, + const client_library::RemoveClaimFromProfileTemplateForm* request, + client_library::RemoveClaimFromProfileTemplateFormResponse* response + ) override { + auto result_future = service_->RemoveClaimFromProfileTemplate(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status UpdateEmployeeStatus( + ::grpc::ServerContext*, + const client_library::UpdateEmployeeStatusForm* request, + client_library::UpdateEmployeeStatusFormResponse* response + ) override { + auto result_future = service_->UpdateEmployeeStatus(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_COMPANY_API_HH diff --git a/cpp/src/vereign/grpc/gen/contacts_api.hh b/cpp/src/vereign/grpc/gen/contacts_api.hh new file mode 100644 index 0000000..86e0c45 --- /dev/null +++ b/cpp/src/vereign/grpc/gen/contacts_api.hh @@ -0,0 +1,121 @@ +#ifndef __VEREIGN_GRPC_GEN_CONTACTS_API_HH +#define __VEREIGN_GRPC_GEN_CONTACTS_API_HH + +#include <vereign/client_library/contacts_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class ContactsAPI : public client_library::ContactsAPI::Service { +public: + static constexpr const char* Name = "contacts"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + ContactsAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + ContactsAPI(const ContactsAPI&) = delete; + ContactsAPI& operator=(const ContactsAPI&) = delete; + + ::grpc::Status ChangeStatus( + ::grpc::ServerContext*, + const client_library::ChangeStatusForm* request, + client_library::ChangeStatusFormResponse* response + ) override { + auto result_future = service_->ChangeStatus(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetUserContacts( + ::grpc::ServerContext*, + const client_library::GetUserContactsForm* request, + client_library::GetUserContactsFormResponse* response + ) override { + auto result_future = service_->GetUserContacts(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListContacts( + ::grpc::ServerContext*, + const client_library::ListContactsForm* request, + client_library::ListContactsFormResponse* response + ) override { + auto result_future = service_->ListContacts(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status SearchContacts( + ::grpc::ServerContext*, + const client_library::SearchContactsForm* request, + client_library::SearchContactsFormResponse* response + ) override { + auto result_future = service_->SearchContacts(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_CONTACTS_API_HH diff --git a/cpp/src/vereign/grpc/gen/conversation_api.hh b/cpp/src/vereign/grpc/gen/conversation_api.hh new file mode 100644 index 0000000..9e45bae --- /dev/null +++ b/cpp/src/vereign/grpc/gen/conversation_api.hh @@ -0,0 +1,121 @@ +#ifndef __VEREIGN_GRPC_GEN_CONVERSATION_API_HH +#define __VEREIGN_GRPC_GEN_CONVERSATION_API_HH + +#include <vereign/client_library/conversation_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class ConversationAPI : public client_library::ConversationAPI::Service { +public: + static constexpr const char* Name = "conversation"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + ConversationAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + ConversationAPI(const ConversationAPI&) = delete; + ConversationAPI& operator=(const ConversationAPI&) = delete; + + ::grpc::Status AddEmail( + ::grpc::ServerContext*, + const client_library::AddEmailForm* request, + client_library::AddEmailFormResponse* response + ) override { + auto result_future = service_->AddEmail(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetConversations( + ::grpc::ServerContext*, + const client_library::GetConversationsForm* request, + client_library::GetConversationsFormResponse* response + ) override { + auto result_future = service_->GetConversations(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetConversationsAndMessageIDByMessageUUID( + ::grpc::ServerContext*, + const client_library::GetConversationsAndMessageIDByMessageUUIDForm* request, + client_library::GetConversationsAndMessageIDByMessageUUIDResponse* response + ) override { + auto result_future = service_->GetConversationsAndMessageIDByMessageUUID(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetEmails( + ::grpc::ServerContext*, + const client_library::GetEmailsForm* request, + client_library::GetEmailsFormResponse* response + ) override { + auto result_future = service_->GetEmails(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_CONVERSATION_API_HH diff --git a/cpp/src/vereign/grpc/gen/delete_api.hh b/cpp/src/vereign/grpc/gen/delete_api.hh new file mode 100644 index 0000000..2a59a2d --- /dev/null +++ b/cpp/src/vereign/grpc/gen/delete_api.hh @@ -0,0 +1,77 @@ +#ifndef __VEREIGN_GRPC_GEN_DELETE_API_HH +#define __VEREIGN_GRPC_GEN_DELETE_API_HH + +#include <vereign/client_library/delete_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class DeleteAPI : public client_library::DeleteAPI::Service { +public: + static constexpr const char* Name = "delete"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + DeleteAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + DeleteAPI(const DeleteAPI&) = delete; + DeleteAPI& operator=(const DeleteAPI&) = delete; + + ::grpc::Status DeleteInteraction( + ::grpc::ServerContext*, + const client_library::DeleteInteractionForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->DeleteInteraction(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status DeletePassport( + ::grpc::ServerContext*, + const client_library::DeletePassportForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->DeletePassport(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_DELETE_API_HH diff --git a/cpp/src/vereign/grpc/gen/document_api.hh b/cpp/src/vereign/grpc/gen/document_api.hh new file mode 100644 index 0000000..47c9a98 --- /dev/null +++ b/cpp/src/vereign/grpc/gen/document_api.hh @@ -0,0 +1,275 @@ +#ifndef __VEREIGN_GRPC_GEN_DOCUMENT_API_HH +#define __VEREIGN_GRPC_GEN_DOCUMENT_API_HH + +#include <vereign/client_library/document_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class DocumentAPI : public client_library::DocumentAPI::Service { +public: + static constexpr const char* Name = "document"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + DocumentAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + DocumentAPI(const DocumentAPI&) = delete; + DocumentAPI& operator=(const DocumentAPI&) = delete; + + ::grpc::Status ConvertDocumentByUUID( + ::grpc::ServerContext*, + const client_library::ConvertDocumentByUUIDForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->ConvertDocumentByUUID(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status DeleteIdentityImage( + ::grpc::ServerContext*, + const client_library::DeleteIdentityImageForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->DeleteIdentityImage(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetDocument( + ::grpc::ServerContext*, + const client_library::EmptyRequest* request, + client_library::ListDocumentsResponse* response + ) override { + auto result_future = service_->GetDocument(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetDocumentByResourceID( + ::grpc::ServerContext*, + const client_library::GetDocumentByResourceIDForm* request, + client_library::GetDocumentByResourceIDFormResponse* response + ) override { + auto result_future = service_->GetDocumentByResourceID(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetDocumentByUUID( + ::grpc::ServerContext*, + const client_library::GetDocumentByUUIDForm* request, + client_library::GetDocumentByUUIDFormResponse* response + ) override { + auto result_future = service_->GetDocumentByUUID(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetFileInfo( + ::grpc::ServerContext*, + const client_library::EmptyRequest* request, + client_library::GetFileInfoResponse* response + ) override { + auto result_future = service_->GetFileInfo(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetIdentityImage( + ::grpc::ServerContext*, + const client_library::GetIdentityImageForm* request, + client_library::GetIdentityImageFormResponse* response + ) override { + auto result_future = service_->GetIdentityImage(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListDocuments( + ::grpc::ServerContext*, + const client_library::EmptyRequest* request, + client_library::ListDocumentsResponse* response + ) override { + auto result_future = service_->ListDocuments(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status PutDocumentByUUID( + ::grpc::ServerContext*, + const client_library::PutDocumentByUUIDForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->PutDocumentByUUID(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status PutIdentityImage( + ::grpc::ServerContext*, + const client_library::PutIdentityImageForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->PutIdentityImage(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status SignDocumentByUUID( + ::grpc::ServerContext*, + const client_library::SignDocumentByUUIDForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->SignDocumentByUUID(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_DOCUMENT_API_HH diff --git a/cpp/src/vereign/grpc/gen/email_api.hh b/cpp/src/vereign/grpc/gen/email_api.hh new file mode 100644 index 0000000..ce70d4a --- /dev/null +++ b/cpp/src/vereign/grpc/gen/email_api.hh @@ -0,0 +1,231 @@ +#ifndef __VEREIGN_GRPC_GEN_EMAIL_API_HH +#define __VEREIGN_GRPC_GEN_EMAIL_API_HH + +#include <vereign/client_library/email_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class EmailAPI : public client_library::EmailAPI::Service { +public: + static constexpr const char* Name = "email"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + EmailAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + EmailAPI(const EmailAPI&) = delete; + EmailAPI& operator=(const EmailAPI&) = delete; + + ::grpc::Status GetEmailStatusAll( + ::grpc::ServerContext*, + const client_library::GetEmailStatusAllForm* request, + client_library::GetEmailStatusAllFormResponse* response + ) override { + auto result_future = service_->GetEmailStatusAll(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetEmailStatusList( + ::grpc::ServerContext*, + const client_library::GetEmailStatusListForm* request, + client_library::GetEmailStatusListFormResponse* response + ) override { + auto result_future = service_->GetEmailStatusList(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetGmailMessageIDsByGmailThreadID( + ::grpc::ServerContext*, + const client_library::GetGmailMessageIDsByGmailThreadIDForm* request, + client_library::GetGmailMessageIDsByGmailThreadIDFormResponse* response + ) override { + auto result_future = service_->GetGmailMessageIDsByGmailThreadID(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetMessageIDsByGmailMessageIDs( + ::grpc::ServerContext*, + const client_library::GetMessageIDsByGmailMessageIDsForm* request, + client_library::GetMessageIDsByGmailMessageIDsFormResponse* response + ) override { + auto result_future = service_->GetMessageIDsByGmailMessageIDs(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status InitializeEmailStatus( + ::grpc::ServerContext*, + const client_library::InitializeEmailStatusForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->InitializeEmailStatus(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status SendEmailSmtp( + ::grpc::ServerContext*, + const client_library::SendEmailSmtpForm* request, + client_library::SendEmailSmtpFormResponse* response + ) override { + auto result_future = service_->SendEmailSmtp(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status SendFeedback( + ::grpc::ServerContext*, + const client_library::SendFeedbackForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->SendFeedback(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status StoreGmailMessageId( + ::grpc::ServerContext*, + const client_library::StoreGmailMessageIdForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->StoreGmailMessageId(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status UpdateRecipientEmailStatus( + ::grpc::ServerContext*, + const client_library::UpdateRecipientEmailStatusForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->UpdateRecipientEmailStatus(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_EMAIL_API_HH diff --git a/cpp/src/vereign/grpc/gen/entity_api.hh b/cpp/src/vereign/grpc/gen/entity_api.hh new file mode 100644 index 0000000..01f8a0a --- /dev/null +++ b/cpp/src/vereign/grpc/gen/entity_api.hh @@ -0,0 +1,517 @@ +#ifndef __VEREIGN_GRPC_GEN_ENTITY_API_HH +#define __VEREIGN_GRPC_GEN_ENTITY_API_HH + +#include <vereign/client_library/entity_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class EntityAPI : public client_library::EntityAPI::Service { +public: + static constexpr const char* Name = "entity"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + EntityAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + EntityAPI(const EntityAPI&) = delete; + EntityAPI& operator=(const EntityAPI&) = delete; + + ::grpc::Status AddChild( + ::grpc::ServerContext*, + const client_library::AddChildForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->AddChild(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status AddClaim( + ::grpc::ServerContext*, + const client_library::AddClaimForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->AddClaim(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status AddGuarded( + ::grpc::ServerContext*, + const client_library::AddGuardedForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->AddGuarded(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status AddGuardian( + ::grpc::ServerContext*, + const client_library::AddGuardianForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->AddGuardian(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status AddMember( + ::grpc::ServerContext*, + const client_library::AddMemberForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->AddMember(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status AddMemberOf( + ::grpc::ServerContext*, + const client_library::AddMemberOfForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->AddMemberOf(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status AddParent( + ::grpc::ServerContext*, + const client_library::AddParentForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->AddParent(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status AddViewer( + ::grpc::ServerContext*, + const client_library::AddViewerForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->AddViewer(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status CreateEntity( + ::grpc::ServerContext*, + const client_library::CreateEntityForm* request, + client_library::CreateEntityFormResponse* response + ) override { + auto result_future = service_->CreateEntity(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status DeleteClaim( + ::grpc::ServerContext*, + const client_library::DeleteClaimForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->DeleteClaim(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetClaim( + ::grpc::ServerContext*, + const client_library::GetClaimForm* request, + client_library::GetClaimFormResponse* response + ) override { + auto result_future = service_->GetClaim(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetEntity( + ::grpc::ServerContext*, + const client_library::GetEntityForm* request, + client_library::GetEntityFormResponse* response + ) override { + auto result_future = service_->GetEntity(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status RemoveChild( + ::grpc::ServerContext*, + const client_library::RemoveChildForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->RemoveChild(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status RemoveGuarded( + ::grpc::ServerContext*, + const client_library::RemoveGuardedForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->RemoveGuarded(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status RemoveGuardian( + ::grpc::ServerContext*, + const client_library::RemoveGuardianForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->RemoveGuardian(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status RemoveMember( + ::grpc::ServerContext*, + const client_library::RemoveMemberForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->RemoveMember(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status RemoveMemberOf( + ::grpc::ServerContext*, + const client_library::RemoveMemberOfForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->RemoveMemberOf(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status RemoveParent( + ::grpc::ServerContext*, + const client_library::RemoveParentForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->RemoveParent(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status RemoveViewer( + ::grpc::ServerContext*, + const client_library::RemoveViewerForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->RemoveViewer(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status SendClaimCode( + ::grpc::ServerContext*, + const client_library::ClaimSendCodeForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->SendClaimCode(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status UpdateClaim( + ::grpc::ServerContext*, + const client_library::AddClaimForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->UpdateClaim(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status VerifyClaimCode( + ::grpc::ServerContext*, + const client_library::ClaimVerifyCodeForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->VerifyClaimCode(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_ENTITY_API_HH diff --git a/cpp/src/vereign/grpc/gen/event_api.hh b/cpp/src/vereign/grpc/gen/event_api.hh new file mode 100644 index 0000000..4bfbeba --- /dev/null +++ b/cpp/src/vereign/grpc/gen/event_api.hh @@ -0,0 +1,55 @@ +#ifndef __VEREIGN_GRPC_GEN_EVENT_API_HH +#define __VEREIGN_GRPC_GEN_EVENT_API_HH + +#include <vereign/client_library/event_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class EventAPI : public client_library::EventAPI::Service { +public: + static constexpr const char* Name = "event"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + EventAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + EventAPI(const EventAPI&) = delete; + EventAPI& operator=(const EventAPI&) = delete; + + ::grpc::Status GetEvents( + ::grpc::ServerContext*, + const client_library::GetEventsForm* request, + client_library::GetEventsFormResponse* response + ) override { + auto result_future = service_->GetEvents(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_EVENT_API_HH diff --git a/cpp/src/vereign/grpc/gen/ews_api.hh b/cpp/src/vereign/grpc/gen/ews_api.hh new file mode 100644 index 0000000..15288f4 --- /dev/null +++ b/cpp/src/vereign/grpc/gen/ews_api.hh @@ -0,0 +1,55 @@ +#ifndef __VEREIGN_GRPC_GEN_EWS_API_HH +#define __VEREIGN_GRPC_GEN_EWS_API_HH + +#include <vereign/client_library/ews_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class EwsAPI : public client_library::EwsAPI::Service { +public: + static constexpr const char* Name = "ews"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + EwsAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + EwsAPI(const EwsAPI&) = delete; + EwsAPI& operator=(const EwsAPI&) = delete; + + ::grpc::Status ProxyRequest( + ::grpc::ServerContext*, + const client_library::EWSProxyRequestForm* request, + client_library::EWSProxyRequestFormResponse* response + ) override { + auto result_future = service_->ProxyRequest(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_EWS_API_HH diff --git a/cpp/src/vereign/grpc/gen/gen.cc b/cpp/src/vereign/grpc/gen/gen.cc new file mode 100644 index 0000000..b8e6dcc --- /dev/null +++ b/cpp/src/vereign/grpc/gen/gen.cc @@ -0,0 +1,37 @@ +#include <vereign/grpc/gen/gen.hh> + +#include <vereign/service/gen/gen.hh> +#include <vereign/grpc/service_registry.hh> + +namespace vereign { +namespace grpc { +namespace gen { + +void RegisterAll( + restapi::ClientSession& client_session, + vereign::grpc::ServiceRegistry& service_registry +) { + service_registry.RegisterIfNotExist<ActionAPI<service::gen::ActionService>>(client_session); + service_registry.RegisterIfNotExist<ActivityAPI<service::gen::ActivityService>>(client_session); + service_registry.RegisterIfNotExist<CompanyAPI<service::gen::CompanyService>>(client_session); + service_registry.RegisterIfNotExist<ContactsAPI<service::gen::ContactsService>>(client_session); + service_registry.RegisterIfNotExist<ConversationAPI<service::gen::ConversationService>>(client_session); + service_registry.RegisterIfNotExist<DeleteAPI<service::gen::DeleteService>>(client_session); + service_registry.RegisterIfNotExist<DocumentAPI<service::gen::DocumentService>>(client_session); + service_registry.RegisterIfNotExist<EmailAPI<service::gen::EmailService>>(client_session); + service_registry.RegisterIfNotExist<EntityAPI<service::gen::EntityService>>(client_session); + service_registry.RegisterIfNotExist<EventAPI<service::gen::EventService>>(client_session); + service_registry.RegisterIfNotExist<EwsAPI<service::gen::EwsService>>(client_session); + service_registry.RegisterIfNotExist<IdentityAPI<service::gen::IdentityService>>(client_session); + service_registry.RegisterIfNotExist<InteractionsAPI<service::gen::InteractionsService>>(client_session); + service_registry.RegisterIfNotExist<OrdersAPI<service::gen::OrdersService>>(client_session); + service_registry.RegisterIfNotExist<PassportAPI<service::gen::PassportService>>(client_session); + service_registry.RegisterIfNotExist<ReportingAPI<service::gen::ReportingService>>(client_session); + service_registry.RegisterIfNotExist<ResourceAPI<service::gen::ResourceService>>(client_session); + service_registry.RegisterIfNotExist<SharingAPI<service::gen::SharingService>>(client_session); + service_registry.RegisterIfNotExist<SignAPI<service::gen::SignService>>(client_session); +} + +} +} +} diff --git a/cpp/src/vereign/grpc/gen/gen.hh b/cpp/src/vereign/grpc/gen/gen.hh index 19a6a01..1f0d44b 100644 --- a/cpp/src/vereign/grpc/gen/gen.hh +++ b/cpp/src/vereign/grpc/gen/gen.hh @@ -1,6 +1,42 @@ #ifndef __VEREIGN_GRPC_GEN_GEN_HH #define __VEREIGN_GRPC_GEN_GEN_HH + +#include <vereign/grpc/gen/action_api.hh> +#include <vereign/grpc/gen/activity_api.hh> +#include <vereign/grpc/gen/company_api.hh> +#include <vereign/grpc/gen/contacts_api.hh> +#include <vereign/grpc/gen/conversation_api.hh> +#include <vereign/grpc/gen/delete_api.hh> +#include <vereign/grpc/gen/document_api.hh> +#include <vereign/grpc/gen/email_api.hh> +#include <vereign/grpc/gen/entity_api.hh> +#include <vereign/grpc/gen/event_api.hh> +#include <vereign/grpc/gen/ews_api.hh> +#include <vereign/grpc/gen/identity_api.hh> +#include <vereign/grpc/gen/interactions_api.hh> +#include <vereign/grpc/gen/orders_api.hh> #include <vereign/grpc/gen/passport_api.hh> +#include <vereign/grpc/gen/reporting_api.hh> +#include <vereign/grpc/gen/resource_api.hh> +#include <vereign/grpc/gen/sharing_api.hh> +#include <vereign/grpc/gen/sign_api.hh> + +namespace vereign { +namespace restapi { +class ClientSession; +} + +namespace grpc { + +class ServiceRegistry; + +namespace gen { + +void RegisterAll(restapi::ClientSession& client_session, grpc::ServiceRegistry& service_registry); + +} // namespace gen +} // namespace grpc +} // namespace vereign -#endif +#endif // __VEREIGN_GRPC_GEN_GEN_HH diff --git a/cpp/src/vereign/grpc/gen/identity_api.hh b/cpp/src/vereign/grpc/gen/identity_api.hh new file mode 100644 index 0000000..2d9f4dc --- /dev/null +++ b/cpp/src/vereign/grpc/gen/identity_api.hh @@ -0,0 +1,385 @@ +#ifndef __VEREIGN_GRPC_GEN_IDENTITY_API_HH +#define __VEREIGN_GRPC_GEN_IDENTITY_API_HH + +#include <vereign/client_library/identity_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class IdentityAPI : public client_library::IdentityAPI::Service { +public: + static constexpr const char* Name = "identity"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + IdentityAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + IdentityAPI(const IdentityAPI&) = delete; + IdentityAPI& operator=(const IdentityAPI&) = delete; + + ::grpc::Status AuthorizeDevice( + ::grpc::ServerContext*, + const client_library::AuthorizeDeviceForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->AuthorizeDevice(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status CancelAction( + ::grpc::ServerContext*, + const client_library::CancelActionForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->CancelAction(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ConfirmAction( + ::grpc::ServerContext*, + const client_library::ConfirmActionExecutionForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->ConfirmAction(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ConfirmNewCarddavPublicKey( + ::grpc::ServerContext*, + const client_library::ConfirmNewCarddavPublicKeyForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->ConfirmNewCarddavPublicKey(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ConfirmNewDevice( + ::grpc::ServerContext*, + const client_library::ConfirmNewDeviceForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->ConfirmNewDevice(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GenerateCredentials( + ::grpc::ServerContext*, + const client_library::GenerateCredentialsForm* request, + client_library::GenerateCredentialsFormResponse* response + ) override { + auto result_future = service_->GenerateCredentials(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetAvatar( + ::grpc::ServerContext*, + const client_library::GetIdentityAvatarForm* request, + client_library::GetIdentityAvatarFormResponse* response + ) override { + auto result_future = service_->GetAvatar(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetIdentityProfileData( + ::grpc::ServerContext*, + const client_library::GetIdentityProfileDataForm* request, + client_library::GetIdentityProfileDataFormResponse* response + ) override { + auto result_future = service_->GetIdentityProfileData(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status HasUnauthorizedDevices( + ::grpc::ServerContext*, + const client_library::EmptyRequest* request, + client_library::HasUnauthorizedDevicesHandlerFormResponse* response + ) override { + auto result_future = service_->HasUnauthorizedDevices(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListDevices( + ::grpc::ServerContext*, + const client_library::EmptyRequest* request, + client_library::ListDevicesHandlerFormResponse* response + ) override { + auto result_future = service_->ListDevices(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status PullAvatarFromGravatar( + ::grpc::ServerContext*, + const client_library::PullAvatarFromGravatarForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->PullAvatarFromGravatar(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status Register2FAPublicKey( + ::grpc::ServerContext*, + const client_library::Register2FAPublicKeyForm* request, + client_library::Register2FAPublicKeyFormResponse* response + ) override { + auto result_future = service_->Register2FAPublicKey(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status RenameDevice( + ::grpc::ServerContext*, + const client_library::RenameDeviceForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->RenameDevice(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ResumeDevice( + ::grpc::ServerContext*, + const client_library::ResumeDeviceForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->ResumeDevice(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status RevokeDevice( + ::grpc::ServerContext*, + const client_library::RevokeDeviceForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->RevokeDevice(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status SuspendDevice( + ::grpc::ServerContext*, + const client_library::SuspendDeviceForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->SuspendDevice(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_IDENTITY_API_HH diff --git a/cpp/src/vereign/grpc/gen/interactions_api.hh b/cpp/src/vereign/grpc/gen/interactions_api.hh new file mode 100644 index 0000000..b0947b6 --- /dev/null +++ b/cpp/src/vereign/grpc/gen/interactions_api.hh @@ -0,0 +1,55 @@ +#ifndef __VEREIGN_GRPC_GEN_INTERACTIONS_API_HH +#define __VEREIGN_GRPC_GEN_INTERACTIONS_API_HH + +#include <vereign/client_library/interactions_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class InteractionsAPI : public client_library::InteractionsAPI::Service { +public: + static constexpr const char* Name = "interactions"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + InteractionsAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + InteractionsAPI(const InteractionsAPI&) = delete; + InteractionsAPI& operator=(const InteractionsAPI&) = delete; + + ::grpc::Status SearchInteractions( + ::grpc::ServerContext*, + const client_library::SearchInteractionsForm* request, + client_library::SearchInteractionsFormResponse* response + ) override { + auto result_future = service_->SearchInteractions(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_INTERACTIONS_API_HH diff --git a/cpp/src/vereign/grpc/gen/orders_api.hh b/cpp/src/vereign/grpc/gen/orders_api.hh new file mode 100644 index 0000000..1fae8e7 --- /dev/null +++ b/cpp/src/vereign/grpc/gen/orders_api.hh @@ -0,0 +1,143 @@ +#ifndef __VEREIGN_GRPC_GEN_ORDERS_API_HH +#define __VEREIGN_GRPC_GEN_ORDERS_API_HH + +#include <vereign/client_library/orders_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class OrdersAPI : public client_library::OrdersAPI::Service { +public: + static constexpr const char* Name = "orders"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + OrdersAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + OrdersAPI(const OrdersAPI&) = delete; + OrdersAPI& operator=(const OrdersAPI&) = delete; + + ::grpc::Status ConfirmCardPayment( + ::grpc::ServerContext*, + const client_library::ConfirmCardPaymentForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->ConfirmCardPayment(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetGeneratedInvoiceForOrder( + ::grpc::ServerContext*, + const client_library::GetGeneratedInvoiceForOrderForm* request, + client_library::GetGeneratedInvoiceForOrderFormResponse* response + ) override { + auto result_future = service_->GetGeneratedInvoiceForOrder(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetOrder( + ::grpc::ServerContext*, + const client_library::GetOrderForm* request, + client_library::GetOrderFormResponse* response + ) override { + auto result_future = service_->GetOrder(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status InitializeCardPayment( + ::grpc::ServerContext*, + const client_library::InitializeCardPaymentForm* request, + client_library::InitializeCardPaymentFormResponse* response + ) override { + auto result_future = service_->InitializeCardPayment(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListOrders( + ::grpc::ServerContext*, + const client_library::ListOrdersForm* request, + client_library::ListOrdersFormResponse* response + ) override { + auto result_future = service_->ListOrders(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_ORDERS_API_HH diff --git a/cpp/src/vereign/grpc/gen/passport_api.hh b/cpp/src/vereign/grpc/gen/passport_api.hh index 6375e25..14f0568 100644 --- a/cpp/src/vereign/grpc/gen/passport_api.hh +++ b/cpp/src/vereign/grpc/gen/passport_api.hh @@ -10,6 +10,9 @@ namespace gen { template <class VereignService> class PassportAPI : public client_library::PassportAPI::Service { public: + static constexpr const char* Name = "passport"; + + using VereignServiceType = VereignService; using VereignServicePtr = std::unique_ptr<VereignService>; PassportAPI(VereignServicePtr&& service) @@ -19,6 +22,248 @@ public: PassportAPI(const PassportAPI&) = delete; PassportAPI& operator=(const PassportAPI&) = delete; + ::grpc::Status AttachFunction( + ::grpc::ServerContext*, + const client_library::AttachFunctionToPassportClaimForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->AttachFunction(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status CallFunction( + ::grpc::ServerContext*, + const client_library::CallFunctionForm* request, + client_library::CallFunctionFormResponse* response + ) override { + auto result_future = service_->CallFunction(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GenerateDIDs( + ::grpc::ServerContext*, + const client_library::GenerateDIDsForm* request, + client_library::GenerateDIDsFormResponse* response + ) override { + auto result_future = service_->GenerateDIDs(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetAvatarByPassport( + ::grpc::ServerContext*, + const client_library::GetAvatarByPassportForm* request, + client_library::GetAvatarByPassportFormResponse* response + ) override { + auto result_future = service_->GetAvatarByPassport(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetDIDs( + ::grpc::ServerContext*, + const client_library::GetDIDsForm* request, + client_library::GetDIDsFormResponse* response + ) override { + auto result_future = service_->GetDIDs(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetEmailWithHeaderByPassport( + ::grpc::ServerContext*, + const client_library::GetEmailWithHeaderByPassportForm* request, + client_library::GetEmailWithHeaderByPassportFormResponse* response + ) override { + auto result_future = service_->GetEmailWithHeaderByPassport(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetInteractions( + ::grpc::ServerContext*, + const client_library::GetInteractionsForm* request, + client_library::GetInteractionsFormResponse* response + ) override { + auto result_future = service_->GetInteractions(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetVCardImage( + ::grpc::ServerContext*, + const client_library::GetVCardImageForm* request, + client_library::GetVCardImageFormResponse* response + ) override { + auto result_future = service_->GetVCardImage(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GetVCardTemplate( + ::grpc::ServerContext*, + const client_library::GetVCardTemplateForm* request, + client_library::GetVCardTemplateFormResponse* response + ) override { + auto result_future = service_->GetVCardTemplate(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status LinkClaim( + ::grpc::ServerContext*, + const client_library::LinkClaimToPassportForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->LinkClaim(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListFunctions( + ::grpc::ServerContext*, + const client_library::EmptyRequest* request, + client_library::ListFunctionsResponse* response + ) override { + auto result_future = service_->ListFunctions(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + ::grpc::Status ListPassports( ::grpc::ServerContext*, const client_library::ListPassportsForm* request, @@ -41,6 +286,94 @@ public: return ::grpc::Status::OK; } + ::grpc::Status ListPassportsForSharedIdentity( + ::grpc::ServerContext*, + const client_library::ListPassportsForSharedIdentityForm* request, + client_library::ListPassportsForSharedIdentityFormResponse* response + ) override { + auto result_future = service_->ListPassportsForSharedIdentity(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListSharedIdentitiesWithUser( + ::grpc::ServerContext*, + const client_library::ListSharedIdentitiesWithUserForm* request, + client_library::ListSharedIdentitiesWithUserFormResponse* response + ) override { + auto result_future = service_->ListSharedIdentitiesWithUser(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status SetVCardImage( + ::grpc::ServerContext*, + const client_library::SetVCardImageForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->SetVCardImage(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status StoreDIDs( + ::grpc::ServerContext*, + const client_library::StoreDIDsForm* request, + client_library::StoreDIDsFormResponse* response + ) override { + auto result_future = service_->StoreDIDs(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + protected: VereignServicePtr service_; }; diff --git a/cpp/src/vereign/grpc/gen/reporting_api.hh b/cpp/src/vereign/grpc/gen/reporting_api.hh new file mode 100644 index 0000000..bbbf4f0 --- /dev/null +++ b/cpp/src/vereign/grpc/gen/reporting_api.hh @@ -0,0 +1,77 @@ +#ifndef __VEREIGN_GRPC_GEN_REPORTING_API_HH +#define __VEREIGN_GRPC_GEN_REPORTING_API_HH + +#include <vereign/client_library/reporting_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class ReportingAPI : public client_library::ReportingAPI::Service { +public: + static constexpr const char* Name = "reporting"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + ReportingAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + ReportingAPI(const ReportingAPI&) = delete; + ReportingAPI& operator=(const ReportingAPI&) = delete; + + ::grpc::Status Getbillingdataforperiod( + ::grpc::ServerContext*, + const client_library::GetBillingDataForPeriodForm* request, + client_library::GetBillingDataForPeriodFormResponse* response + ) override { + auto result_future = service_->Getbillingdataforperiod(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status Getreporttotaldata( + ::grpc::ServerContext*, + const client_library::GetReportTotalDataForm* request, + client_library::GetReportTotalDataFormResponse* response + ) override { + auto result_future = service_->Getreporttotaldata(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_REPORTING_API_HH diff --git a/cpp/src/vereign/grpc/gen/resource_api.hh b/cpp/src/vereign/grpc/gen/resource_api.hh new file mode 100644 index 0000000..13f6ba2 --- /dev/null +++ b/cpp/src/vereign/grpc/gen/resource_api.hh @@ -0,0 +1,77 @@ +#ifndef __VEREIGN_GRPC_GEN_RESOURCE_API_HH +#define __VEREIGN_GRPC_GEN_RESOURCE_API_HH + +#include <vereign/client_library/resource_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class ResourceAPI : public client_library::ResourceAPI::Service { +public: + static constexpr const char* Name = "resource"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + ResourceAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + ResourceAPI(const ResourceAPI&) = delete; + ResourceAPI& operator=(const ResourceAPI&) = delete; + + ::grpc::Status DeleteResourceByToken( + ::grpc::ServerContext*, + const client_library::DeleteResourceForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->DeleteResourceByToken(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status StoreResource( + ::grpc::ServerContext*, + const client_library::StoreResourceForm* request, + client_library::StoreResourceFormResponse* response + ) override { + auto result_future = service_->StoreResource(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_RESOURCE_API_HH diff --git a/cpp/src/vereign/grpc/gen/sharing_api.hh b/cpp/src/vereign/grpc/gen/sharing_api.hh new file mode 100644 index 0000000..e52aea7 --- /dev/null +++ b/cpp/src/vereign/grpc/gen/sharing_api.hh @@ -0,0 +1,165 @@ +#ifndef __VEREIGN_GRPC_GEN_SHARING_API_HH +#define __VEREIGN_GRPC_GEN_SHARING_API_HH + +#include <vereign/client_library/sharing_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class SharingAPI : public client_library::SharingAPI::Service { +public: + static constexpr const char* Name = "sharing"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + SharingAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + SharingAPI(const SharingAPI&) = delete; + SharingAPI& operator=(const SharingAPI&) = delete; + + ::grpc::Status AcceptSharingRequestMovePassport( + ::grpc::ServerContext*, + const client_library::AcceptSharingRequestMovePassportForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->AcceptSharingRequestMovePassport(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status AcceptSharingRequestPersistPassport( + ::grpc::ServerContext*, + const client_library::AcceptSharingRequestPersistPassportForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->AcceptSharingRequestPersistPassport(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListPendingSharingRequests( + ::grpc::ServerContext*, + const client_library::ListPendingSharingRequestsForm* request, + client_library::ListPendingSharingRequestsFormResponse* response + ) override { + auto result_future = service_->ListPendingSharingRequests(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ListRejectedSharingRequests( + ::grpc::ServerContext*, + const client_library::ListRejectedSharingRequestsForm* request, + client_library::ListRejectedSharingRequestsFormResponse* response + ) override { + auto result_future = service_->ListRejectedSharingRequests(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status RejectSharingRequest( + ::grpc::ServerContext*, + const client_library::RejectSharingRequestForm* request, + client_library::EmptyResponse* response + ) override { + auto result_future = service_->RejectSharingRequest(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status SendShareDocumentRequest( + ::grpc::ServerContext*, + const client_library::SendShareDocumentRequestForm* request, + client_library::SendShareDocumentRequestFormResponse* response + ) override { + auto result_future = service_->SendShareDocumentRequest(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_SHARING_API_HH diff --git a/cpp/src/vereign/grpc/gen/sign_api.hh b/cpp/src/vereign/grpc/gen/sign_api.hh new file mode 100644 index 0000000..7d9cf59 --- /dev/null +++ b/cpp/src/vereign/grpc/gen/sign_api.hh @@ -0,0 +1,165 @@ +#ifndef __VEREIGN_GRPC_GEN_SIGN_API_HH +#define __VEREIGN_GRPC_GEN_SIGN_API_HH + +#include <vereign/client_library/sign_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +template <class VereignService> +class SignAPI : public client_library::SignAPI::Service { +public: + static constexpr const char* Name = "sign"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + SignAPI(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + SignAPI(const SignAPI&) = delete; + SignAPI& operator=(const SignAPI&) = delete; + + ::grpc::Status GenerateCmsForChain( + ::grpc::ServerContext*, + const client_library::GenerateCmsForChainForm* request, + client_library::GenerateCmsForChainFormResponse* response + ) override { + auto result_future = service_->GenerateCmsForChain(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status GenerateCmsForPassport( + ::grpc::ServerContext*, + const client_library::GenerateCmsForPassportForm* request, + client_library::GenerateCmsForPassportFormResponse* response + ) override { + auto result_future = service_->GenerateCmsForPassport(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ResignEmail( + ::grpc::ServerContext*, + const client_library::ResignSMIMEForm* request, + client_library::ResignSMIMEFormResponse* response + ) override { + auto result_future = service_->ResignEmail(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status RetrieveRootCertificate( + ::grpc::ServerContext*, + const client_library::RetrieveRootCertificateForm* request, + client_library::RetrieveRootCertificateFormResponse* response + ) override { + auto result_future = service_->RetrieveRootCertificate(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status SignVCardForChain( + ::grpc::ServerContext*, + const client_library::SignVCardForChainForm* request, + client_library::SignVCardForChainFormResponse* response + ) override { + auto result_future = service_->SignVCardForChain(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + + ::grpc::Status ValidateVMime( + ::grpc::ServerContext*, + const client_library::ValidateVMimeForm* request, + client_library::ValidateVMimeFormResponse* response + ) override { + auto result_future = service_->ValidateVMime(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_SIGN_API_HH diff --git a/cpp/src/vereign/grpc/passport_api.hh b/cpp/src/vereign/grpc/passport_api.hh index 09023d4..02eb2b3 100644 --- a/cpp/src/vereign/grpc/passport_api.hh +++ b/cpp/src/vereign/grpc/passport_api.hh @@ -9,6 +9,9 @@ namespace grpc { template <class VereignService> class PassportAPI final : public gen::PassportAPI<VereignService> { public: + static constexpr const char* Name = gen::PassportAPI<VereignService>::Name; + + using VereignServiceType = VereignService; using VereignServicePtr = std::unique_ptr<VereignService>; PassportAPI(VereignServicePtr&& service) diff --git a/cpp/src/vereign/grpc/server.cc b/cpp/src/vereign/grpc/server.cc index 1bc1870..902cabf 100644 --- a/cpp/src/vereign/grpc/server.cc +++ b/cpp/src/vereign/grpc/server.cc @@ -1,7 +1,9 @@ -#include "boost/asio/executor_work_guard.hpp" -#include "vereign/grpc/gen/passport_api.hh" -#include "vereign/service/gen/passport_service.hh" +#include "vereign/grpc/gen/conversation_api.hh" +#include "vereign/service/gen/conversation_service.hh" #include <vereign/grpc/server.hh> + +#include <vereign/grpc/gen/passport_api.hh> +#include <vereign/service/gen/passport_service.hh> #include <vereign/restapi/client.hh> #include <vereign/restapi/client_session.hh> @@ -15,6 +17,8 @@ #include <grpcpp/server_context.h> #include <grpcpp/security/server_credentials.h> +#include <boost/asio/executor_work_guard.hpp> + namespace vereign { namespace grpc { @@ -44,15 +48,13 @@ Server::Server( &selected_port_ ); - services_.emplace_back( - std::make_unique<grpc::PassportAPI<service::PassportService>>( - std::make_unique<service::PassportService>(*client_session_) - ) - ); + // register manually written services + services_registry_.RegisterIfNotExist<PassportAPI<service::PassportService>>(*client_session_); - for (auto& service : services_) { - builder.RegisterService(service.get()); - } + // register all generated services + grpc::gen::RegisterAll(*client_session_, services_registry_); + + services_registry_.RegisterIntoBuilder(builder); server_ = builder.BuildAndStart(); if (server_ == nullptr) { @@ -90,5 +92,5 @@ int Server::SelectedPort() const { return selected_port_; } -} -} +} // namespace grpc +} // namespace vereign diff --git a/cpp/src/vereign/grpc/server.hh b/cpp/src/vereign/grpc/server.hh index f72c981..7ba60bb 100644 --- a/cpp/src/vereign/grpc/server.hh +++ b/cpp/src/vereign/grpc/server.hh @@ -6,6 +6,7 @@ #include <boost/asio/io_context.hpp> #include <boost/asio/ssl/context.hpp> #include <boost/asio/executor_work_guard.hpp> +#include <vereign/grpc/service_registry.hh> namespace vereign { @@ -76,13 +77,13 @@ private: asio::ssl::context ssl_context_; std::unique_ptr<vereign::restapi::Client> client_; std::unique_ptr<vereign::restapi::ClientSession> client_session_; - std::vector<std::unique_ptr<::grpc::Service>> services_; + ServiceRegistry services_registry_; std::unique_ptr<::grpc::Server> server_; std::thread server_thread_; std::thread service_thread_; }; -} -} +} // namespace grpc +} // namespace vereign #endif diff --git a/cpp/src/vereign/grpc/service_registry.cc b/cpp/src/vereign/grpc/service_registry.cc new file mode 100644 index 0000000..357689f --- /dev/null +++ b/cpp/src/vereign/grpc/service_registry.cc @@ -0,0 +1,13 @@ +#include <vereign/grpc/service_registry.hh> + +namespace vereign { +namespace grpc { + +void ServiceRegistry::RegisterIntoBuilder(::grpc::ServerBuilder& builder) { + for (auto& pair : services_) { + builder.RegisterService(pair.second.get()); + } +} + +} // namespace grpc +} // namespace vereign diff --git a/cpp/src/vereign/grpc/service_registry.hh b/cpp/src/vereign/grpc/service_registry.hh new file mode 100644 index 0000000..cddc32a --- /dev/null +++ b/cpp/src/vereign/grpc/service_registry.hh @@ -0,0 +1,36 @@ +#ifndef __VEREIGN_GRPC_SERVICE_REGISTRY_HH +#define __VEREIGN_GRPC_SERVICE_REGISTRY_HH + +#include <grpcpp/server_builder.h> +#include <vereign/restapi/client_session.hh> + +#include <unordered_map> + +namespace vereign { +namespace grpc { + +class ServiceRegistry { +public: + void RegisterIntoBuilder(::grpc::ServerBuilder& builder); + + template <class API> + bool RegisterIfNotExist(restapi::ClientSession& client_session) { + auto it = services_.find(API::Name); + if (it != services_.end()) { + return false; + } + + using Service = typename API::VereignServiceType; + services_[API::Name] = std::make_unique<API>(std::make_unique<Service>(client_session)); + + return true; + } + +private: + std::unordered_map<std::string, std::unique_ptr<::grpc::Service>> services_; +}; + +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_SERVICE_REGISTRY_HH diff --git a/cpp/src/vereign/restapi/detail/post_task.hh b/cpp/src/vereign/restapi/detail/post_task.hh index 302ea11..78bb439 100644 --- a/cpp/src/vereign/restapi/detail/post_task.hh +++ b/cpp/src/vereign/restapi/detail/post_task.hh @@ -72,14 +72,14 @@ public: PostTask& operator=(const PostTask&) = delete; void DecodeResponse(const HttpResponse& httpResp) override { - google::protobuf::util::JsonParseOptions options; - options.ignore_unknown_fields = true; - if (httpResp.result() != beast::http::status::ok) { decodeErrorResponse(httpResp); return; } + google::protobuf::util::JsonParseOptions options; + options.ignore_unknown_fields = true; + auto status = google::protobuf::util::JsonStringToMessage( httpResp.body(), &*resp_, @@ -101,13 +101,9 @@ public: google::protobuf::util::JsonPrintOptions options; options.preserve_proto_field_names = true; - options.always_print_primitive_fields = true; + options.always_print_primitive_fields = false; options.always_print_enums_as_ints = true; - auto status = google::protobuf::util::MessageToJsonString( - *req_, - &req.body(), - options - ); + auto status = google::protobuf::util::MessageToJsonString(*req_, &req.body(), options); if (!status.ok()) { return fmt::format( diff --git a/cpp/src/vereign/service/gen/action_service.cc b/cpp/src/vereign/service/gen/action_service.cc new file mode 100644 index 0000000..53d3d6b --- /dev/null +++ b/cpp/src/vereign/service/gen/action_service.cc @@ -0,0 +1,45 @@ +#include <vereign/service/gen/action_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string getActionsPath = "getActions"; + const std::string getActionsWithoutSessionPath = "getActionsWithoutSession"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string ActionService::ServicePath = "/action/"; + +ActionService::ActionService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<ActionService::GetActionsResult> +ActionService::GetActions( + const client_library::GetActionsForm* req, + client_library::GetActionsFormResponse* resp +) { + return client_session_.Post( + ServicePath + getActionsPath, + req, + resp + ); +} + +std::future<ActionService::GetActionsWithoutSessionResult> +ActionService::GetActionsWithoutSession( + const client_library::GetActionsForm* req, + client_library::GetActionsFormResponse* resp +) { + return client_session_.Post( + ServicePath + getActionsWithoutSessionPath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/action_service.hh b/cpp/src/vereign/service/gen/action_service.hh new file mode 100644 index 0000000..cc24323 --- /dev/null +++ b/cpp/src/vereign/service/gen/action_service.hh @@ -0,0 +1,57 @@ +#ifndef __VEREIGN_SERVICE_GEN_ACTION_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_ACTION_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class ActionService { +public: + static const std::string ServicePath; + + explicit ActionService(restapi::ClientSession& client_session); + + ActionService(const ActionService&) = delete; + ActionService& operator=(const ActionService&) = delete; + + using GetActionsResult = Result< + const client_library::GetActionsForm*, + client_library::GetActionsFormResponse*>; + + std::future<GetActionsResult> GetActions( + const client_library::GetActionsForm* req, + client_library::GetActionsFormResponse* resp + ); + + using GetActionsWithoutSessionResult = Result< + const client_library::GetActionsForm*, + client_library::GetActionsFormResponse*>; + + std::future<GetActionsWithoutSessionResult> GetActionsWithoutSession( + const client_library::GetActionsForm* req, + client_library::GetActionsFormResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_ACTION_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/activity_service.cc b/cpp/src/vereign/service/gen/activity_service.cc new file mode 100644 index 0000000..1fc83d3 --- /dev/null +++ b/cpp/src/vereign/service/gen/activity_service.cc @@ -0,0 +1,32 @@ +#include <vereign/service/gen/activity_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string getActivityPath = "getActivity"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string ActivityService::ServicePath = "/activity/"; + +ActivityService::ActivityService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<ActivityService::GetActivityResult> +ActivityService::GetActivity( + const client_library::GetActivityForm* req, + client_library::GetActivityFormResponse* resp +) { + return client_session_.Post( + ServicePath + getActivityPath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/activity_service.hh b/cpp/src/vereign/service/gen/activity_service.hh new file mode 100644 index 0000000..620bb3b --- /dev/null +++ b/cpp/src/vereign/service/gen/activity_service.hh @@ -0,0 +1,48 @@ +#ifndef __VEREIGN_SERVICE_GEN_ACTIVITY_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_ACTIVITY_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class ActivityService { +public: + static const std::string ServicePath; + + explicit ActivityService(restapi::ClientSession& client_session); + + ActivityService(const ActivityService&) = delete; + ActivityService& operator=(const ActivityService&) = delete; + + using GetActivityResult = Result< + const client_library::GetActivityForm*, + client_library::GetActivityFormResponse*>; + + std::future<GetActivityResult> GetActivity( + const client_library::GetActivityForm* req, + client_library::GetActivityFormResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_ACTIVITY_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/company_service.cc b/cpp/src/vereign/service/gen/company_service.cc new file mode 100644 index 0000000..9cd740d --- /dev/null +++ b/cpp/src/vereign/service/gen/company_service.cc @@ -0,0 +1,305 @@ +#include <vereign/service/gen/company_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string addClaimToProfileTemplatePath = "addClaimToProfileTemplate"; + const std::string addEmployeePath = "addEmployee"; + const std::string addProfileTemplatePath = "addProfileTemplate"; + const std::string addRolePath = "addRole"; + const std::string addSharedIdentityPath = "addSharedIdentity"; + const std::string applyProfileTemplatePath = "applyProfileTemplate"; + const std::string applyRoleTemplatesToEmployeePath = "applyRoleTemplatesToEmployee"; + const std::string createCompanyPath = "createCompany"; + const std::string deleteCompanyLogoPath = "deleteCompanyLogo"; + const std::string deleteRolePath = "deleteRole"; + const std::string getCompanyLogoPath = "getCompanyLogo"; + const std::string getInfrastructurePath = "getInfrastructure"; + const std::string listCompaniesPath = "listCompanies"; + const std::string listEmployeesPath = "listEmployees"; + const std::string listEmployeesForSharedIdentityPath = "listEmployeesForSharedIdentity"; + const std::string listProfileTemplatesPath = "listProfileTemplates"; + const std::string listSharedIdentitiesPath = "listSharedIdentities"; + const std::string listSharedIdentitiesForEmployeePath = "listSharedIdentitiesForEmployee"; + const std::string listSubscribedTemplatesToRolePath = "listSubscribedTemplatesToRole"; + const std::string putCompanyLogoPath = "putCompanyLogo"; + const std::string removeClaimFromProfileTemplatePath = "removeClaimFromProfileTemplate"; + const std::string updateEmployeeStatusPath = "updateEmployeeStatus"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string CompanyService::ServicePath = "/company/"; + +CompanyService::CompanyService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<CompanyService::AddClaimToProfileTemplateResult> +CompanyService::AddClaimToProfileTemplate( + const client_library::AddClaimToProfileTemplateForm* req, + client_library::AddClaimToProfileTemplateFormResponse* resp +) { + return client_session_.Post( + ServicePath + addClaimToProfileTemplatePath, + req, + resp + ); +} + +std::future<CompanyService::AddEmployeeResult> +CompanyService::AddEmployee( + const client_library::AddEmployeeForm* req, + client_library::AddEmployeeFormResponse* resp +) { + return client_session_.Post( + ServicePath + addEmployeePath, + req, + resp + ); +} + +std::future<CompanyService::AddProfileTemplateResult> +CompanyService::AddProfileTemplate( + const client_library::AddProfileTemplateForm* req, + client_library::AddProfileTemplateFormResponse* resp +) { + return client_session_.Post( + ServicePath + addProfileTemplatePath, + req, + resp + ); +} + +std::future<CompanyService::AddRoleResult> +CompanyService::AddRole( + const client_library::AddRoleForm* req, + client_library::AddRoleFormResponse* resp +) { + return client_session_.Post( + ServicePath + addRolePath, + req, + resp + ); +} + +std::future<CompanyService::AddSharedIdentityResult> +CompanyService::AddSharedIdentity( + const client_library::AddSharedIdentityForm* req, + client_library::AddSharedIdentityFormResponse* resp +) { + return client_session_.Post( + ServicePath + addSharedIdentityPath, + req, + resp + ); +} + +std::future<CompanyService::ApplyProfileTemplateResult> +CompanyService::ApplyProfileTemplate( + const client_library::ApplyProfileTemplateForm* req, + client_library::ApplyProfileTemplateFormResponse* resp +) { + return client_session_.Post( + ServicePath + applyProfileTemplatePath, + req, + resp + ); +} + +std::future<CompanyService::ApplyRoleTemplatesToEmployeeResult> +CompanyService::ApplyRoleTemplatesToEmployee( + const client_library::ApplyRoleTemplatesToEmployeeForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + applyRoleTemplatesToEmployeePath, + req, + resp + ); +} + +std::future<CompanyService::CreateCompanyResult> +CompanyService::CreateCompany( + const client_library::CreateCompanyForm* req, + client_library::CreateCompanyFormResponse* resp +) { + return client_session_.Post( + ServicePath + createCompanyPath, + req, + resp + ); +} + +std::future<CompanyService::DeleteCompanyLogoResult> +CompanyService::DeleteCompanyLogo( + const client_library::DeleteCompanyLogoForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + deleteCompanyLogoPath, + req, + resp + ); +} + +std::future<CompanyService::DeleteRoleResult> +CompanyService::DeleteRole( + const client_library::DeleteRoleForm* req, + client_library::DeleteRoleFormResponse* resp +) { + return client_session_.Post( + ServicePath + deleteRolePath, + req, + resp + ); +} + +std::future<CompanyService::GetCompanyLogoResult> +CompanyService::GetCompanyLogo( + const client_library::GetCompanyLogoForm* req, + client_library::GetCompanyLogoFormResponse* resp +) { + return client_session_.Post( + ServicePath + getCompanyLogoPath, + req, + resp + ); +} + +std::future<CompanyService::GetInfrastructureResult> +CompanyService::GetInfrastructure( + const client_library::GetInfrastructureForm* req, + client_library::GetInfrastructureFormResponse* resp +) { + return client_session_.Post( + ServicePath + getInfrastructurePath, + req, + resp + ); +} + +std::future<CompanyService::ListCompaniesResult> +CompanyService::ListCompanies( + const client_library::ListCompaniesForm* req, + client_library::ListCompaniesFormResponse* resp +) { + return client_session_.Post( + ServicePath + listCompaniesPath, + req, + resp + ); +} + +std::future<CompanyService::ListEmployeesResult> +CompanyService::ListEmployees( + const client_library::ListEmployeesForm* req, + client_library::ListEmployeesFormResponse* resp +) { + return client_session_.Post( + ServicePath + listEmployeesPath, + req, + resp + ); +} + +std::future<CompanyService::ListEmployeesForSharedIdentityResult> +CompanyService::ListEmployeesForSharedIdentity( + const client_library::ListEmployeesForSharedIdentityForm* req, + client_library::ListEmployeesForSharedIdentityFormResponse* resp +) { + return client_session_.Post( + ServicePath + listEmployeesForSharedIdentityPath, + req, + resp + ); +} + +std::future<CompanyService::ListProfileTemplatesResult> +CompanyService::ListProfileTemplates( + const client_library::ListProfileTemplatesForm* req, + client_library::ListProfileTemplatesFormResponse* resp +) { + return client_session_.Post( + ServicePath + listProfileTemplatesPath, + req, + resp + ); +} + +std::future<CompanyService::ListSharedIdentitiesResult> +CompanyService::ListSharedIdentities( + const client_library::ListSharedIdentitiesForm* req, + client_library::ListSharedIdentitiesFormResponse* resp +) { + return client_session_.Post( + ServicePath + listSharedIdentitiesPath, + req, + resp + ); +} + +std::future<CompanyService::ListSharedIdentitiesForEmployeeResult> +CompanyService::ListSharedIdentitiesForEmployee( + const client_library::ListSharedIdentitiesForEmployeeForm* req, + client_library::ListSharedIdentitiesForEmployeeFormResponse* resp +) { + return client_session_.Post( + ServicePath + listSharedIdentitiesForEmployeePath, + req, + resp + ); +} + +std::future<CompanyService::ListSubscribedTemplatesToRoleResult> +CompanyService::ListSubscribedTemplatesToRole( + const client_library::ListSubscribedTemplatesToRoleForm* req, + client_library::ListSubscribedTemplatesToRoleFormResponse* resp +) { + return client_session_.Post( + ServicePath + listSubscribedTemplatesToRolePath, + req, + resp + ); +} + +std::future<CompanyService::PutCompanyLogoResult> +CompanyService::PutCompanyLogo( + const client_library::PutCompanyLogoForm* req, + client_library::PutCompanyLogoFormResponse* resp +) { + return client_session_.Post( + ServicePath + putCompanyLogoPath, + req, + resp + ); +} + +std::future<CompanyService::RemoveClaimFromProfileTemplateResult> +CompanyService::RemoveClaimFromProfileTemplate( + const client_library::RemoveClaimFromProfileTemplateForm* req, + client_library::RemoveClaimFromProfileTemplateFormResponse* resp +) { + return client_session_.Post( + ServicePath + removeClaimFromProfileTemplatePath, + req, + resp + ); +} + +std::future<CompanyService::UpdateEmployeeStatusResult> +CompanyService::UpdateEmployeeStatus( + const client_library::UpdateEmployeeStatusForm* req, + client_library::UpdateEmployeeStatusFormResponse* resp +) { + return client_session_.Post( + ServicePath + updateEmployeeStatusPath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/company_service.hh b/cpp/src/vereign/service/gen/company_service.hh new file mode 100644 index 0000000..ee59d4f --- /dev/null +++ b/cpp/src/vereign/service/gen/company_service.hh @@ -0,0 +1,237 @@ +#ifndef __VEREIGN_SERVICE_GEN_COMPANY_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_COMPANY_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class CompanyService { +public: + static const std::string ServicePath; + + explicit CompanyService(restapi::ClientSession& client_session); + + CompanyService(const CompanyService&) = delete; + CompanyService& operator=(const CompanyService&) = delete; + + using AddClaimToProfileTemplateResult = Result< + const client_library::AddClaimToProfileTemplateForm*, + client_library::AddClaimToProfileTemplateFormResponse*>; + + std::future<AddClaimToProfileTemplateResult> AddClaimToProfileTemplate( + const client_library::AddClaimToProfileTemplateForm* req, + client_library::AddClaimToProfileTemplateFormResponse* resp + ); + + using AddEmployeeResult = Result< + const client_library::AddEmployeeForm*, + client_library::AddEmployeeFormResponse*>; + + std::future<AddEmployeeResult> AddEmployee( + const client_library::AddEmployeeForm* req, + client_library::AddEmployeeFormResponse* resp + ); + + using AddProfileTemplateResult = Result< + const client_library::AddProfileTemplateForm*, + client_library::AddProfileTemplateFormResponse*>; + + std::future<AddProfileTemplateResult> AddProfileTemplate( + const client_library::AddProfileTemplateForm* req, + client_library::AddProfileTemplateFormResponse* resp + ); + + using AddRoleResult = Result< + const client_library::AddRoleForm*, + client_library::AddRoleFormResponse*>; + + std::future<AddRoleResult> AddRole( + const client_library::AddRoleForm* req, + client_library::AddRoleFormResponse* resp + ); + + using AddSharedIdentityResult = Result< + const client_library::AddSharedIdentityForm*, + client_library::AddSharedIdentityFormResponse*>; + + std::future<AddSharedIdentityResult> AddSharedIdentity( + const client_library::AddSharedIdentityForm* req, + client_library::AddSharedIdentityFormResponse* resp + ); + + using ApplyProfileTemplateResult = Result< + const client_library::ApplyProfileTemplateForm*, + client_library::ApplyProfileTemplateFormResponse*>; + + std::future<ApplyProfileTemplateResult> ApplyProfileTemplate( + const client_library::ApplyProfileTemplateForm* req, + client_library::ApplyProfileTemplateFormResponse* resp + ); + + using ApplyRoleTemplatesToEmployeeResult = Result< + const client_library::ApplyRoleTemplatesToEmployeeForm*, + client_library::EmptyResponse*>; + + std::future<ApplyRoleTemplatesToEmployeeResult> ApplyRoleTemplatesToEmployee( + const client_library::ApplyRoleTemplatesToEmployeeForm* req, + client_library::EmptyResponse* resp + ); + + using CreateCompanyResult = Result< + const client_library::CreateCompanyForm*, + client_library::CreateCompanyFormResponse*>; + + std::future<CreateCompanyResult> CreateCompany( + const client_library::CreateCompanyForm* req, + client_library::CreateCompanyFormResponse* resp + ); + + using DeleteCompanyLogoResult = Result< + const client_library::DeleteCompanyLogoForm*, + client_library::EmptyResponse*>; + + std::future<DeleteCompanyLogoResult> DeleteCompanyLogo( + const client_library::DeleteCompanyLogoForm* req, + client_library::EmptyResponse* resp + ); + + using DeleteRoleResult = Result< + const client_library::DeleteRoleForm*, + client_library::DeleteRoleFormResponse*>; + + std::future<DeleteRoleResult> DeleteRole( + const client_library::DeleteRoleForm* req, + client_library::DeleteRoleFormResponse* resp + ); + + using GetCompanyLogoResult = Result< + const client_library::GetCompanyLogoForm*, + client_library::GetCompanyLogoFormResponse*>; + + std::future<GetCompanyLogoResult> GetCompanyLogo( + const client_library::GetCompanyLogoForm* req, + client_library::GetCompanyLogoFormResponse* resp + ); + + using GetInfrastructureResult = Result< + const client_library::GetInfrastructureForm*, + client_library::GetInfrastructureFormResponse*>; + + std::future<GetInfrastructureResult> GetInfrastructure( + const client_library::GetInfrastructureForm* req, + client_library::GetInfrastructureFormResponse* resp + ); + + using ListCompaniesResult = Result< + const client_library::ListCompaniesForm*, + client_library::ListCompaniesFormResponse*>; + + std::future<ListCompaniesResult> ListCompanies( + const client_library::ListCompaniesForm* req, + client_library::ListCompaniesFormResponse* resp + ); + + using ListEmployeesResult = Result< + const client_library::ListEmployeesForm*, + client_library::ListEmployeesFormResponse*>; + + std::future<ListEmployeesResult> ListEmployees( + const client_library::ListEmployeesForm* req, + client_library::ListEmployeesFormResponse* resp + ); + + using ListEmployeesForSharedIdentityResult = Result< + const client_library::ListEmployeesForSharedIdentityForm*, + client_library::ListEmployeesForSharedIdentityFormResponse*>; + + std::future<ListEmployeesForSharedIdentityResult> ListEmployeesForSharedIdentity( + const client_library::ListEmployeesForSharedIdentityForm* req, + client_library::ListEmployeesForSharedIdentityFormResponse* resp + ); + + using ListProfileTemplatesResult = Result< + const client_library::ListProfileTemplatesForm*, + client_library::ListProfileTemplatesFormResponse*>; + + std::future<ListProfileTemplatesResult> ListProfileTemplates( + const client_library::ListProfileTemplatesForm* req, + client_library::ListProfileTemplatesFormResponse* resp + ); + + using ListSharedIdentitiesResult = Result< + const client_library::ListSharedIdentitiesForm*, + client_library::ListSharedIdentitiesFormResponse*>; + + std::future<ListSharedIdentitiesResult> ListSharedIdentities( + const client_library::ListSharedIdentitiesForm* req, + client_library::ListSharedIdentitiesFormResponse* resp + ); + + using ListSharedIdentitiesForEmployeeResult = Result< + const client_library::ListSharedIdentitiesForEmployeeForm*, + client_library::ListSharedIdentitiesForEmployeeFormResponse*>; + + std::future<ListSharedIdentitiesForEmployeeResult> ListSharedIdentitiesForEmployee( + const client_library::ListSharedIdentitiesForEmployeeForm* req, + client_library::ListSharedIdentitiesForEmployeeFormResponse* resp + ); + + using ListSubscribedTemplatesToRoleResult = Result< + const client_library::ListSubscribedTemplatesToRoleForm*, + client_library::ListSubscribedTemplatesToRoleFormResponse*>; + + std::future<ListSubscribedTemplatesToRoleResult> ListSubscribedTemplatesToRole( + const client_library::ListSubscribedTemplatesToRoleForm* req, + client_library::ListSubscribedTemplatesToRoleFormResponse* resp + ); + + using PutCompanyLogoResult = Result< + const client_library::PutCompanyLogoForm*, + client_library::PutCompanyLogoFormResponse*>; + + std::future<PutCompanyLogoResult> PutCompanyLogo( + const client_library::PutCompanyLogoForm* req, + client_library::PutCompanyLogoFormResponse* resp + ); + + using RemoveClaimFromProfileTemplateResult = Result< + const client_library::RemoveClaimFromProfileTemplateForm*, + client_library::RemoveClaimFromProfileTemplateFormResponse*>; + + std::future<RemoveClaimFromProfileTemplateResult> RemoveClaimFromProfileTemplate( + const client_library::RemoveClaimFromProfileTemplateForm* req, + client_library::RemoveClaimFromProfileTemplateFormResponse* resp + ); + + using UpdateEmployeeStatusResult = Result< + const client_library::UpdateEmployeeStatusForm*, + client_library::UpdateEmployeeStatusFormResponse*>; + + std::future<UpdateEmployeeStatusResult> UpdateEmployeeStatus( + const client_library::UpdateEmployeeStatusForm* req, + client_library::UpdateEmployeeStatusFormResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_COMPANY_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/contacts_service.cc b/cpp/src/vereign/service/gen/contacts_service.cc new file mode 100644 index 0000000..e23a662 --- /dev/null +++ b/cpp/src/vereign/service/gen/contacts_service.cc @@ -0,0 +1,71 @@ +#include <vereign/service/gen/contacts_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string changeStatusPath = "changeStatus"; + const std::string getUserContactsPath = "getUserContacts"; + const std::string listContactsPath = "listContacts"; + const std::string searchContactsPath = "searchContacts"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string ContactsService::ServicePath = "/contacts/"; + +ContactsService::ContactsService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<ContactsService::ChangeStatusResult> +ContactsService::ChangeStatus( + const client_library::ChangeStatusForm* req, + client_library::ChangeStatusFormResponse* resp +) { + return client_session_.Post( + ServicePath + changeStatusPath, + req, + resp + ); +} + +std::future<ContactsService::GetUserContactsResult> +ContactsService::GetUserContacts( + const client_library::GetUserContactsForm* req, + client_library::GetUserContactsFormResponse* resp +) { + return client_session_.Post( + ServicePath + getUserContactsPath, + req, + resp + ); +} + +std::future<ContactsService::ListContactsResult> +ContactsService::ListContacts( + const client_library::ListContactsForm* req, + client_library::ListContactsFormResponse* resp +) { + return client_session_.Post( + ServicePath + listContactsPath, + req, + resp + ); +} + +std::future<ContactsService::SearchContactsResult> +ContactsService::SearchContacts( + const client_library::SearchContactsForm* req, + client_library::SearchContactsFormResponse* resp +) { + return client_session_.Post( + ServicePath + searchContactsPath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/contacts_service.hh b/cpp/src/vereign/service/gen/contacts_service.hh new file mode 100644 index 0000000..3b11f3b --- /dev/null +++ b/cpp/src/vereign/service/gen/contacts_service.hh @@ -0,0 +1,75 @@ +#ifndef __VEREIGN_SERVICE_GEN_CONTACTS_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_CONTACTS_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class ContactsService { +public: + static const std::string ServicePath; + + explicit ContactsService(restapi::ClientSession& client_session); + + ContactsService(const ContactsService&) = delete; + ContactsService& operator=(const ContactsService&) = delete; + + using ChangeStatusResult = Result< + const client_library::ChangeStatusForm*, + client_library::ChangeStatusFormResponse*>; + + std::future<ChangeStatusResult> ChangeStatus( + const client_library::ChangeStatusForm* req, + client_library::ChangeStatusFormResponse* resp + ); + + using GetUserContactsResult = Result< + const client_library::GetUserContactsForm*, + client_library::GetUserContactsFormResponse*>; + + std::future<GetUserContactsResult> GetUserContacts( + const client_library::GetUserContactsForm* req, + client_library::GetUserContactsFormResponse* resp + ); + + using ListContactsResult = Result< + const client_library::ListContactsForm*, + client_library::ListContactsFormResponse*>; + + std::future<ListContactsResult> ListContacts( + const client_library::ListContactsForm* req, + client_library::ListContactsFormResponse* resp + ); + + using SearchContactsResult = Result< + const client_library::SearchContactsForm*, + client_library::SearchContactsFormResponse*>; + + std::future<SearchContactsResult> SearchContacts( + const client_library::SearchContactsForm* req, + client_library::SearchContactsFormResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_CONTACTS_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/conversation_service.cc b/cpp/src/vereign/service/gen/conversation_service.cc new file mode 100644 index 0000000..1074092 --- /dev/null +++ b/cpp/src/vereign/service/gen/conversation_service.cc @@ -0,0 +1,71 @@ +#include <vereign/service/gen/conversation_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string addEmailPath = "addEmail"; + const std::string getConversationsPath = "getConversations"; + const std::string getConversationsAndMessageIDByMessageUUIDPath = "getConversationsAndMessageIDByMessageUUID"; + const std::string getEmailsPath = "getEmails"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string ConversationService::ServicePath = "/conversation/"; + +ConversationService::ConversationService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<ConversationService::AddEmailResult> +ConversationService::AddEmail( + const client_library::AddEmailForm* req, + client_library::AddEmailFormResponse* resp +) { + return client_session_.Post( + ServicePath + addEmailPath, + req, + resp + ); +} + +std::future<ConversationService::GetConversationsResult> +ConversationService::GetConversations( + const client_library::GetConversationsForm* req, + client_library::GetConversationsFormResponse* resp +) { + return client_session_.Post( + ServicePath + getConversationsPath, + req, + resp + ); +} + +std::future<ConversationService::GetConversationsAndMessageIDByMessageUUIDResult> +ConversationService::GetConversationsAndMessageIDByMessageUUID( + const client_library::GetConversationsAndMessageIDByMessageUUIDForm* req, + client_library::GetConversationsAndMessageIDByMessageUUIDResponse* resp +) { + return client_session_.Post( + ServicePath + getConversationsAndMessageIDByMessageUUIDPath, + req, + resp + ); +} + +std::future<ConversationService::GetEmailsResult> +ConversationService::GetEmails( + const client_library::GetEmailsForm* req, + client_library::GetEmailsFormResponse* resp +) { + return client_session_.Post( + ServicePath + getEmailsPath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/conversation_service.hh b/cpp/src/vereign/service/gen/conversation_service.hh new file mode 100644 index 0000000..01031de --- /dev/null +++ b/cpp/src/vereign/service/gen/conversation_service.hh @@ -0,0 +1,75 @@ +#ifndef __VEREIGN_SERVICE_GEN_CONVERSATION_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_CONVERSATION_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class ConversationService { +public: + static const std::string ServicePath; + + explicit ConversationService(restapi::ClientSession& client_session); + + ConversationService(const ConversationService&) = delete; + ConversationService& operator=(const ConversationService&) = delete; + + using AddEmailResult = Result< + const client_library::AddEmailForm*, + client_library::AddEmailFormResponse*>; + + std::future<AddEmailResult> AddEmail( + const client_library::AddEmailForm* req, + client_library::AddEmailFormResponse* resp + ); + + using GetConversationsResult = Result< + const client_library::GetConversationsForm*, + client_library::GetConversationsFormResponse*>; + + std::future<GetConversationsResult> GetConversations( + const client_library::GetConversationsForm* req, + client_library::GetConversationsFormResponse* resp + ); + + using GetConversationsAndMessageIDByMessageUUIDResult = Result< + const client_library::GetConversationsAndMessageIDByMessageUUIDForm*, + client_library::GetConversationsAndMessageIDByMessageUUIDResponse*>; + + std::future<GetConversationsAndMessageIDByMessageUUIDResult> GetConversationsAndMessageIDByMessageUUID( + const client_library::GetConversationsAndMessageIDByMessageUUIDForm* req, + client_library::GetConversationsAndMessageIDByMessageUUIDResponse* resp + ); + + using GetEmailsResult = Result< + const client_library::GetEmailsForm*, + client_library::GetEmailsFormResponse*>; + + std::future<GetEmailsResult> GetEmails( + const client_library::GetEmailsForm* req, + client_library::GetEmailsFormResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_CONVERSATION_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/delete_service.cc b/cpp/src/vereign/service/gen/delete_service.cc new file mode 100644 index 0000000..11da596 --- /dev/null +++ b/cpp/src/vereign/service/gen/delete_service.cc @@ -0,0 +1,45 @@ +#include <vereign/service/gen/delete_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string deleteInteractionPath = "deleteInteraction"; + const std::string deletePassportPath = "deletePassport"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string DeleteService::ServicePath = "/delete/"; + +DeleteService::DeleteService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<DeleteService::DeleteInteractionResult> +DeleteService::DeleteInteraction( + const client_library::DeleteInteractionForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + deleteInteractionPath, + req, + resp + ); +} + +std::future<DeleteService::DeletePassportResult> +DeleteService::DeletePassport( + const client_library::DeletePassportForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + deletePassportPath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/delete_service.hh b/cpp/src/vereign/service/gen/delete_service.hh new file mode 100644 index 0000000..7e5ddfd --- /dev/null +++ b/cpp/src/vereign/service/gen/delete_service.hh @@ -0,0 +1,57 @@ +#ifndef __VEREIGN_SERVICE_GEN_DELETE_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_DELETE_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class DeleteService { +public: + static const std::string ServicePath; + + explicit DeleteService(restapi::ClientSession& client_session); + + DeleteService(const DeleteService&) = delete; + DeleteService& operator=(const DeleteService&) = delete; + + using DeleteInteractionResult = Result< + const client_library::DeleteInteractionForm*, + client_library::EmptyResponse*>; + + std::future<DeleteInteractionResult> DeleteInteraction( + const client_library::DeleteInteractionForm* req, + client_library::EmptyResponse* resp + ); + + using DeletePassportResult = Result< + const client_library::DeletePassportForm*, + client_library::EmptyResponse*>; + + std::future<DeletePassportResult> DeletePassport( + const client_library::DeletePassportForm* req, + client_library::EmptyResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_DELETE_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/document_service.cc b/cpp/src/vereign/service/gen/document_service.cc new file mode 100644 index 0000000..68d18f8 --- /dev/null +++ b/cpp/src/vereign/service/gen/document_service.cc @@ -0,0 +1,162 @@ +#include <vereign/service/gen/document_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string convertDocumentByUUIDPath = "convertDocumentByUUID"; + const std::string deleteIdentityImagePath = "deleteIdentityImage"; + const std::string getDocumentPath = "getDocument"; + const std::string getDocumentByResourceIDPath = "getDocumentByResourceID"; + const std::string getDocumentByUUIDPath = "getDocumentByUUID"; + const std::string getFileInfoPath = "getFileInfo"; + const std::string getIdentityImagePath = "getIdentityImage"; + const std::string listDocumentsPath = "listDocuments"; + const std::string putDocumentByUUIDPath = "putDocumentByUUID"; + const std::string putIdentityImagePath = "putIdentityImage"; + const std::string signDocumentByUUIDPath = "signDocumentByUUID"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string DocumentService::ServicePath = "/document/"; + +DocumentService::DocumentService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<DocumentService::ConvertDocumentByUUIDResult> +DocumentService::ConvertDocumentByUUID( + const client_library::ConvertDocumentByUUIDForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + convertDocumentByUUIDPath, + req, + resp + ); +} + +std::future<DocumentService::DeleteIdentityImageResult> +DocumentService::DeleteIdentityImage( + const client_library::DeleteIdentityImageForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + deleteIdentityImagePath, + req, + resp + ); +} + +std::future<DocumentService::GetDocumentResult> +DocumentService::GetDocument( + const client_library::EmptyRequest* req, + client_library::ListDocumentsResponse* resp +) { + return client_session_.Post( + ServicePath + getDocumentPath, + req, + resp + ); +} + +std::future<DocumentService::GetDocumentByResourceIDResult> +DocumentService::GetDocumentByResourceID( + const client_library::GetDocumentByResourceIDForm* req, + client_library::GetDocumentByResourceIDFormResponse* resp +) { + return client_session_.Post( + ServicePath + getDocumentByResourceIDPath, + req, + resp + ); +} + +std::future<DocumentService::GetDocumentByUUIDResult> +DocumentService::GetDocumentByUUID( + const client_library::GetDocumentByUUIDForm* req, + client_library::GetDocumentByUUIDFormResponse* resp +) { + return client_session_.Post( + ServicePath + getDocumentByUUIDPath, + req, + resp + ); +} + +std::future<DocumentService::GetFileInfoResult> +DocumentService::GetFileInfo( + const client_library::EmptyRequest* req, + client_library::GetFileInfoResponse* resp +) { + return client_session_.Post( + ServicePath + getFileInfoPath, + req, + resp + ); +} + +std::future<DocumentService::GetIdentityImageResult> +DocumentService::GetIdentityImage( + const client_library::GetIdentityImageForm* req, + client_library::GetIdentityImageFormResponse* resp +) { + return client_session_.Post( + ServicePath + getIdentityImagePath, + req, + resp + ); +} + +std::future<DocumentService::ListDocumentsResult> +DocumentService::ListDocuments( + const client_library::EmptyRequest* req, + client_library::ListDocumentsResponse* resp +) { + return client_session_.Post( + ServicePath + listDocumentsPath, + req, + resp + ); +} + +std::future<DocumentService::PutDocumentByUUIDResult> +DocumentService::PutDocumentByUUID( + const client_library::PutDocumentByUUIDForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + putDocumentByUUIDPath, + req, + resp + ); +} + +std::future<DocumentService::PutIdentityImageResult> +DocumentService::PutIdentityImage( + const client_library::PutIdentityImageForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + putIdentityImagePath, + req, + resp + ); +} + +std::future<DocumentService::SignDocumentByUUIDResult> +DocumentService::SignDocumentByUUID( + const client_library::SignDocumentByUUIDForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + signDocumentByUUIDPath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/document_service.hh b/cpp/src/vereign/service/gen/document_service.hh new file mode 100644 index 0000000..8d78e7d --- /dev/null +++ b/cpp/src/vereign/service/gen/document_service.hh @@ -0,0 +1,138 @@ +#ifndef __VEREIGN_SERVICE_GEN_DOCUMENT_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_DOCUMENT_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class DocumentService { +public: + static const std::string ServicePath; + + explicit DocumentService(restapi::ClientSession& client_session); + + DocumentService(const DocumentService&) = delete; + DocumentService& operator=(const DocumentService&) = delete; + + using ConvertDocumentByUUIDResult = Result< + const client_library::ConvertDocumentByUUIDForm*, + client_library::EmptyResponse*>; + + std::future<ConvertDocumentByUUIDResult> ConvertDocumentByUUID( + const client_library::ConvertDocumentByUUIDForm* req, + client_library::EmptyResponse* resp + ); + + using DeleteIdentityImageResult = Result< + const client_library::DeleteIdentityImageForm*, + client_library::EmptyResponse*>; + + std::future<DeleteIdentityImageResult> DeleteIdentityImage( + const client_library::DeleteIdentityImageForm* req, + client_library::EmptyResponse* resp + ); + + using GetDocumentResult = Result< + const client_library::EmptyRequest*, + client_library::ListDocumentsResponse*>; + + std::future<GetDocumentResult> GetDocument( + const client_library::EmptyRequest* req, + client_library::ListDocumentsResponse* resp + ); + + using GetDocumentByResourceIDResult = Result< + const client_library::GetDocumentByResourceIDForm*, + client_library::GetDocumentByResourceIDFormResponse*>; + + std::future<GetDocumentByResourceIDResult> GetDocumentByResourceID( + const client_library::GetDocumentByResourceIDForm* req, + client_library::GetDocumentByResourceIDFormResponse* resp + ); + + using GetDocumentByUUIDResult = Result< + const client_library::GetDocumentByUUIDForm*, + client_library::GetDocumentByUUIDFormResponse*>; + + std::future<GetDocumentByUUIDResult> GetDocumentByUUID( + const client_library::GetDocumentByUUIDForm* req, + client_library::GetDocumentByUUIDFormResponse* resp + ); + + using GetFileInfoResult = Result< + const client_library::EmptyRequest*, + client_library::GetFileInfoResponse*>; + + std::future<GetFileInfoResult> GetFileInfo( + const client_library::EmptyRequest* req, + client_library::GetFileInfoResponse* resp + ); + + using GetIdentityImageResult = Result< + const client_library::GetIdentityImageForm*, + client_library::GetIdentityImageFormResponse*>; + + std::future<GetIdentityImageResult> GetIdentityImage( + const client_library::GetIdentityImageForm* req, + client_library::GetIdentityImageFormResponse* resp + ); + + using ListDocumentsResult = Result< + const client_library::EmptyRequest*, + client_library::ListDocumentsResponse*>; + + std::future<ListDocumentsResult> ListDocuments( + const client_library::EmptyRequest* req, + client_library::ListDocumentsResponse* resp + ); + + using PutDocumentByUUIDResult = Result< + const client_library::PutDocumentByUUIDForm*, + client_library::EmptyResponse*>; + + std::future<PutDocumentByUUIDResult> PutDocumentByUUID( + const client_library::PutDocumentByUUIDForm* req, + client_library::EmptyResponse* resp + ); + + using PutIdentityImageResult = Result< + const client_library::PutIdentityImageForm*, + client_library::EmptyResponse*>; + + std::future<PutIdentityImageResult> PutIdentityImage( + const client_library::PutIdentityImageForm* req, + client_library::EmptyResponse* resp + ); + + using SignDocumentByUUIDResult = Result< + const client_library::SignDocumentByUUIDForm*, + client_library::EmptyResponse*>; + + std::future<SignDocumentByUUIDResult> SignDocumentByUUID( + const client_library::SignDocumentByUUIDForm* req, + client_library::EmptyResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_DOCUMENT_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/email_service.cc b/cpp/src/vereign/service/gen/email_service.cc new file mode 100644 index 0000000..bb3b681 --- /dev/null +++ b/cpp/src/vereign/service/gen/email_service.cc @@ -0,0 +1,136 @@ +#include <vereign/service/gen/email_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string getEmailStatusAllPath = "getEmailStatusAll"; + const std::string getEmailStatusListPath = "getEmailStatusList"; + const std::string getGmailMessageIDsByGmailThreadIDPath = "getGmailMessageIDsByGmailThreadID"; + const std::string getMessageIDsByGmailMessageIDsPath = "getMessageIDsByGmailMessageIDs"; + const std::string initializeEmailStatusPath = "initializeEmailStatus"; + const std::string sendEmailSmtpPath = "sendEmailSmtp"; + const std::string sendFeedbackPath = "sendFeedback"; + const std::string storeGmailMessageIdPath = "storeGmailMessageId"; + const std::string updateRecipientEmailStatusPath = "updateRecipientEmailStatus"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string EmailService::ServicePath = "/email/"; + +EmailService::EmailService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<EmailService::GetEmailStatusAllResult> +EmailService::GetEmailStatusAll( + const client_library::GetEmailStatusAllForm* req, + client_library::GetEmailStatusAllFormResponse* resp +) { + return client_session_.Post( + ServicePath + getEmailStatusAllPath, + req, + resp + ); +} + +std::future<EmailService::GetEmailStatusListResult> +EmailService::GetEmailStatusList( + const client_library::GetEmailStatusListForm* req, + client_library::GetEmailStatusListFormResponse* resp +) { + return client_session_.Post( + ServicePath + getEmailStatusListPath, + req, + resp + ); +} + +std::future<EmailService::GetGmailMessageIDsByGmailThreadIDResult> +EmailService::GetGmailMessageIDsByGmailThreadID( + const client_library::GetGmailMessageIDsByGmailThreadIDForm* req, + client_library::GetGmailMessageIDsByGmailThreadIDFormResponse* resp +) { + return client_session_.Post( + ServicePath + getGmailMessageIDsByGmailThreadIDPath, + req, + resp + ); +} + +std::future<EmailService::GetMessageIDsByGmailMessageIDsResult> +EmailService::GetMessageIDsByGmailMessageIDs( + const client_library::GetMessageIDsByGmailMessageIDsForm* req, + client_library::GetMessageIDsByGmailMessageIDsFormResponse* resp +) { + return client_session_.Post( + ServicePath + getMessageIDsByGmailMessageIDsPath, + req, + resp + ); +} + +std::future<EmailService::InitializeEmailStatusResult> +EmailService::InitializeEmailStatus( + const client_library::InitializeEmailStatusForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + initializeEmailStatusPath, + req, + resp + ); +} + +std::future<EmailService::SendEmailSmtpResult> +EmailService::SendEmailSmtp( + const client_library::SendEmailSmtpForm* req, + client_library::SendEmailSmtpFormResponse* resp +) { + return client_session_.Post( + ServicePath + sendEmailSmtpPath, + req, + resp + ); +} + +std::future<EmailService::SendFeedbackResult> +EmailService::SendFeedback( + const client_library::SendFeedbackForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + sendFeedbackPath, + req, + resp + ); +} + +std::future<EmailService::StoreGmailMessageIdResult> +EmailService::StoreGmailMessageId( + const client_library::StoreGmailMessageIdForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + storeGmailMessageIdPath, + req, + resp + ); +} + +std::future<EmailService::UpdateRecipientEmailStatusResult> +EmailService::UpdateRecipientEmailStatus( + const client_library::UpdateRecipientEmailStatusForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + updateRecipientEmailStatusPath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/email_service.hh b/cpp/src/vereign/service/gen/email_service.hh new file mode 100644 index 0000000..9f25846 --- /dev/null +++ b/cpp/src/vereign/service/gen/email_service.hh @@ -0,0 +1,120 @@ +#ifndef __VEREIGN_SERVICE_GEN_EMAIL_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_EMAIL_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class EmailService { +public: + static const std::string ServicePath; + + explicit EmailService(restapi::ClientSession& client_session); + + EmailService(const EmailService&) = delete; + EmailService& operator=(const EmailService&) = delete; + + using GetEmailStatusAllResult = Result< + const client_library::GetEmailStatusAllForm*, + client_library::GetEmailStatusAllFormResponse*>; + + std::future<GetEmailStatusAllResult> GetEmailStatusAll( + const client_library::GetEmailStatusAllForm* req, + client_library::GetEmailStatusAllFormResponse* resp + ); + + using GetEmailStatusListResult = Result< + const client_library::GetEmailStatusListForm*, + client_library::GetEmailStatusListFormResponse*>; + + std::future<GetEmailStatusListResult> GetEmailStatusList( + const client_library::GetEmailStatusListForm* req, + client_library::GetEmailStatusListFormResponse* resp + ); + + using GetGmailMessageIDsByGmailThreadIDResult = Result< + const client_library::GetGmailMessageIDsByGmailThreadIDForm*, + client_library::GetGmailMessageIDsByGmailThreadIDFormResponse*>; + + std::future<GetGmailMessageIDsByGmailThreadIDResult> GetGmailMessageIDsByGmailThreadID( + const client_library::GetGmailMessageIDsByGmailThreadIDForm* req, + client_library::GetGmailMessageIDsByGmailThreadIDFormResponse* resp + ); + + using GetMessageIDsByGmailMessageIDsResult = Result< + const client_library::GetMessageIDsByGmailMessageIDsForm*, + client_library::GetMessageIDsByGmailMessageIDsFormResponse*>; + + std::future<GetMessageIDsByGmailMessageIDsResult> GetMessageIDsByGmailMessageIDs( + const client_library::GetMessageIDsByGmailMessageIDsForm* req, + client_library::GetMessageIDsByGmailMessageIDsFormResponse* resp + ); + + using InitializeEmailStatusResult = Result< + const client_library::InitializeEmailStatusForm*, + client_library::EmptyResponse*>; + + std::future<InitializeEmailStatusResult> InitializeEmailStatus( + const client_library::InitializeEmailStatusForm* req, + client_library::EmptyResponse* resp + ); + + using SendEmailSmtpResult = Result< + const client_library::SendEmailSmtpForm*, + client_library::SendEmailSmtpFormResponse*>; + + std::future<SendEmailSmtpResult> SendEmailSmtp( + const client_library::SendEmailSmtpForm* req, + client_library::SendEmailSmtpFormResponse* resp + ); + + using SendFeedbackResult = Result< + const client_library::SendFeedbackForm*, + client_library::EmptyResponse*>; + + std::future<SendFeedbackResult> SendFeedback( + const client_library::SendFeedbackForm* req, + client_library::EmptyResponse* resp + ); + + using StoreGmailMessageIdResult = Result< + const client_library::StoreGmailMessageIdForm*, + client_library::EmptyResponse*>; + + std::future<StoreGmailMessageIdResult> StoreGmailMessageId( + const client_library::StoreGmailMessageIdForm* req, + client_library::EmptyResponse* resp + ); + + using UpdateRecipientEmailStatusResult = Result< + const client_library::UpdateRecipientEmailStatusForm*, + client_library::EmptyResponse*>; + + std::future<UpdateRecipientEmailStatusResult> UpdateRecipientEmailStatus( + const client_library::UpdateRecipientEmailStatusForm* req, + client_library::EmptyResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_EMAIL_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/entity_service.cc b/cpp/src/vereign/service/gen/entity_service.cc new file mode 100644 index 0000000..b5294a6 --- /dev/null +++ b/cpp/src/vereign/service/gen/entity_service.cc @@ -0,0 +1,305 @@ +#include <vereign/service/gen/entity_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string addChildPath = "addChild"; + const std::string addClaimPath = "addClaim"; + const std::string addGuardedPath = "addGuarded"; + const std::string addGuardianPath = "addGuardian"; + const std::string addMemberPath = "addMember"; + const std::string addMemberOfPath = "addMemberOf"; + const std::string addParentPath = "addParent"; + const std::string addViewerPath = "addViewer"; + const std::string createEntityPath = "createEntity"; + const std::string deleteClaimPath = "deleteClaim"; + const std::string getClaimPath = "getClaim"; + const std::string getEntityPath = "getEntity"; + const std::string removeChildPath = "removeChild"; + const std::string removeGuardedPath = "removeGuarded"; + const std::string removeGuardianPath = "removeGuardian"; + const std::string removeMemberPath = "removeMember"; + const std::string removeMemberOfPath = "removeMemberOf"; + const std::string removeParentPath = "removeParent"; + const std::string removeViewerPath = "removeViewer"; + const std::string sendClaimCodePath = "sendClaimCode"; + const std::string updateClaimPath = "updateClaim"; + const std::string verifyClaimCodePath = "verifyClaimCode"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string EntityService::ServicePath = "/entity/"; + +EntityService::EntityService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<EntityService::AddChildResult> +EntityService::AddChild( + const client_library::AddChildForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + addChildPath, + req, + resp + ); +} + +std::future<EntityService::AddClaimResult> +EntityService::AddClaim( + const client_library::AddClaimForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + addClaimPath, + req, + resp + ); +} + +std::future<EntityService::AddGuardedResult> +EntityService::AddGuarded( + const client_library::AddGuardedForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + addGuardedPath, + req, + resp + ); +} + +std::future<EntityService::AddGuardianResult> +EntityService::AddGuardian( + const client_library::AddGuardianForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + addGuardianPath, + req, + resp + ); +} + +std::future<EntityService::AddMemberResult> +EntityService::AddMember( + const client_library::AddMemberForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + addMemberPath, + req, + resp + ); +} + +std::future<EntityService::AddMemberOfResult> +EntityService::AddMemberOf( + const client_library::AddMemberOfForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + addMemberOfPath, + req, + resp + ); +} + +std::future<EntityService::AddParentResult> +EntityService::AddParent( + const client_library::AddParentForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + addParentPath, + req, + resp + ); +} + +std::future<EntityService::AddViewerResult> +EntityService::AddViewer( + const client_library::AddViewerForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + addViewerPath, + req, + resp + ); +} + +std::future<EntityService::CreateEntityResult> +EntityService::CreateEntity( + const client_library::CreateEntityForm* req, + client_library::CreateEntityFormResponse* resp +) { + return client_session_.Post( + ServicePath + createEntityPath, + req, + resp + ); +} + +std::future<EntityService::DeleteClaimResult> +EntityService::DeleteClaim( + const client_library::DeleteClaimForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + deleteClaimPath, + req, + resp + ); +} + +std::future<EntityService::GetClaimResult> +EntityService::GetClaim( + const client_library::GetClaimForm* req, + client_library::GetClaimFormResponse* resp +) { + return client_session_.Post( + ServicePath + getClaimPath, + req, + resp + ); +} + +std::future<EntityService::GetEntityResult> +EntityService::GetEntity( + const client_library::GetEntityForm* req, + client_library::GetEntityFormResponse* resp +) { + return client_session_.Post( + ServicePath + getEntityPath, + req, + resp + ); +} + +std::future<EntityService::RemoveChildResult> +EntityService::RemoveChild( + const client_library::RemoveChildForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + removeChildPath, + req, + resp + ); +} + +std::future<EntityService::RemoveGuardedResult> +EntityService::RemoveGuarded( + const client_library::RemoveGuardedForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + removeGuardedPath, + req, + resp + ); +} + +std::future<EntityService::RemoveGuardianResult> +EntityService::RemoveGuardian( + const client_library::RemoveGuardianForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + removeGuardianPath, + req, + resp + ); +} + +std::future<EntityService::RemoveMemberResult> +EntityService::RemoveMember( + const client_library::RemoveMemberForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + removeMemberPath, + req, + resp + ); +} + +std::future<EntityService::RemoveMemberOfResult> +EntityService::RemoveMemberOf( + const client_library::RemoveMemberOfForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + removeMemberOfPath, + req, + resp + ); +} + +std::future<EntityService::RemoveParentResult> +EntityService::RemoveParent( + const client_library::RemoveParentForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + removeParentPath, + req, + resp + ); +} + +std::future<EntityService::RemoveViewerResult> +EntityService::RemoveViewer( + const client_library::RemoveViewerForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + removeViewerPath, + req, + resp + ); +} + +std::future<EntityService::SendClaimCodeResult> +EntityService::SendClaimCode( + const client_library::ClaimSendCodeForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + sendClaimCodePath, + req, + resp + ); +} + +std::future<EntityService::UpdateClaimResult> +EntityService::UpdateClaim( + const client_library::AddClaimForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + updateClaimPath, + req, + resp + ); +} + +std::future<EntityService::VerifyClaimCodeResult> +EntityService::VerifyClaimCode( + const client_library::ClaimVerifyCodeForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + verifyClaimCodePath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/entity_service.hh b/cpp/src/vereign/service/gen/entity_service.hh new file mode 100644 index 0000000..322ae79 --- /dev/null +++ b/cpp/src/vereign/service/gen/entity_service.hh @@ -0,0 +1,237 @@ +#ifndef __VEREIGN_SERVICE_GEN_ENTITY_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_ENTITY_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class EntityService { +public: + static const std::string ServicePath; + + explicit EntityService(restapi::ClientSession& client_session); + + EntityService(const EntityService&) = delete; + EntityService& operator=(const EntityService&) = delete; + + using AddChildResult = Result< + const client_library::AddChildForm*, + client_library::EmptyResponse*>; + + std::future<AddChildResult> AddChild( + const client_library::AddChildForm* req, + client_library::EmptyResponse* resp + ); + + using AddClaimResult = Result< + const client_library::AddClaimForm*, + client_library::EmptyResponse*>; + + std::future<AddClaimResult> AddClaim( + const client_library::AddClaimForm* req, + client_library::EmptyResponse* resp + ); + + using AddGuardedResult = Result< + const client_library::AddGuardedForm*, + client_library::EmptyResponse*>; + + std::future<AddGuardedResult> AddGuarded( + const client_library::AddGuardedForm* req, + client_library::EmptyResponse* resp + ); + + using AddGuardianResult = Result< + const client_library::AddGuardianForm*, + client_library::EmptyResponse*>; + + std::future<AddGuardianResult> AddGuardian( + const client_library::AddGuardianForm* req, + client_library::EmptyResponse* resp + ); + + using AddMemberResult = Result< + const client_library::AddMemberForm*, + client_library::EmptyResponse*>; + + std::future<AddMemberResult> AddMember( + const client_library::AddMemberForm* req, + client_library::EmptyResponse* resp + ); + + using AddMemberOfResult = Result< + const client_library::AddMemberOfForm*, + client_library::EmptyResponse*>; + + std::future<AddMemberOfResult> AddMemberOf( + const client_library::AddMemberOfForm* req, + client_library::EmptyResponse* resp + ); + + using AddParentResult = Result< + const client_library::AddParentForm*, + client_library::EmptyResponse*>; + + std::future<AddParentResult> AddParent( + const client_library::AddParentForm* req, + client_library::EmptyResponse* resp + ); + + using AddViewerResult = Result< + const client_library::AddViewerForm*, + client_library::EmptyResponse*>; + + std::future<AddViewerResult> AddViewer( + const client_library::AddViewerForm* req, + client_library::EmptyResponse* resp + ); + + using CreateEntityResult = Result< + const client_library::CreateEntityForm*, + client_library::CreateEntityFormResponse*>; + + std::future<CreateEntityResult> CreateEntity( + const client_library::CreateEntityForm* req, + client_library::CreateEntityFormResponse* resp + ); + + using DeleteClaimResult = Result< + const client_library::DeleteClaimForm*, + client_library::EmptyResponse*>; + + std::future<DeleteClaimResult> DeleteClaim( + const client_library::DeleteClaimForm* req, + client_library::EmptyResponse* resp + ); + + using GetClaimResult = Result< + const client_library::GetClaimForm*, + client_library::GetClaimFormResponse*>; + + std::future<GetClaimResult> GetClaim( + const client_library::GetClaimForm* req, + client_library::GetClaimFormResponse* resp + ); + + using GetEntityResult = Result< + const client_library::GetEntityForm*, + client_library::GetEntityFormResponse*>; + + std::future<GetEntityResult> GetEntity( + const client_library::GetEntityForm* req, + client_library::GetEntityFormResponse* resp + ); + + using RemoveChildResult = Result< + const client_library::RemoveChildForm*, + client_library::EmptyResponse*>; + + std::future<RemoveChildResult> RemoveChild( + const client_library::RemoveChildForm* req, + client_library::EmptyResponse* resp + ); + + using RemoveGuardedResult = Result< + const client_library::RemoveGuardedForm*, + client_library::EmptyResponse*>; + + std::future<RemoveGuardedResult> RemoveGuarded( + const client_library::RemoveGuardedForm* req, + client_library::EmptyResponse* resp + ); + + using RemoveGuardianResult = Result< + const client_library::RemoveGuardianForm*, + client_library::EmptyResponse*>; + + std::future<RemoveGuardianResult> RemoveGuardian( + const client_library::RemoveGuardianForm* req, + client_library::EmptyResponse* resp + ); + + using RemoveMemberResult = Result< + const client_library::RemoveMemberForm*, + client_library::EmptyResponse*>; + + std::future<RemoveMemberResult> RemoveMember( + const client_library::RemoveMemberForm* req, + client_library::EmptyResponse* resp + ); + + using RemoveMemberOfResult = Result< + const client_library::RemoveMemberOfForm*, + client_library::EmptyResponse*>; + + std::future<RemoveMemberOfResult> RemoveMemberOf( + const client_library::RemoveMemberOfForm* req, + client_library::EmptyResponse* resp + ); + + using RemoveParentResult = Result< + const client_library::RemoveParentForm*, + client_library::EmptyResponse*>; + + std::future<RemoveParentResult> RemoveParent( + const client_library::RemoveParentForm* req, + client_library::EmptyResponse* resp + ); + + using RemoveViewerResult = Result< + const client_library::RemoveViewerForm*, + client_library::EmptyResponse*>; + + std::future<RemoveViewerResult> RemoveViewer( + const client_library::RemoveViewerForm* req, + client_library::EmptyResponse* resp + ); + + using SendClaimCodeResult = Result< + const client_library::ClaimSendCodeForm*, + client_library::EmptyResponse*>; + + std::future<SendClaimCodeResult> SendClaimCode( + const client_library::ClaimSendCodeForm* req, + client_library::EmptyResponse* resp + ); + + using UpdateClaimResult = Result< + const client_library::AddClaimForm*, + client_library::EmptyResponse*>; + + std::future<UpdateClaimResult> UpdateClaim( + const client_library::AddClaimForm* req, + client_library::EmptyResponse* resp + ); + + using VerifyClaimCodeResult = Result< + const client_library::ClaimVerifyCodeForm*, + client_library::EmptyResponse*>; + + std::future<VerifyClaimCodeResult> VerifyClaimCode( + const client_library::ClaimVerifyCodeForm* req, + client_library::EmptyResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_ENTITY_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/event_service.cc b/cpp/src/vereign/service/gen/event_service.cc new file mode 100644 index 0000000..3a253c2 --- /dev/null +++ b/cpp/src/vereign/service/gen/event_service.cc @@ -0,0 +1,32 @@ +#include <vereign/service/gen/event_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string getEventsPath = "getEvents"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string EventService::ServicePath = "/event/"; + +EventService::EventService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<EventService::GetEventsResult> +EventService::GetEvents( + const client_library::GetEventsForm* req, + client_library::GetEventsFormResponse* resp +) { + return client_session_.Post( + ServicePath + getEventsPath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/event_service.hh b/cpp/src/vereign/service/gen/event_service.hh new file mode 100644 index 0000000..4537c43 --- /dev/null +++ b/cpp/src/vereign/service/gen/event_service.hh @@ -0,0 +1,48 @@ +#ifndef __VEREIGN_SERVICE_GEN_EVENT_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_EVENT_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class EventService { +public: + static const std::string ServicePath; + + explicit EventService(restapi::ClientSession& client_session); + + EventService(const EventService&) = delete; + EventService& operator=(const EventService&) = delete; + + using GetEventsResult = Result< + const client_library::GetEventsForm*, + client_library::GetEventsFormResponse*>; + + std::future<GetEventsResult> GetEvents( + const client_library::GetEventsForm* req, + client_library::GetEventsFormResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_EVENT_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/ews_service.cc b/cpp/src/vereign/service/gen/ews_service.cc new file mode 100644 index 0000000..d6c0d88 --- /dev/null +++ b/cpp/src/vereign/service/gen/ews_service.cc @@ -0,0 +1,32 @@ +#include <vereign/service/gen/ews_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string proxyRequestPath = "proxyRequest"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string EwsService::ServicePath = "/ews/"; + +EwsService::EwsService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<EwsService::ProxyRequestResult> +EwsService::ProxyRequest( + const client_library::EWSProxyRequestForm* req, + client_library::EWSProxyRequestFormResponse* resp +) { + return client_session_.Post( + ServicePath + proxyRequestPath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/ews_service.hh b/cpp/src/vereign/service/gen/ews_service.hh new file mode 100644 index 0000000..f15a1e8 --- /dev/null +++ b/cpp/src/vereign/service/gen/ews_service.hh @@ -0,0 +1,48 @@ +#ifndef __VEREIGN_SERVICE_GEN_EWS_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_EWS_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class EwsService { +public: + static const std::string ServicePath; + + explicit EwsService(restapi::ClientSession& client_session); + + EwsService(const EwsService&) = delete; + EwsService& operator=(const EwsService&) = delete; + + using ProxyRequestResult = Result< + const client_library::EWSProxyRequestForm*, + client_library::EWSProxyRequestFormResponse*>; + + std::future<ProxyRequestResult> ProxyRequest( + const client_library::EWSProxyRequestForm* req, + client_library::EWSProxyRequestFormResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_EWS_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/gen.hh b/cpp/src/vereign/service/gen/gen.hh index fa5b9ab..0dda264 100644 --- a/cpp/src/vereign/service/gen/gen.hh +++ b/cpp/src/vereign/service/gen/gen.hh @@ -1,6 +1,25 @@ #ifndef __VEREIGN_SERVICE_GEN_GEN_HH #define __VEREIGN_SERVICE_GEN_GEN_HH + +#include <vereign/service/gen/action_service.hh> +#include <vereign/service/gen/activity_service.hh> +#include <vereign/service/gen/company_service.hh> +#include <vereign/service/gen/contacts_service.hh> +#include <vereign/service/gen/conversation_service.hh> +#include <vereign/service/gen/delete_service.hh> +#include <vereign/service/gen/document_service.hh> +#include <vereign/service/gen/email_service.hh> +#include <vereign/service/gen/entity_service.hh> +#include <vereign/service/gen/event_service.hh> +#include <vereign/service/gen/ews_service.hh> +#include <vereign/service/gen/identity_service.hh> +#include <vereign/service/gen/interactions_service.hh> +#include <vereign/service/gen/orders_service.hh> #include <vereign/service/gen/passport_service.hh> +#include <vereign/service/gen/reporting_service.hh> +#include <vereign/service/gen/resource_service.hh> +#include <vereign/service/gen/sharing_service.hh> +#include <vereign/service/gen/sign_service.hh> -#endif +#endif // __VEREIGN_SERVICE_GEN_GEN_HH diff --git a/cpp/src/vereign/service/gen/identity_service.cc b/cpp/src/vereign/service/gen/identity_service.cc new file mode 100644 index 0000000..1a3e0da --- /dev/null +++ b/cpp/src/vereign/service/gen/identity_service.cc @@ -0,0 +1,227 @@ +#include <vereign/service/gen/identity_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string authorizeDevicePath = "authorizeDevice"; + const std::string cancelActionPath = "cancelAction"; + const std::string confirmActionPath = "confirmAction"; + const std::string confirmNewCarddavPublicKeyPath = "confirmNewCarddavPublicKey"; + const std::string confirmNewDevicePath = "confirmNewDevice"; + const std::string generateCredentialsPath = "generateCredentials"; + const std::string getAvatarPath = "getAvatar"; + const std::string getIdentityProfileDataPath = "getIdentityProfileData"; + const std::string hasUnauthorizedDevicesPath = "hasUnauthorizedDevices"; + const std::string listDevicesPath = "listDevices"; + const std::string pullAvatarFromGravatarPath = "pullAvatarFromGravatar"; + const std::string register2FAPublicKeyPath = "register2FAPublicKey"; + const std::string renameDevicePath = "renameDevice"; + const std::string resumeDevicePath = "resumeDevice"; + const std::string revokeDevicePath = "revokeDevice"; + const std::string suspendDevicePath = "suspendDevice"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string IdentityService::ServicePath = "/identity/"; + +IdentityService::IdentityService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<IdentityService::AuthorizeDeviceResult> +IdentityService::AuthorizeDevice( + const client_library::AuthorizeDeviceForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + authorizeDevicePath, + req, + resp + ); +} + +std::future<IdentityService::CancelActionResult> +IdentityService::CancelAction( + const client_library::CancelActionForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + cancelActionPath, + req, + resp + ); +} + +std::future<IdentityService::ConfirmActionResult> +IdentityService::ConfirmAction( + const client_library::ConfirmActionExecutionForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + confirmActionPath, + req, + resp + ); +} + +std::future<IdentityService::ConfirmNewCarddavPublicKeyResult> +IdentityService::ConfirmNewCarddavPublicKey( + const client_library::ConfirmNewCarddavPublicKeyForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + confirmNewCarddavPublicKeyPath, + req, + resp + ); +} + +std::future<IdentityService::ConfirmNewDeviceResult> +IdentityService::ConfirmNewDevice( + const client_library::ConfirmNewDeviceForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + confirmNewDevicePath, + req, + resp + ); +} + +std::future<IdentityService::GenerateCredentialsResult> +IdentityService::GenerateCredentials( + const client_library::GenerateCredentialsForm* req, + client_library::GenerateCredentialsFormResponse* resp +) { + return client_session_.Post( + ServicePath + generateCredentialsPath, + req, + resp + ); +} + +std::future<IdentityService::GetAvatarResult> +IdentityService::GetAvatar( + const client_library::GetIdentityAvatarForm* req, + client_library::GetIdentityAvatarFormResponse* resp +) { + return client_session_.Post( + ServicePath + getAvatarPath, + req, + resp + ); +} + +std::future<IdentityService::GetIdentityProfileDataResult> +IdentityService::GetIdentityProfileData( + const client_library::GetIdentityProfileDataForm* req, + client_library::GetIdentityProfileDataFormResponse* resp +) { + return client_session_.Post( + ServicePath + getIdentityProfileDataPath, + req, + resp + ); +} + +std::future<IdentityService::HasUnauthorizedDevicesResult> +IdentityService::HasUnauthorizedDevices( + const client_library::EmptyRequest* req, + client_library::HasUnauthorizedDevicesHandlerFormResponse* resp +) { + return client_session_.Post( + ServicePath + hasUnauthorizedDevicesPath, + req, + resp + ); +} + +std::future<IdentityService::ListDevicesResult> +IdentityService::ListDevices( + const client_library::EmptyRequest* req, + client_library::ListDevicesHandlerFormResponse* resp +) { + return client_session_.Post( + ServicePath + listDevicesPath, + req, + resp + ); +} + +std::future<IdentityService::PullAvatarFromGravatarResult> +IdentityService::PullAvatarFromGravatar( + const client_library::PullAvatarFromGravatarForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + pullAvatarFromGravatarPath, + req, + resp + ); +} + +std::future<IdentityService::Register2FAPublicKeyResult> +IdentityService::Register2FAPublicKey( + const client_library::Register2FAPublicKeyForm* req, + client_library::Register2FAPublicKeyFormResponse* resp +) { + return client_session_.Post( + ServicePath + register2FAPublicKeyPath, + req, + resp + ); +} + +std::future<IdentityService::RenameDeviceResult> +IdentityService::RenameDevice( + const client_library::RenameDeviceForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + renameDevicePath, + req, + resp + ); +} + +std::future<IdentityService::ResumeDeviceResult> +IdentityService::ResumeDevice( + const client_library::ResumeDeviceForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + resumeDevicePath, + req, + resp + ); +} + +std::future<IdentityService::RevokeDeviceResult> +IdentityService::RevokeDevice( + const client_library::RevokeDeviceForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + revokeDevicePath, + req, + resp + ); +} + +std::future<IdentityService::SuspendDeviceResult> +IdentityService::SuspendDevice( + const client_library::SuspendDeviceForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + suspendDevicePath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/identity_service.hh b/cpp/src/vereign/service/gen/identity_service.hh new file mode 100644 index 0000000..8c5dad1 --- /dev/null +++ b/cpp/src/vereign/service/gen/identity_service.hh @@ -0,0 +1,183 @@ +#ifndef __VEREIGN_SERVICE_GEN_IDENTITY_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_IDENTITY_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class IdentityService { +public: + static const std::string ServicePath; + + explicit IdentityService(restapi::ClientSession& client_session); + + IdentityService(const IdentityService&) = delete; + IdentityService& operator=(const IdentityService&) = delete; + + using AuthorizeDeviceResult = Result< + const client_library::AuthorizeDeviceForm*, + client_library::EmptyResponse*>; + + std::future<AuthorizeDeviceResult> AuthorizeDevice( + const client_library::AuthorizeDeviceForm* req, + client_library::EmptyResponse* resp + ); + + using CancelActionResult = Result< + const client_library::CancelActionForm*, + client_library::EmptyResponse*>; + + std::future<CancelActionResult> CancelAction( + const client_library::CancelActionForm* req, + client_library::EmptyResponse* resp + ); + + using ConfirmActionResult = Result< + const client_library::ConfirmActionExecutionForm*, + client_library::EmptyResponse*>; + + std::future<ConfirmActionResult> ConfirmAction( + const client_library::ConfirmActionExecutionForm* req, + client_library::EmptyResponse* resp + ); + + using ConfirmNewCarddavPublicKeyResult = Result< + const client_library::ConfirmNewCarddavPublicKeyForm*, + client_library::EmptyResponse*>; + + std::future<ConfirmNewCarddavPublicKeyResult> ConfirmNewCarddavPublicKey( + const client_library::ConfirmNewCarddavPublicKeyForm* req, + client_library::EmptyResponse* resp + ); + + using ConfirmNewDeviceResult = Result< + const client_library::ConfirmNewDeviceForm*, + client_library::EmptyResponse*>; + + std::future<ConfirmNewDeviceResult> ConfirmNewDevice( + const client_library::ConfirmNewDeviceForm* req, + client_library::EmptyResponse* resp + ); + + using GenerateCredentialsResult = Result< + const client_library::GenerateCredentialsForm*, + client_library::GenerateCredentialsFormResponse*>; + + std::future<GenerateCredentialsResult> GenerateCredentials( + const client_library::GenerateCredentialsForm* req, + client_library::GenerateCredentialsFormResponse* resp + ); + + using GetAvatarResult = Result< + const client_library::GetIdentityAvatarForm*, + client_library::GetIdentityAvatarFormResponse*>; + + std::future<GetAvatarResult> GetAvatar( + const client_library::GetIdentityAvatarForm* req, + client_library::GetIdentityAvatarFormResponse* resp + ); + + using GetIdentityProfileDataResult = Result< + const client_library::GetIdentityProfileDataForm*, + client_library::GetIdentityProfileDataFormResponse*>; + + std::future<GetIdentityProfileDataResult> GetIdentityProfileData( + const client_library::GetIdentityProfileDataForm* req, + client_library::GetIdentityProfileDataFormResponse* resp + ); + + using HasUnauthorizedDevicesResult = Result< + const client_library::EmptyRequest*, + client_library::HasUnauthorizedDevicesHandlerFormResponse*>; + + std::future<HasUnauthorizedDevicesResult> HasUnauthorizedDevices( + const client_library::EmptyRequest* req, + client_library::HasUnauthorizedDevicesHandlerFormResponse* resp + ); + + using ListDevicesResult = Result< + const client_library::EmptyRequest*, + client_library::ListDevicesHandlerFormResponse*>; + + std::future<ListDevicesResult> ListDevices( + const client_library::EmptyRequest* req, + client_library::ListDevicesHandlerFormResponse* resp + ); + + using PullAvatarFromGravatarResult = Result< + const client_library::PullAvatarFromGravatarForm*, + client_library::EmptyResponse*>; + + std::future<PullAvatarFromGravatarResult> PullAvatarFromGravatar( + const client_library::PullAvatarFromGravatarForm* req, + client_library::EmptyResponse* resp + ); + + using Register2FAPublicKeyResult = Result< + const client_library::Register2FAPublicKeyForm*, + client_library::Register2FAPublicKeyFormResponse*>; + + std::future<Register2FAPublicKeyResult> Register2FAPublicKey( + const client_library::Register2FAPublicKeyForm* req, + client_library::Register2FAPublicKeyFormResponse* resp + ); + + using RenameDeviceResult = Result< + const client_library::RenameDeviceForm*, + client_library::EmptyResponse*>; + + std::future<RenameDeviceResult> RenameDevice( + const client_library::RenameDeviceForm* req, + client_library::EmptyResponse* resp + ); + + using ResumeDeviceResult = Result< + const client_library::ResumeDeviceForm*, + client_library::EmptyResponse*>; + + std::future<ResumeDeviceResult> ResumeDevice( + const client_library::ResumeDeviceForm* req, + client_library::EmptyResponse* resp + ); + + using RevokeDeviceResult = Result< + const client_library::RevokeDeviceForm*, + client_library::EmptyResponse*>; + + std::future<RevokeDeviceResult> RevokeDevice( + const client_library::RevokeDeviceForm* req, + client_library::EmptyResponse* resp + ); + + using SuspendDeviceResult = Result< + const client_library::SuspendDeviceForm*, + client_library::EmptyResponse*>; + + std::future<SuspendDeviceResult> SuspendDevice( + const client_library::SuspendDeviceForm* req, + client_library::EmptyResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_IDENTITY_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/interactions_service.cc b/cpp/src/vereign/service/gen/interactions_service.cc new file mode 100644 index 0000000..f783273 --- /dev/null +++ b/cpp/src/vereign/service/gen/interactions_service.cc @@ -0,0 +1,32 @@ +#include <vereign/service/gen/interactions_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string searchInteractionsPath = "searchInteractions"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string InteractionsService::ServicePath = "/interactions/"; + +InteractionsService::InteractionsService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<InteractionsService::SearchInteractionsResult> +InteractionsService::SearchInteractions( + const client_library::SearchInteractionsForm* req, + client_library::SearchInteractionsFormResponse* resp +) { + return client_session_.Post( + ServicePath + searchInteractionsPath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/interactions_service.hh b/cpp/src/vereign/service/gen/interactions_service.hh new file mode 100644 index 0000000..105640c --- /dev/null +++ b/cpp/src/vereign/service/gen/interactions_service.hh @@ -0,0 +1,48 @@ +#ifndef __VEREIGN_SERVICE_GEN_INTERACTIONS_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_INTERACTIONS_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class InteractionsService { +public: + static const std::string ServicePath; + + explicit InteractionsService(restapi::ClientSession& client_session); + + InteractionsService(const InteractionsService&) = delete; + InteractionsService& operator=(const InteractionsService&) = delete; + + using SearchInteractionsResult = Result< + const client_library::SearchInteractionsForm*, + client_library::SearchInteractionsFormResponse*>; + + std::future<SearchInteractionsResult> SearchInteractions( + const client_library::SearchInteractionsForm* req, + client_library::SearchInteractionsFormResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_INTERACTIONS_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/orders_service.cc b/cpp/src/vereign/service/gen/orders_service.cc new file mode 100644 index 0000000..1f981a4 --- /dev/null +++ b/cpp/src/vereign/service/gen/orders_service.cc @@ -0,0 +1,84 @@ +#include <vereign/service/gen/orders_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string confirmCardPaymentPath = "confirmCardPayment"; + const std::string getGeneratedInvoiceForOrderPath = "getGeneratedInvoiceForOrder"; + const std::string getOrderPath = "getOrder"; + const std::string initializeCardPaymentPath = "initializeCardPayment"; + const std::string listOrdersPath = "listOrders"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string OrdersService::ServicePath = "/orders/"; + +OrdersService::OrdersService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<OrdersService::ConfirmCardPaymentResult> +OrdersService::ConfirmCardPayment( + const client_library::ConfirmCardPaymentForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + confirmCardPaymentPath, + req, + resp + ); +} + +std::future<OrdersService::GetGeneratedInvoiceForOrderResult> +OrdersService::GetGeneratedInvoiceForOrder( + const client_library::GetGeneratedInvoiceForOrderForm* req, + client_library::GetGeneratedInvoiceForOrderFormResponse* resp +) { + return client_session_.Post( + ServicePath + getGeneratedInvoiceForOrderPath, + req, + resp + ); +} + +std::future<OrdersService::GetOrderResult> +OrdersService::GetOrder( + const client_library::GetOrderForm* req, + client_library::GetOrderFormResponse* resp +) { + return client_session_.Post( + ServicePath + getOrderPath, + req, + resp + ); +} + +std::future<OrdersService::InitializeCardPaymentResult> +OrdersService::InitializeCardPayment( + const client_library::InitializeCardPaymentForm* req, + client_library::InitializeCardPaymentFormResponse* resp +) { + return client_session_.Post( + ServicePath + initializeCardPaymentPath, + req, + resp + ); +} + +std::future<OrdersService::ListOrdersResult> +OrdersService::ListOrders( + const client_library::ListOrdersForm* req, + client_library::ListOrdersFormResponse* resp +) { + return client_session_.Post( + ServicePath + listOrdersPath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/orders_service.hh b/cpp/src/vereign/service/gen/orders_service.hh new file mode 100644 index 0000000..c6f4e20 --- /dev/null +++ b/cpp/src/vereign/service/gen/orders_service.hh @@ -0,0 +1,84 @@ +#ifndef __VEREIGN_SERVICE_GEN_ORDERS_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_ORDERS_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class OrdersService { +public: + static const std::string ServicePath; + + explicit OrdersService(restapi::ClientSession& client_session); + + OrdersService(const OrdersService&) = delete; + OrdersService& operator=(const OrdersService&) = delete; + + using ConfirmCardPaymentResult = Result< + const client_library::ConfirmCardPaymentForm*, + client_library::EmptyResponse*>; + + std::future<ConfirmCardPaymentResult> ConfirmCardPayment( + const client_library::ConfirmCardPaymentForm* req, + client_library::EmptyResponse* resp + ); + + using GetGeneratedInvoiceForOrderResult = Result< + const client_library::GetGeneratedInvoiceForOrderForm*, + client_library::GetGeneratedInvoiceForOrderFormResponse*>; + + std::future<GetGeneratedInvoiceForOrderResult> GetGeneratedInvoiceForOrder( + const client_library::GetGeneratedInvoiceForOrderForm* req, + client_library::GetGeneratedInvoiceForOrderFormResponse* resp + ); + + using GetOrderResult = Result< + const client_library::GetOrderForm*, + client_library::GetOrderFormResponse*>; + + std::future<GetOrderResult> GetOrder( + const client_library::GetOrderForm* req, + client_library::GetOrderFormResponse* resp + ); + + using InitializeCardPaymentResult = Result< + const client_library::InitializeCardPaymentForm*, + client_library::InitializeCardPaymentFormResponse*>; + + std::future<InitializeCardPaymentResult> InitializeCardPayment( + const client_library::InitializeCardPaymentForm* req, + client_library::InitializeCardPaymentFormResponse* resp + ); + + using ListOrdersResult = Result< + const client_library::ListOrdersForm*, + client_library::ListOrdersFormResponse*>; + + std::future<ListOrdersResult> ListOrders( + const client_library::ListOrdersForm* req, + client_library::ListOrdersFormResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_ORDERS_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/passport_service.cc b/cpp/src/vereign/service/gen/passport_service.cc index 5c47d20..c7ce907 100644 --- a/cpp/src/vereign/service/gen/passport_service.cc +++ b/cpp/src/vereign/service/gen/passport_service.cc @@ -2,7 +2,22 @@ #include <vereign/restapi/client_session.hh> namespace { + const std::string attachFunctionPath = "attachFunction"; + const std::string callFunctionPath = "callFunction"; + const std::string generateDIDsPath = "generateDIDs"; + const std::string getAvatarByPassportPath = "getAvatarByPassport"; + const std::string getDIDsPath = "getDIDs"; + const std::string getEmailWithHeaderByPassportPath = "getEmailWithHeaderByPassport"; + const std::string getInteractionsPath = "getInteractions"; + const std::string getVCardImagePath = "getVCardImage"; + const std::string getVCardTemplatePath = "getVCardTemplate"; + const std::string linkClaimPath = "linkClaim"; + const std::string listFunctionsPath = "listFunctions"; const std::string listPassportsPath = "listPassports"; + const std::string listPassportsForSharedIdentityPath = "listPassportsForSharedIdentity"; + const std::string listSharedIdentitiesWithUserPath = "listSharedIdentitiesWithUser"; + const std::string setVCardImagePath = "setVCardImage"; + const std::string storeDIDsPath = "storeDIDs"; } namespace vereign { @@ -15,6 +30,138 @@ PassportService::PassportService(restapi::ClientSession& client_session) : client_session_{client_session} {} +std::future<PassportService::AttachFunctionResult> +PassportService::AttachFunction( + const client_library::AttachFunctionToPassportClaimForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + attachFunctionPath, + req, + resp + ); +} + +std::future<PassportService::CallFunctionResult> +PassportService::CallFunction( + const client_library::CallFunctionForm* req, + client_library::CallFunctionFormResponse* resp +) { + return client_session_.Post( + ServicePath + callFunctionPath, + req, + resp + ); +} + +std::future<PassportService::GenerateDIDsResult> +PassportService::GenerateDIDs( + const client_library::GenerateDIDsForm* req, + client_library::GenerateDIDsFormResponse* resp +) { + return client_session_.Post( + ServicePath + generateDIDsPath, + req, + resp + ); +} + +std::future<PassportService::GetAvatarByPassportResult> +PassportService::GetAvatarByPassport( + const client_library::GetAvatarByPassportForm* req, + client_library::GetAvatarByPassportFormResponse* resp +) { + return client_session_.Post( + ServicePath + getAvatarByPassportPath, + req, + resp + ); +} + +std::future<PassportService::GetDIDsResult> +PassportService::GetDIDs( + const client_library::GetDIDsForm* req, + client_library::GetDIDsFormResponse* resp +) { + return client_session_.Post( + ServicePath + getDIDsPath, + req, + resp + ); +} + +std::future<PassportService::GetEmailWithHeaderByPassportResult> +PassportService::GetEmailWithHeaderByPassport( + const client_library::GetEmailWithHeaderByPassportForm* req, + client_library::GetEmailWithHeaderByPassportFormResponse* resp +) { + return client_session_.Post( + ServicePath + getEmailWithHeaderByPassportPath, + req, + resp + ); +} + +std::future<PassportService::GetInteractionsResult> +PassportService::GetInteractions( + const client_library::GetInteractionsForm* req, + client_library::GetInteractionsFormResponse* resp +) { + return client_session_.Post( + ServicePath + getInteractionsPath, + req, + resp + ); +} + +std::future<PassportService::GetVCardImageResult> +PassportService::GetVCardImage( + const client_library::GetVCardImageForm* req, + client_library::GetVCardImageFormResponse* resp +) { + return client_session_.Post( + ServicePath + getVCardImagePath, + req, + resp + ); +} + +std::future<PassportService::GetVCardTemplateResult> +PassportService::GetVCardTemplate( + const client_library::GetVCardTemplateForm* req, + client_library::GetVCardTemplateFormResponse* resp +) { + return client_session_.Post( + ServicePath + getVCardTemplatePath, + req, + resp + ); +} + +std::future<PassportService::LinkClaimResult> +PassportService::LinkClaim( + const client_library::LinkClaimToPassportForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + linkClaimPath, + req, + resp + ); +} + +std::future<PassportService::ListFunctionsResult> +PassportService::ListFunctions( + const client_library::EmptyRequest* req, + client_library::ListFunctionsResponse* resp +) { + return client_session_.Post( + ServicePath + listFunctionsPath, + req, + resp + ); +} + std::future<PassportService::ListPassportsResult> PassportService::ListPassports( const client_library::ListPassportsForm* req, @@ -27,6 +174,53 @@ PassportService::ListPassports( ); } +std::future<PassportService::ListPassportsForSharedIdentityResult> +PassportService::ListPassportsForSharedIdentity( + const client_library::ListPassportsForSharedIdentityForm* req, + client_library::ListPassportsForSharedIdentityFormResponse* resp +) { + return client_session_.Post( + ServicePath + listPassportsForSharedIdentityPath, + req, + resp + ); +} + +std::future<PassportService::ListSharedIdentitiesWithUserResult> +PassportService::ListSharedIdentitiesWithUser( + const client_library::ListSharedIdentitiesWithUserForm* req, + client_library::ListSharedIdentitiesWithUserFormResponse* resp +) { + return client_session_.Post( + ServicePath + listSharedIdentitiesWithUserPath, + req, + resp + ); +} + +std::future<PassportService::SetVCardImageResult> +PassportService::SetVCardImage( + const client_library::SetVCardImageForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + setVCardImagePath, + req, + resp + ); +} + +std::future<PassportService::StoreDIDsResult> +PassportService::StoreDIDs( + const client_library::StoreDIDsForm* req, + client_library::StoreDIDsFormResponse* resp +) { + return client_session_.Post( + ServicePath + storeDIDsPath, + req, + resp + ); +} } // namespace gen } // namespace service diff --git a/cpp/src/vereign/service/gen/passport_service.hh b/cpp/src/vereign/service/gen/passport_service.hh index e6bfad2..d9841ab 100644 --- a/cpp/src/vereign/service/gen/passport_service.hh +++ b/cpp/src/vereign/service/gen/passport_service.hh @@ -3,7 +3,7 @@ #include <vereign/restapi/client_session.hh> #include <vereign/restapi/post_result.hh> -#include <vereign/client_library/passport_types.gen.pb.h> +#include <vereign/client_library/types.gen.pb.h> #include <future> @@ -28,6 +28,105 @@ public: PassportService(const PassportService&) = delete; PassportService& operator=(const PassportService&) = delete; + using AttachFunctionResult = Result< + const client_library::AttachFunctionToPassportClaimForm*, + client_library::EmptyResponse*>; + + std::future<AttachFunctionResult> AttachFunction( + const client_library::AttachFunctionToPassportClaimForm* req, + client_library::EmptyResponse* resp + ); + + using CallFunctionResult = Result< + const client_library::CallFunctionForm*, + client_library::CallFunctionFormResponse*>; + + std::future<CallFunctionResult> CallFunction( + const client_library::CallFunctionForm* req, + client_library::CallFunctionFormResponse* resp + ); + + using GenerateDIDsResult = Result< + const client_library::GenerateDIDsForm*, + client_library::GenerateDIDsFormResponse*>; + + std::future<GenerateDIDsResult> GenerateDIDs( + const client_library::GenerateDIDsForm* req, + client_library::GenerateDIDsFormResponse* resp + ); + + using GetAvatarByPassportResult = Result< + const client_library::GetAvatarByPassportForm*, + client_library::GetAvatarByPassportFormResponse*>; + + std::future<GetAvatarByPassportResult> GetAvatarByPassport( + const client_library::GetAvatarByPassportForm* req, + client_library::GetAvatarByPassportFormResponse* resp + ); + + using GetDIDsResult = Result< + const client_library::GetDIDsForm*, + client_library::GetDIDsFormResponse*>; + + std::future<GetDIDsResult> GetDIDs( + const client_library::GetDIDsForm* req, + client_library::GetDIDsFormResponse* resp + ); + + using GetEmailWithHeaderByPassportResult = Result< + const client_library::GetEmailWithHeaderByPassportForm*, + client_library::GetEmailWithHeaderByPassportFormResponse*>; + + std::future<GetEmailWithHeaderByPassportResult> GetEmailWithHeaderByPassport( + const client_library::GetEmailWithHeaderByPassportForm* req, + client_library::GetEmailWithHeaderByPassportFormResponse* resp + ); + + using GetInteractionsResult = Result< + const client_library::GetInteractionsForm*, + client_library::GetInteractionsFormResponse*>; + + std::future<GetInteractionsResult> GetInteractions( + const client_library::GetInteractionsForm* req, + client_library::GetInteractionsFormResponse* resp + ); + + using GetVCardImageResult = Result< + const client_library::GetVCardImageForm*, + client_library::GetVCardImageFormResponse*>; + + std::future<GetVCardImageResult> GetVCardImage( + const client_library::GetVCardImageForm* req, + client_library::GetVCardImageFormResponse* resp + ); + + using GetVCardTemplateResult = Result< + const client_library::GetVCardTemplateForm*, + client_library::GetVCardTemplateFormResponse*>; + + std::future<GetVCardTemplateResult> GetVCardTemplate( + const client_library::GetVCardTemplateForm* req, + client_library::GetVCardTemplateFormResponse* resp + ); + + using LinkClaimResult = Result< + const client_library::LinkClaimToPassportForm*, + client_library::EmptyResponse*>; + + std::future<LinkClaimResult> LinkClaim( + const client_library::LinkClaimToPassportForm* req, + client_library::EmptyResponse* resp + ); + + using ListFunctionsResult = Result< + const client_library::EmptyRequest*, + client_library::ListFunctionsResponse*>; + + std::future<ListFunctionsResult> ListFunctions( + const client_library::EmptyRequest* req, + client_library::ListFunctionsResponse* resp + ); + using ListPassportsResult = Result< const client_library::ListPassportsForm*, client_library::ListPassportsFormResponse*>; @@ -37,6 +136,42 @@ public: client_library::ListPassportsFormResponse* resp ); + using ListPassportsForSharedIdentityResult = Result< + const client_library::ListPassportsForSharedIdentityForm*, + client_library::ListPassportsForSharedIdentityFormResponse*>; + + std::future<ListPassportsForSharedIdentityResult> ListPassportsForSharedIdentity( + const client_library::ListPassportsForSharedIdentityForm* req, + client_library::ListPassportsForSharedIdentityFormResponse* resp + ); + + using ListSharedIdentitiesWithUserResult = Result< + const client_library::ListSharedIdentitiesWithUserForm*, + client_library::ListSharedIdentitiesWithUserFormResponse*>; + + std::future<ListSharedIdentitiesWithUserResult> ListSharedIdentitiesWithUser( + const client_library::ListSharedIdentitiesWithUserForm* req, + client_library::ListSharedIdentitiesWithUserFormResponse* resp + ); + + using SetVCardImageResult = Result< + const client_library::SetVCardImageForm*, + client_library::EmptyResponse*>; + + std::future<SetVCardImageResult> SetVCardImage( + const client_library::SetVCardImageForm* req, + client_library::EmptyResponse* resp + ); + + using StoreDIDsResult = Result< + const client_library::StoreDIDsForm*, + client_library::StoreDIDsFormResponse*>; + + std::future<StoreDIDsResult> StoreDIDs( + const client_library::StoreDIDsForm* req, + client_library::StoreDIDsFormResponse* resp + ); + private: restapi::ClientSession& client_session_; }; diff --git a/cpp/src/vereign/service/gen/reporting_service.cc b/cpp/src/vereign/service/gen/reporting_service.cc new file mode 100644 index 0000000..07d8784 --- /dev/null +++ b/cpp/src/vereign/service/gen/reporting_service.cc @@ -0,0 +1,45 @@ +#include <vereign/service/gen/reporting_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string getbillingdataforperiodPath = "getbillingdataforperiod"; + const std::string getreporttotaldataPath = "getreporttotaldata"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string ReportingService::ServicePath = "/reporting/"; + +ReportingService::ReportingService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<ReportingService::GetbillingdataforperiodResult> +ReportingService::Getbillingdataforperiod( + const client_library::GetBillingDataForPeriodForm* req, + client_library::GetBillingDataForPeriodFormResponse* resp +) { + return client_session_.Post( + ServicePath + getbillingdataforperiodPath, + req, + resp + ); +} + +std::future<ReportingService::GetreporttotaldataResult> +ReportingService::Getreporttotaldata( + const client_library::GetReportTotalDataForm* req, + client_library::GetReportTotalDataFormResponse* resp +) { + return client_session_.Post( + ServicePath + getreporttotaldataPath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/reporting_service.hh b/cpp/src/vereign/service/gen/reporting_service.hh new file mode 100644 index 0000000..3781e78 --- /dev/null +++ b/cpp/src/vereign/service/gen/reporting_service.hh @@ -0,0 +1,57 @@ +#ifndef __VEREIGN_SERVICE_GEN_REPORTING_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_REPORTING_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class ReportingService { +public: + static const std::string ServicePath; + + explicit ReportingService(restapi::ClientSession& client_session); + + ReportingService(const ReportingService&) = delete; + ReportingService& operator=(const ReportingService&) = delete; + + using GetbillingdataforperiodResult = Result< + const client_library::GetBillingDataForPeriodForm*, + client_library::GetBillingDataForPeriodFormResponse*>; + + std::future<GetbillingdataforperiodResult> Getbillingdataforperiod( + const client_library::GetBillingDataForPeriodForm* req, + client_library::GetBillingDataForPeriodFormResponse* resp + ); + + using GetreporttotaldataResult = Result< + const client_library::GetReportTotalDataForm*, + client_library::GetReportTotalDataFormResponse*>; + + std::future<GetreporttotaldataResult> Getreporttotaldata( + const client_library::GetReportTotalDataForm* req, + client_library::GetReportTotalDataFormResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_REPORTING_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/resource_service.cc b/cpp/src/vereign/service/gen/resource_service.cc new file mode 100644 index 0000000..317105d --- /dev/null +++ b/cpp/src/vereign/service/gen/resource_service.cc @@ -0,0 +1,45 @@ +#include <vereign/service/gen/resource_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string deleteResourceByTokenPath = "deleteResourceByToken"; + const std::string storeResourcePath = "storeResource"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string ResourceService::ServicePath = "/resource/"; + +ResourceService::ResourceService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<ResourceService::DeleteResourceByTokenResult> +ResourceService::DeleteResourceByToken( + const client_library::DeleteResourceForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + deleteResourceByTokenPath, + req, + resp + ); +} + +std::future<ResourceService::StoreResourceResult> +ResourceService::StoreResource( + const client_library::StoreResourceForm* req, + client_library::StoreResourceFormResponse* resp +) { + return client_session_.Post( + ServicePath + storeResourcePath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/resource_service.hh b/cpp/src/vereign/service/gen/resource_service.hh new file mode 100644 index 0000000..bed33a2 --- /dev/null +++ b/cpp/src/vereign/service/gen/resource_service.hh @@ -0,0 +1,57 @@ +#ifndef __VEREIGN_SERVICE_GEN_RESOURCE_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_RESOURCE_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class ResourceService { +public: + static const std::string ServicePath; + + explicit ResourceService(restapi::ClientSession& client_session); + + ResourceService(const ResourceService&) = delete; + ResourceService& operator=(const ResourceService&) = delete; + + using DeleteResourceByTokenResult = Result< + const client_library::DeleteResourceForm*, + client_library::EmptyResponse*>; + + std::future<DeleteResourceByTokenResult> DeleteResourceByToken( + const client_library::DeleteResourceForm* req, + client_library::EmptyResponse* resp + ); + + using StoreResourceResult = Result< + const client_library::StoreResourceForm*, + client_library::StoreResourceFormResponse*>; + + std::future<StoreResourceResult> StoreResource( + const client_library::StoreResourceForm* req, + client_library::StoreResourceFormResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_RESOURCE_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/sharing_service.cc b/cpp/src/vereign/service/gen/sharing_service.cc new file mode 100644 index 0000000..f30874b --- /dev/null +++ b/cpp/src/vereign/service/gen/sharing_service.cc @@ -0,0 +1,97 @@ +#include <vereign/service/gen/sharing_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string acceptSharingRequestMovePassportPath = "acceptSharingRequestMovePassport"; + const std::string acceptSharingRequestPersistPassportPath = "acceptSharingRequestPersistPassport"; + const std::string listPendingSharingRequestsPath = "listPendingSharingRequests"; + const std::string listRejectedSharingRequestsPath = "listRejectedSharingRequests"; + const std::string rejectSharingRequestPath = "rejectSharingRequest"; + const std::string sendShareDocumentRequestPath = "sendShareDocumentRequest"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string SharingService::ServicePath = "/sharing/"; + +SharingService::SharingService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<SharingService::AcceptSharingRequestMovePassportResult> +SharingService::AcceptSharingRequestMovePassport( + const client_library::AcceptSharingRequestMovePassportForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + acceptSharingRequestMovePassportPath, + req, + resp + ); +} + +std::future<SharingService::AcceptSharingRequestPersistPassportResult> +SharingService::AcceptSharingRequestPersistPassport( + const client_library::AcceptSharingRequestPersistPassportForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + acceptSharingRequestPersistPassportPath, + req, + resp + ); +} + +std::future<SharingService::ListPendingSharingRequestsResult> +SharingService::ListPendingSharingRequests( + const client_library::ListPendingSharingRequestsForm* req, + client_library::ListPendingSharingRequestsFormResponse* resp +) { + return client_session_.Post( + ServicePath + listPendingSharingRequestsPath, + req, + resp + ); +} + +std::future<SharingService::ListRejectedSharingRequestsResult> +SharingService::ListRejectedSharingRequests( + const client_library::ListRejectedSharingRequestsForm* req, + client_library::ListRejectedSharingRequestsFormResponse* resp +) { + return client_session_.Post( + ServicePath + listRejectedSharingRequestsPath, + req, + resp + ); +} + +std::future<SharingService::RejectSharingRequestResult> +SharingService::RejectSharingRequest( + const client_library::RejectSharingRequestForm* req, + client_library::EmptyResponse* resp +) { + return client_session_.Post( + ServicePath + rejectSharingRequestPath, + req, + resp + ); +} + +std::future<SharingService::SendShareDocumentRequestResult> +SharingService::SendShareDocumentRequest( + const client_library::SendShareDocumentRequestForm* req, + client_library::SendShareDocumentRequestFormResponse* resp +) { + return client_session_.Post( + ServicePath + sendShareDocumentRequestPath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/sharing_service.hh b/cpp/src/vereign/service/gen/sharing_service.hh new file mode 100644 index 0000000..0edb291 --- /dev/null +++ b/cpp/src/vereign/service/gen/sharing_service.hh @@ -0,0 +1,93 @@ +#ifndef __VEREIGN_SERVICE_GEN_SHARING_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_SHARING_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class SharingService { +public: + static const std::string ServicePath; + + explicit SharingService(restapi::ClientSession& client_session); + + SharingService(const SharingService&) = delete; + SharingService& operator=(const SharingService&) = delete; + + using AcceptSharingRequestMovePassportResult = Result< + const client_library::AcceptSharingRequestMovePassportForm*, + client_library::EmptyResponse*>; + + std::future<AcceptSharingRequestMovePassportResult> AcceptSharingRequestMovePassport( + const client_library::AcceptSharingRequestMovePassportForm* req, + client_library::EmptyResponse* resp + ); + + using AcceptSharingRequestPersistPassportResult = Result< + const client_library::AcceptSharingRequestPersistPassportForm*, + client_library::EmptyResponse*>; + + std::future<AcceptSharingRequestPersistPassportResult> AcceptSharingRequestPersistPassport( + const client_library::AcceptSharingRequestPersistPassportForm* req, + client_library::EmptyResponse* resp + ); + + using ListPendingSharingRequestsResult = Result< + const client_library::ListPendingSharingRequestsForm*, + client_library::ListPendingSharingRequestsFormResponse*>; + + std::future<ListPendingSharingRequestsResult> ListPendingSharingRequests( + const client_library::ListPendingSharingRequestsForm* req, + client_library::ListPendingSharingRequestsFormResponse* resp + ); + + using ListRejectedSharingRequestsResult = Result< + const client_library::ListRejectedSharingRequestsForm*, + client_library::ListRejectedSharingRequestsFormResponse*>; + + std::future<ListRejectedSharingRequestsResult> ListRejectedSharingRequests( + const client_library::ListRejectedSharingRequestsForm* req, + client_library::ListRejectedSharingRequestsFormResponse* resp + ); + + using RejectSharingRequestResult = Result< + const client_library::RejectSharingRequestForm*, + client_library::EmptyResponse*>; + + std::future<RejectSharingRequestResult> RejectSharingRequest( + const client_library::RejectSharingRequestForm* req, + client_library::EmptyResponse* resp + ); + + using SendShareDocumentRequestResult = Result< + const client_library::SendShareDocumentRequestForm*, + client_library::SendShareDocumentRequestFormResponse*>; + + std::future<SendShareDocumentRequestResult> SendShareDocumentRequest( + const client_library::SendShareDocumentRequestForm* req, + client_library::SendShareDocumentRequestFormResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_SHARING_SERVICE_HH diff --git a/cpp/src/vereign/service/gen/sign_service.cc b/cpp/src/vereign/service/gen/sign_service.cc new file mode 100644 index 0000000..cb6a099 --- /dev/null +++ b/cpp/src/vereign/service/gen/sign_service.cc @@ -0,0 +1,97 @@ +#include <vereign/service/gen/sign_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { + const std::string generateCmsForChainPath = "generateCmsForChain"; + const std::string generateCmsForPassportPath = "generateCmsForPassport"; + const std::string resignEmailPath = "resignEmail"; + const std::string retrieveRootCertificatePath = "retrieveRootCertificate"; + const std::string signVCardForChainPath = "signVCardForChain"; + const std::string validateVMimePath = "validateVMime"; +} + +namespace vereign { +namespace service { +namespace gen { + +const std::string SignService::ServicePath = "/sign/"; + +SignService::SignService(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +std::future<SignService::GenerateCmsForChainResult> +SignService::GenerateCmsForChain( + const client_library::GenerateCmsForChainForm* req, + client_library::GenerateCmsForChainFormResponse* resp +) { + return client_session_.Post( + ServicePath + generateCmsForChainPath, + req, + resp + ); +} + +std::future<SignService::GenerateCmsForPassportResult> +SignService::GenerateCmsForPassport( + const client_library::GenerateCmsForPassportForm* req, + client_library::GenerateCmsForPassportFormResponse* resp +) { + return client_session_.Post( + ServicePath + generateCmsForPassportPath, + req, + resp + ); +} + +std::future<SignService::ResignEmailResult> +SignService::ResignEmail( + const client_library::ResignSMIMEForm* req, + client_library::ResignSMIMEFormResponse* resp +) { + return client_session_.Post( + ServicePath + resignEmailPath, + req, + resp + ); +} + +std::future<SignService::RetrieveRootCertificateResult> +SignService::RetrieveRootCertificate( + const client_library::RetrieveRootCertificateForm* req, + client_library::RetrieveRootCertificateFormResponse* resp +) { + return client_session_.Post( + ServicePath + retrieveRootCertificatePath, + req, + resp + ); +} + +std::future<SignService::SignVCardForChainResult> +SignService::SignVCardForChain( + const client_library::SignVCardForChainForm* req, + client_library::SignVCardForChainFormResponse* resp +) { + return client_session_.Post( + ServicePath + signVCardForChainPath, + req, + resp + ); +} + +std::future<SignService::ValidateVMimeResult> +SignService::ValidateVMime( + const client_library::ValidateVMimeForm* req, + client_library::ValidateVMimeFormResponse* resp +) { + return client_session_.Post( + ServicePath + validateVMimePath, + req, + resp + ); +} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/src/vereign/service/gen/sign_service.hh b/cpp/src/vereign/service/gen/sign_service.hh new file mode 100644 index 0000000..bb0f81a --- /dev/null +++ b/cpp/src/vereign/service/gen/sign_service.hh @@ -0,0 +1,93 @@ +#ifndef __VEREIGN_SERVICE_GEN_SIGN_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_SIGN_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +class SignService { +public: + static const std::string ServicePath; + + explicit SignService(restapi::ClientSession& client_session); + + SignService(const SignService&) = delete; + SignService& operator=(const SignService&) = delete; + + using GenerateCmsForChainResult = Result< + const client_library::GenerateCmsForChainForm*, + client_library::GenerateCmsForChainFormResponse*>; + + std::future<GenerateCmsForChainResult> GenerateCmsForChain( + const client_library::GenerateCmsForChainForm* req, + client_library::GenerateCmsForChainFormResponse* resp + ); + + using GenerateCmsForPassportResult = Result< + const client_library::GenerateCmsForPassportForm*, + client_library::GenerateCmsForPassportFormResponse*>; + + std::future<GenerateCmsForPassportResult> GenerateCmsForPassport( + const client_library::GenerateCmsForPassportForm* req, + client_library::GenerateCmsForPassportFormResponse* resp + ); + + using ResignEmailResult = Result< + const client_library::ResignSMIMEForm*, + client_library::ResignSMIMEFormResponse*>; + + std::future<ResignEmailResult> ResignEmail( + const client_library::ResignSMIMEForm* req, + client_library::ResignSMIMEFormResponse* resp + ); + + using RetrieveRootCertificateResult = Result< + const client_library::RetrieveRootCertificateForm*, + client_library::RetrieveRootCertificateFormResponse*>; + + std::future<RetrieveRootCertificateResult> RetrieveRootCertificate( + const client_library::RetrieveRootCertificateForm* req, + client_library::RetrieveRootCertificateFormResponse* resp + ); + + using SignVCardForChainResult = Result< + const client_library::SignVCardForChainForm*, + client_library::SignVCardForChainFormResponse*>; + + std::future<SignVCardForChainResult> SignVCardForChain( + const client_library::SignVCardForChainForm* req, + client_library::SignVCardForChainFormResponse* resp + ); + + using ValidateVMimeResult = Result< + const client_library::ValidateVMimeForm*, + client_library::ValidateVMimeFormResponse*>; + + std::future<ValidateVMimeResult> ValidateVMime( + const client_library::ValidateVMimeForm* req, + client_library::ValidateVMimeFormResponse* resp + ); + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_SIGN_SERVICE_HH diff --git a/cpp/src/vereign/service/passport_service.hh b/cpp/src/vereign/service/passport_service.hh index 1df27e0..f59b4b2 100644 --- a/cpp/src/vereign/service/passport_service.hh +++ b/cpp/src/vereign/service/passport_service.hh @@ -3,7 +3,7 @@ #include <vereign/restapi/client_session.hh> #include <vereign/restapi/post_result.hh> -#include <vereign/client_library/passport_types.gen.pb.h> +#include <vereign/client_library/types.gen.pb.h> #include <vereign/service/gen/passport_service.hh> #include <future> diff --git a/cpp/templates/vereign/grpc/gen/++service++_api.hh.tmpl b/cpp/templates/vereign/grpc/gen/++service++_api.hh.tmpl new file mode 100644 index 0000000..28e01d5 --- /dev/null +++ b/cpp/templates/vereign/grpc/gen/++service++_api.hh.tmpl @@ -0,0 +1,60 @@ +#ifndef __VEREIGN_GRPC_GEN_{{ upper .Name }}_API_HH +#define __VEREIGN_GRPC_GEN_{{ upper .Name }}_API_HH + +#include <vereign/client_library/{{ .Name }}_api.gen.grpc.pb.h> + +namespace vereign { +namespace grpc { +namespace gen { + +{{- $class := (print (title .Name) "API") }} + +template <class VereignService> +class {{ $class }} : public client_library::{{ $class }}::Service { +public: + static constexpr const char* Name = "{{ .Name }}"; + + using VereignServiceType = VereignService; + using VereignServicePtr = std::unique_ptr<VereignService>; + + {{ $class }}(VereignServicePtr&& service) + : service_{std::move(service)} + {} + + {{ $class }}(const {{ $class }}&) = delete; + {{ $class }}& operator=(const {{ $class }}&) = delete; + +{{- range .Apis }} + + ::grpc::Status {{ title .Name }}( + ::grpc::ServerContext*, + const client_library::{{ .RequestMessage }}* request, + client_library::{{ .ResponseMessage }}* response + ) override { + auto result_future = service_->{{ title .Name }}(request, response); + + try { + result_future.get(); + } catch (const std::exception& e) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error(e.what()); + } catch (...) { + response->set_code("500"); + response->set_status("Internal Service Error"); + response->set_error("Internal Service Error"); + } + + return ::grpc::Status::OK; + } +{{- end }} + +protected: + VereignServicePtr service_; +}; + +} // gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_{{ upper .Name }}_API_HH diff --git a/cpp/templates/vereign/grpc/gen/gen.cc.tmpl b/cpp/templates/vereign/grpc/gen/gen.cc.tmpl new file mode 100644 index 0000000..47604c7 --- /dev/null +++ b/cpp/templates/vereign/grpc/gen/gen.cc.tmpl @@ -0,0 +1,21 @@ +#include <vereign/grpc/gen/gen.hh> + +#include <vereign/service/gen/gen.hh> +#include <vereign/grpc/service_registry.hh> + +namespace vereign { +namespace grpc { +namespace gen { + +void RegisterAll( + restapi::ClientSession& client_session, + vereign::grpc::ServiceRegistry& service_registry +) { +{{- range .Services }} + service_registry.RegisterIfNotExist<{{ title .Name }}API<service::gen::{{ title .Name }}Service>>(client_session); +{{- end }} +} + +} +} +} diff --git a/cpp/templates/vereign/grpc/gen/gen.hh.tmpl b/cpp/templates/vereign/grpc/gen/gen.hh.tmpl new file mode 100644 index 0000000..eee804a --- /dev/null +++ b/cpp/templates/vereign/grpc/gen/gen.hh.tmpl @@ -0,0 +1,25 @@ +#ifndef __VEREIGN_GRPC_GEN_GEN_HH +#define __VEREIGN_GRPC_GEN_GEN_HH + +{{ range .Services }} +#include <vereign/grpc/gen/{{ .Name }}_api.hh> +{{- end }} + +namespace vereign { +namespace restapi { +class ClientSession; +} + +namespace grpc { + +class ServiceRegistry; + +namespace gen { + +void RegisterAll(restapi::ClientSession& client_session, grpc::ServiceRegistry& service_registry); + +} // namespace gen +} // namespace grpc +} // namespace vereign + +#endif // __VEREIGN_GRPC_GEN_GEN_HH diff --git a/cpp/templates/vereign/service/gen/++service++_service.cc.tmpl b/cpp/templates/vereign/service/gen/++service++_service.cc.tmpl new file mode 100644 index 0000000..93c489c --- /dev/null +++ b/cpp/templates/vereign/service/gen/++service++_service.cc.tmpl @@ -0,0 +1,39 @@ +#include <vereign/service/gen/{{ .Name }}_service.hh> +#include <vereign/restapi/client_session.hh> + +namespace { +{{- range .Apis }} + const std::string {{ .Name }}Path = "{{ .Name }}"; +{{- end }} +} + +namespace vereign { +namespace service { +namespace gen { + +{{- $class := (print (title .Name) "Service") }} + +const std::string {{ $class }}::ServicePath = "/{{ .Name }}/"; + +{{ $class }}::{{ $class }}(restapi::ClientSession& client_session) + : client_session_{client_session} +{} + +{{- range .Apis }} + +std::future<{{ $class }}::{{ title .Name }}Result> +{{ $class }}::{{ title .Name }}( + const client_library::{{ .RequestMessage }}* req, + client_library::{{ .ResponseMessage }}* resp +) { + return client_session_.Post( + ServicePath + {{ .Name }}Path, + req, + resp + ); +} +{{- end }} + +} // namespace gen +} // namespace service +} // namespace vereign diff --git a/cpp/templates/vereign/service/gen/++service++_service.hh.tmpl b/cpp/templates/vereign/service/gen/++service++_service.hh.tmpl new file mode 100644 index 0000000..698f1f3 --- /dev/null +++ b/cpp/templates/vereign/service/gen/++service++_service.hh.tmpl @@ -0,0 +1,53 @@ +#ifndef __VEREIGN_SERVICE_GEN_{{ upper .Name }}_SERVICE_HH +#define __VEREIGN_SERVICE_GEN_{{ upper .Name }}_SERVICE_HH + +#include <vereign/restapi/client_session.hh> +#include <vereign/restapi/post_result.hh> +#include <vereign/client_library/types.gen.pb.h> + +#include <future> + +namespace vereign { + +namespace restapi { + class ClientSession; +} + +namespace service { +namespace gen { + +template <class Request, class Response> +using Result = restapi::PostResult<Request, Response>; + +{{- $class := (print (title .Name) "Service") }} + +class {{ $class }} { +public: + static const std::string ServicePath; + + explicit {{ $class }}(restapi::ClientSession& client_session); + + {{ $class }}(const {{ $class }}&) = delete; + {{ $class }}& operator=(const {{ $class }}&) = delete; + +{{- range .Apis }} + + using {{ title .Name }}Result = Result< + const client_library::{{ .RequestMessage }}*, + client_library::{{ .ResponseMessage }}*>; + + std::future<{{ title .Name }}Result> {{ title .Name }}( + const client_library::{{ .RequestMessage }}* req, + client_library::{{ .ResponseMessage }}* resp + ); +{{- end }} + +private: + restapi::ClientSession& client_session_; +}; + +} // namespace gen +} // namespace service +} // namespace vereign + +#endif // __VEREIGN_SERVICE_GEN_{{ upper .Name }}_SERVICE_HH diff --git a/cpp/templates/vereign/service/gen/gen.hh.tmpl b/cpp/templates/vereign/service/gen/gen.hh.tmpl new file mode 100644 index 0000000..9f6d6a8 --- /dev/null +++ b/cpp/templates/vereign/service/gen/gen.hh.tmpl @@ -0,0 +1,8 @@ +#ifndef __VEREIGN_SERVICE_GEN_GEN_HH +#define __VEREIGN_SERVICE_GEN_GEN_HH + +{{ range .Services }} +#include <vereign/service/gen/{{ .Name }}_service.hh> +{{- end }} + +#endif // __VEREIGN_SERVICE_GEN_GEN_HH diff --git a/cpp/tests/protobuf/CMakeLists.txt b/cpp/tests/protobuf/CMakeLists.txt index 27d205c..a23b8ac 100644 --- a/cpp/tests/protobuf/CMakeLists.txt +++ b/cpp/tests/protobuf/CMakeLists.txt @@ -30,14 +30,6 @@ target_link_libraries(protobuf_tests ${LIBS} PRIVATE protobuf::libprotobuf ) -#add_custom_command( -# TARGET protobuf_tests -# COMMENT "Run protobuf tests" -# POST_BUILD -# WORKING_DIRECTORY ${CMAKE_BINARY_DIR} -# COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/protobuf_tests -#) - add_test( NAME protobuf_tests COMMAND protobuf_tests diff --git a/cpp/tests/protobuf/json_test.cc b/cpp/tests/protobuf/json_test.cc index 9ec8931..6e9d4ef 100644 --- a/cpp/tests/protobuf/json_test.cc +++ b/cpp/tests/protobuf/json_test.cc @@ -5,7 +5,7 @@ TEST_CASE("simple struct", "[protobuf]") { auto json = R"( { - "int_value": 42, + "int_value": 9223372036854775807, "string_value": "foo bar", "int_arr": [4, 2], "string_arr": ["foo", "bar", "baz"], @@ -16,7 +16,8 @@ TEST_CASE("simple struct", "[protobuf]") { "string_map": { "foo": "foo_value", "bar": "bar_value" - } + }, + "double_value": 42 } )"; @@ -28,7 +29,7 @@ TEST_CASE("simple struct", "[protobuf]") { CHECK(status.error_message() == ""); REQUIRE(status.ok()); CHECK(msg.string_value() == "foo bar"); - CHECK(msg.int_value() == 42); + CHECK(msg.int_value() == 9223372036854775807); CHECK(msg.int_arr().size() == 2); CHECK(msg.int_arr().Get(0) == 4); CHECK(msg.int_arr().Get(1) == 2); @@ -49,6 +50,31 @@ TEST_CASE("simple struct", "[protobuf]") { CHECK(msg.string_map_size() == 2); CHECK(msg.string_map().at("foo") == "foo_value"); CHECK(msg.string_map().at("bar") == "bar_value"); + CHECK(msg.double_value() == 42); +} + +TEST_CASE("two dimensional array", "[protobuf]") { + auto json = R"( +{ + arr: [ + { + str_arr: ["foo", "bar"] + } + ] +} +)"; + + testproto::TwoDimensionalArray msg; + + google::protobuf::util::JsonParseOptions options; + auto status = google::protobuf::util::JsonStringToMessage(json, &msg, options); + + CHECK(status.error_message() == ""); + REQUIRE(status.ok()); + REQUIRE(msg.arr().size() == 1); + REQUIRE(msg.arr().at(0).str_arr().size() == 2); + REQUIRE(msg.arr().at(0).str_arr().at(0) == "foo"); + REQUIRE(msg.arr().at(0).str_arr().at(1) == "bar"); } TEST_CASE("invalid json", "[protobuf]") { @@ -97,6 +123,42 @@ TEST_CASE("null/missing integer value", "[protobuf]") { REQUIRE(msg.int_value() == 0); } +TEST_CASE("json marshal double", "[protobuf]") { + testproto::SimpleStruct msg; + msg.set_double_value(42); + + std::string json; + google::protobuf::util::JsonOptions options; + options.add_whitespace = true; + options.preserve_proto_field_names = true; + options.always_print_enums_as_ints = true; + auto status = google::protobuf::util::MessageToJsonString(msg, &json, options); + auto expected = R"({ + "double_value": 42 +} +)"; + + REQUIRE(json == expected); +} + +TEST_CASE("json marshal uint64", "[protobuf]") { + testproto::SimpleStruct msg; + msg.set_uint64_value(42); + + std::string json; + google::protobuf::util::JsonOptions options; + options.add_whitespace = true; + options.preserve_proto_field_names = true; + options.always_print_enums_as_ints = true; + auto status = google::protobuf::util::MessageToJsonString(msg, &json, options); + auto expected = R"({ + "uint64_value": "42" +} +)"; + + REQUIRE(json == expected); +} + TEST_CASE("json marshal naming", "[protobuf]") { testproto::JsonNaming msg; msg.set_foo_value(1); @@ -240,18 +302,4 @@ TEST_CASE("oneof marshal", "[protobuf]") { CHECK(json == expected); } - SECTION("marshal test") { - testproto::OneofValue msg; - msg.mutable_struct_value()->set_int_value(42); - google::protobuf::util::JsonPrintOptions options; - options.preserve_proto_field_names = true; - std::string json; - auto status = google::protobuf::util::MessageToJsonString(msg, &json, options); - - auto expected = R"({"struct_value":{"int_value":"42"}})"; - - CHECK(status.error_message() == ""); - REQUIRE(status.ok()); - CHECK(json == expected); - } } diff --git a/cpp/tests/protobuf/proto/messages.proto b/cpp/tests/protobuf/proto/messages.proto index 70f4b46..1e1e0e3 100644 --- a/cpp/tests/protobuf/proto/messages.proto +++ b/cpp/tests/protobuf/proto/messages.proto @@ -9,6 +9,8 @@ message SimpleStruct { repeated string string_arr = 4; map<string, int32> int_map = 5; map<string, string> string_map = 6; + double double_value = 7; + uint64 uint64_value = 8; } message JsonNaming { @@ -25,3 +27,10 @@ message OneofValue { } } +message StringArray { + repeated string str_arr = 1; +} + +message TwoDimensionalArray { + repeated StringArray arr = 1; +} diff --git a/cpp/tests/protobuf/testpb/messages.pb.cc b/cpp/tests/protobuf/testpb/messages.pb.cc index 28f1084..0721f36 100644 --- a/cpp/tests/protobuf/testpb/messages.pb.cc +++ b/cpp/tests/protobuf/testpb/messages.pb.cc @@ -17,6 +17,7 @@ extern PROTOBUF_INTERNAL_EXPORT_messages_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_SimpleStruct_messages_2eproto; extern PROTOBUF_INTERNAL_EXPORT_messages_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_SimpleStruct_IntMapEntry_DoNotUse_messages_2eproto; extern PROTOBUF_INTERNAL_EXPORT_messages_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_SimpleStruct_StringMapEntry_DoNotUse_messages_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_messages_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_StringArray_messages_2eproto; namespace testproto { class SimpleStruct_IntMapEntry_DoNotUseDefaultTypeInternal { public: @@ -40,6 +41,14 @@ class OneofValueDefaultTypeInternal { ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr string_value_; const ::testproto::SimpleStruct* struct_value_; } _OneofValue_default_instance_; +class StringArrayDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<StringArray> _instance; +} _StringArray_default_instance_; +class TwoDimensionalArrayDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TwoDimensionalArray> _instance; +} _TwoDimensionalArray_default_instance_; } // namespace testproto static void InitDefaultsscc_info_JsonNaming_messages_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -112,7 +121,36 @@ static void InitDefaultsscc_info_SimpleStruct_StringMapEntry_DoNotUse_messages_2 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_SimpleStruct_StringMapEntry_DoNotUse_messages_2eproto = {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_SimpleStruct_StringMapEntry_DoNotUse_messages_2eproto}, {}}; -static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_messages_2eproto[5]; +static void InitDefaultsscc_info_StringArray_messages_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::testproto::_StringArray_default_instance_; + new (ptr) ::testproto::StringArray(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } + ::testproto::StringArray::InitAsDefaultInstance(); +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_StringArray_messages_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_StringArray_messages_2eproto}, {}}; + +static void InitDefaultsscc_info_TwoDimensionalArray_messages_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::testproto::_TwoDimensionalArray_default_instance_; + new (ptr) ::testproto::TwoDimensionalArray(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } + ::testproto::TwoDimensionalArray::InitAsDefaultInstance(); +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_TwoDimensionalArray_messages_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_TwoDimensionalArray_messages_2eproto}, { + &scc_info_StringArray_messages_2eproto.base,}}; + +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_messages_2eproto[7]; static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_messages_2eproto = nullptr; static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_messages_2eproto = nullptr; @@ -146,6 +184,8 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_messages_2eproto::offsets[] PR PROTOBUF_FIELD_OFFSET(::testproto::SimpleStruct, string_arr_), PROTOBUF_FIELD_OFFSET(::testproto::SimpleStruct, int_map_), PROTOBUF_FIELD_OFFSET(::testproto::SimpleStruct, string_map_), + PROTOBUF_FIELD_OFFSET(::testproto::SimpleStruct, double_value_), + PROTOBUF_FIELD_OFFSET(::testproto::SimpleStruct, uint64_value_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::testproto::JsonNaming, _internal_metadata_), ~0u, // no _extensions_ @@ -163,13 +203,27 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_messages_2eproto::offsets[] PR offsetof(::testproto::OneofValueDefaultTypeInternal, string_value_), offsetof(::testproto::OneofValueDefaultTypeInternal, struct_value_), PROTOBUF_FIELD_OFFSET(::testproto::OneofValue, data_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::testproto::StringArray, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::testproto::StringArray, str_arr_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::testproto::TwoDimensionalArray, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::testproto::TwoDimensionalArray, arr_), }; static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, 7, sizeof(::testproto::SimpleStruct_IntMapEntry_DoNotUse)}, { 9, 16, sizeof(::testproto::SimpleStruct_StringMapEntry_DoNotUse)}, { 18, -1, sizeof(::testproto::SimpleStruct)}, - { 29, -1, sizeof(::testproto::JsonNaming)}, - { 38, -1, sizeof(::testproto::OneofValue)}, + { 31, -1, sizeof(::testproto::JsonNaming)}, + { 40, -1, sizeof(::testproto::OneofValue)}, + { 48, -1, sizeof(::testproto::StringArray)}, + { 54, -1, sizeof(::testproto::TwoDimensionalArray)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -178,40 +232,47 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::testproto::_SimpleStruct_default_instance_), reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::testproto::_JsonNaming_default_instance_), reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::testproto::_OneofValue_default_instance_), + reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::testproto::_StringArray_default_instance_), + reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::testproto::_TwoDimensionalArray_default_instance_), }; const char descriptor_table_protodef_messages_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = - "\n\016messages.proto\022\ttestproto\"\257\002\n\014SimpleSt" + "\n\016messages.proto\022\ttestproto\"\333\002\n\014SimpleSt" "ruct\022\021\n\tint_value\030\001 \001(\003\022\024\n\014string_value\030" "\002 \001(\t\022\017\n\007int_arr\030\003 \003(\003\022\022\n\nstring_arr\030\004 \003" "(\t\0224\n\007int_map\030\005 \003(\0132#.testproto.SimpleSt" "ruct.IntMapEntry\022:\n\nstring_map\030\006 \003(\0132&.t" - "estproto.SimpleStruct.StringMapEntry\032-\n\013" - "IntMapEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\005:" - "\0028\001\0320\n\016StringMapEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005va" - "lue\030\002 \001(\t:\0028\001\"V\n\nJsonNaming\022\021\n\tfoo_value" - "\030\001 \001(\002\022\020\n\010barValue\030\002 \001(\002\022\020\n\010BazValue\030\003 \001" - "(\002\022\021\n\tquX_Value\030\004 \001(\002\"]\n\nOneofValue\022\026\n\014s" - "tring_value\030\001 \001(\tH\000\022/\n\014struct_value\030\002 \001(" - "\0132\027.testproto.SimpleStructH\000B\006\n\004datab\006pr" - "oto3" + "estproto.SimpleStruct.StringMapEntry\022\024\n\014" + "double_value\030\007 \001(\001\022\024\n\014uint64_value\030\010 \001(\004" + "\032-\n\013IntMapEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 " + "\001(\005:\0028\001\0320\n\016StringMapEntry\022\013\n\003key\030\001 \001(\t\022\r" + "\n\005value\030\002 \001(\t:\0028\001\"V\n\nJsonNaming\022\021\n\tfoo_v" + "alue\030\001 \001(\002\022\020\n\010barValue\030\002 \001(\002\022\020\n\010BazValue" + "\030\003 \001(\002\022\021\n\tquX_Value\030\004 \001(\002\"]\n\nOneofValue\022" + "\026\n\014string_value\030\001 \001(\tH\000\022/\n\014struct_value\030" + "\002 \001(\0132\027.testproto.SimpleStructH\000B\006\n\004data" + "\"\036\n\013StringArray\022\017\n\007str_arr\030\001 \003(\t\":\n\023TwoD" + "imensionalArray\022#\n\003arr\030\001 \003(\0132\026.testproto" + ".StringArrayb\006proto3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_messages_2eproto_deps[1] = { }; -static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_messages_2eproto_sccs[5] = { +static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_messages_2eproto_sccs[7] = { &scc_info_JsonNaming_messages_2eproto.base, &scc_info_OneofValue_messages_2eproto.base, &scc_info_SimpleStruct_messages_2eproto.base, &scc_info_SimpleStruct_IntMapEntry_DoNotUse_messages_2eproto.base, &scc_info_SimpleStruct_StringMapEntry_DoNotUse_messages_2eproto.base, + &scc_info_StringArray_messages_2eproto.base, + &scc_info_TwoDimensionalArray_messages_2eproto.base, }; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_messages_2eproto_once; static bool descriptor_table_messages_2eproto_initialized = false; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_messages_2eproto = { - &descriptor_table_messages_2eproto_initialized, descriptor_table_protodef_messages_2eproto, "messages.proto", 524, - &descriptor_table_messages_2eproto_once, descriptor_table_messages_2eproto_sccs, descriptor_table_messages_2eproto_deps, 5, 0, + &descriptor_table_messages_2eproto_initialized, descriptor_table_protodef_messages_2eproto, "messages.proto", 660, + &descriptor_table_messages_2eproto_once, descriptor_table_messages_2eproto_sccs, descriptor_table_messages_2eproto_deps, 7, 0, schemas, file_default_instances, TableStruct_messages_2eproto::offsets, - file_level_metadata_messages_2eproto, 5, file_level_enum_descriptors_messages_2eproto, file_level_service_descriptors_messages_2eproto, + file_level_metadata_messages_2eproto, 7, file_level_enum_descriptors_messages_2eproto, file_level_service_descriptors_messages_2eproto, }; // Force running AddDescriptors() at dynamic initialization time. @@ -277,14 +338,18 @@ SimpleStruct::SimpleStruct(const SimpleStruct& from) if (!from._internal_string_value().empty()) { string_value_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.string_value_); } - int_value_ = from.int_value_; + ::memcpy(&int_value_, &from.int_value_, + static_cast<size_t>(reinterpret_cast<char*>(&uint64_value_) - + reinterpret_cast<char*>(&int_value_)) + sizeof(uint64_value_)); // @@protoc_insertion_point(copy_constructor:testproto.SimpleStruct) } void SimpleStruct::SharedCtor() { ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_SimpleStruct_messages_2eproto.base); string_value_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - int_value_ = PROTOBUF_LONGLONG(0); + ::memset(&int_value_, 0, static_cast<size_t>( + reinterpret_cast<char*>(&uint64_value_) - + reinterpret_cast<char*>(&int_value_)) + sizeof(uint64_value_)); } SimpleStruct::~SimpleStruct() { @@ -316,7 +381,9 @@ void SimpleStruct::Clear() { int_map_.Clear(); string_map_.Clear(); string_value_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - int_value_ = PROTOBUF_LONGLONG(0); + ::memset(&int_value_, 0, static_cast<size_t>( + reinterpret_cast<char*>(&uint64_value_) - + reinterpret_cast<char*>(&int_value_)) + sizeof(uint64_value_)); _internal_metadata_.Clear(); } @@ -391,6 +458,20 @@ const char* SimpleStruct::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_I } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr)); } else goto handle_unusual; continue; + // double double_value = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 57)) { + double_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr); + ptr += sizeof(double); + } else goto handle_unusual; + continue; + // uint64 uint64_value = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) { + uint64_value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -538,6 +619,18 @@ failure: } } + // double double_value = 7; + if (!(this->double_value() <= 0 && this->double_value() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(7, this->_internal_double_value(), target); + } + + // uint64 uint64_value = 8; + if (this->uint64_value() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(8, this->_internal_uint64_value(), target); + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target, stream); @@ -609,6 +702,18 @@ size_t SimpleStruct::ByteSizeLong() const { this->_internal_int_value()); } + // double double_value = 7; + if (!(this->double_value() <= 0 && this->double_value() >= 0)) { + total_size += 1 + 8; + } + + // uint64 uint64_value = 8; + if (this->uint64_value() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size( + this->_internal_uint64_value()); + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( _internal_metadata_, total_size, &_cached_size_); @@ -651,6 +756,12 @@ void SimpleStruct::MergeFrom(const SimpleStruct& from) { if (from.int_value() != 0) { _internal_set_int_value(from._internal_int_value()); } + if (!(from.double_value() <= 0 && from.double_value() >= 0)) { + _internal_set_double_value(from._internal_double_value()); + } + if (from.uint64_value() != 0) { + _internal_set_uint64_value(from._internal_uint64_value()); + } } void SimpleStruct::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { @@ -681,6 +792,8 @@ void SimpleStruct::InternalSwap(SimpleStruct* other) { string_value_.Swap(&other->string_value_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); swap(int_value_, other->int_value_); + swap(double_value_, other->double_value_); + swap(uint64_value_, other->uint64_value_); } ::PROTOBUF_NAMESPACE_ID::Metadata SimpleStruct::GetMetadata() const { @@ -1233,6 +1346,393 @@ void OneofValue::InternalSwap(OneofValue* other) { } +// =================================================================== + +void StringArray::InitAsDefaultInstance() { +} +class StringArray::_Internal { + public: +}; + +StringArray::StringArray() + : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:testproto.StringArray) +} +StringArray::StringArray(const StringArray& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _internal_metadata_(nullptr), + str_arr_(from.str_arr_) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + // @@protoc_insertion_point(copy_constructor:testproto.StringArray) +} + +void StringArray::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_StringArray_messages_2eproto.base); +} + +StringArray::~StringArray() { + // @@protoc_insertion_point(destructor:testproto.StringArray) + SharedDtor(); +} + +void StringArray::SharedDtor() { +} + +void StringArray::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const StringArray& StringArray::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_StringArray_messages_2eproto.base); + return *internal_default_instance(); +} + + +void StringArray::Clear() { +// @@protoc_insertion_point(message_clear_start:testproto.StringArray) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + str_arr_.Clear(); + _internal_metadata_.Clear(); +} + +const char* StringArray::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // repeated string str_arr = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr -= 1; + do { + ptr += 1; + auto str = _internal_add_str_arr(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "testproto.StringArray.str_arr")); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* StringArray::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:testproto.StringArray) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // repeated string str_arr = 1; + for (int i = 0, n = this->_internal_str_arr_size(); i < n; i++) { + const auto& s = this->_internal_str_arr(i); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast<int>(s.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "testproto.StringArray.str_arr"); + target = stream->WriteString(1, s, target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:testproto.StringArray) + return target; +} + +size_t StringArray::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:testproto.StringArray) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated string str_arr = 1; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(str_arr_.size()); + for (int i = 0, n = str_arr_.size(); i < n; i++) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + str_arr_.Get(i)); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void StringArray::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:testproto.StringArray) + GOOGLE_DCHECK_NE(&from, this); + const StringArray* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<StringArray>( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:testproto.StringArray) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:testproto.StringArray) + MergeFrom(*source); + } +} + +void StringArray::MergeFrom(const StringArray& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:testproto.StringArray) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + str_arr_.MergeFrom(from.str_arr_); +} + +void StringArray::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:testproto.StringArray) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void StringArray::CopyFrom(const StringArray& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:testproto.StringArray) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool StringArray::IsInitialized() const { + return true; +} + +void StringArray::InternalSwap(StringArray* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + str_arr_.InternalSwap(&other->str_arr_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata StringArray::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +void TwoDimensionalArray::InitAsDefaultInstance() { +} +class TwoDimensionalArray::_Internal { + public: +}; + +TwoDimensionalArray::TwoDimensionalArray() + : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:testproto.TwoDimensionalArray) +} +TwoDimensionalArray::TwoDimensionalArray(const TwoDimensionalArray& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _internal_metadata_(nullptr), + arr_(from.arr_) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + // @@protoc_insertion_point(copy_constructor:testproto.TwoDimensionalArray) +} + +void TwoDimensionalArray::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_TwoDimensionalArray_messages_2eproto.base); +} + +TwoDimensionalArray::~TwoDimensionalArray() { + // @@protoc_insertion_point(destructor:testproto.TwoDimensionalArray) + SharedDtor(); +} + +void TwoDimensionalArray::SharedDtor() { +} + +void TwoDimensionalArray::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const TwoDimensionalArray& TwoDimensionalArray::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_TwoDimensionalArray_messages_2eproto.base); + return *internal_default_instance(); +} + + +void TwoDimensionalArray::Clear() { +// @@protoc_insertion_point(message_clear_start:testproto.TwoDimensionalArray) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + arr_.Clear(); + _internal_metadata_.Clear(); +} + +const char* TwoDimensionalArray::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // repeated .testproto.StringArray arr = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_arr(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* TwoDimensionalArray::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:testproto.TwoDimensionalArray) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // repeated .testproto.StringArray arr = 1; + for (unsigned int i = 0, + n = static_cast<unsigned int>(this->_internal_arr_size()); i < n; i++) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, this->_internal_arr(i), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:testproto.TwoDimensionalArray) + return target; +} + +size_t TwoDimensionalArray::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:testproto.TwoDimensionalArray) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated .testproto.StringArray arr = 1; + total_size += 1UL * this->_internal_arr_size(); + for (const auto& msg : this->arr_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void TwoDimensionalArray::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:testproto.TwoDimensionalArray) + GOOGLE_DCHECK_NE(&from, this); + const TwoDimensionalArray* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TwoDimensionalArray>( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:testproto.TwoDimensionalArray) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:testproto.TwoDimensionalArray) + MergeFrom(*source); + } +} + +void TwoDimensionalArray::MergeFrom(const TwoDimensionalArray& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:testproto.TwoDimensionalArray) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + arr_.MergeFrom(from.arr_); +} + +void TwoDimensionalArray::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:testproto.TwoDimensionalArray) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void TwoDimensionalArray::CopyFrom(const TwoDimensionalArray& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:testproto.TwoDimensionalArray) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool TwoDimensionalArray::IsInitialized() const { + return true; +} + +void TwoDimensionalArray::InternalSwap(TwoDimensionalArray* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + arr_.InternalSwap(&other->arr_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata TwoDimensionalArray::GetMetadata() const { + return GetMetadataStatic(); +} + + // @@protoc_insertion_point(namespace_scope) } // namespace testproto PROTOBUF_NAMESPACE_OPEN @@ -1251,6 +1751,12 @@ template<> PROTOBUF_NOINLINE ::testproto::JsonNaming* Arena::CreateMaybeMessage< template<> PROTOBUF_NOINLINE ::testproto::OneofValue* Arena::CreateMaybeMessage< ::testproto::OneofValue >(Arena* arena) { return Arena::CreateInternal< ::testproto::OneofValue >(arena); } +template<> PROTOBUF_NOINLINE ::testproto::StringArray* Arena::CreateMaybeMessage< ::testproto::StringArray >(Arena* arena) { + return Arena::CreateInternal< ::testproto::StringArray >(arena); +} +template<> PROTOBUF_NOINLINE ::testproto::TwoDimensionalArray* Arena::CreateMaybeMessage< ::testproto::TwoDimensionalArray >(Arena* arena) { + return Arena::CreateInternal< ::testproto::TwoDimensionalArray >(arena); +} PROTOBUF_NAMESPACE_CLOSE // @@protoc_insertion_point(global_scope) diff --git a/cpp/tests/protobuf/testpb/messages.pb.h b/cpp/tests/protobuf/testpb/messages.pb.h index f5fae93..d1acd7c 100644 --- a/cpp/tests/protobuf/testpb/messages.pb.h +++ b/cpp/tests/protobuf/testpb/messages.pb.h @@ -50,7 +50,7 @@ struct TableStruct_messages_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[5] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[7] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -73,6 +73,12 @@ extern SimpleStruct_IntMapEntry_DoNotUseDefaultTypeInternal _SimpleStruct_IntMap class SimpleStruct_StringMapEntry_DoNotUse; class SimpleStruct_StringMapEntry_DoNotUseDefaultTypeInternal; extern SimpleStruct_StringMapEntry_DoNotUseDefaultTypeInternal _SimpleStruct_StringMapEntry_DoNotUse_default_instance_; +class StringArray; +class StringArrayDefaultTypeInternal; +extern StringArrayDefaultTypeInternal _StringArray_default_instance_; +class TwoDimensionalArray; +class TwoDimensionalArrayDefaultTypeInternal; +extern TwoDimensionalArrayDefaultTypeInternal _TwoDimensionalArray_default_instance_; } // namespace testproto PROTOBUF_NAMESPACE_OPEN template<> ::testproto::JsonNaming* Arena::CreateMaybeMessage<::testproto::JsonNaming>(Arena*); @@ -80,6 +86,8 @@ template<> ::testproto::OneofValue* Arena::CreateMaybeMessage<::testproto::Oneof template<> ::testproto::SimpleStruct* Arena::CreateMaybeMessage<::testproto::SimpleStruct>(Arena*); template<> ::testproto::SimpleStruct_IntMapEntry_DoNotUse* Arena::CreateMaybeMessage<::testproto::SimpleStruct_IntMapEntry_DoNotUse>(Arena*); template<> ::testproto::SimpleStruct_StringMapEntry_DoNotUse* Arena::CreateMaybeMessage<::testproto::SimpleStruct_StringMapEntry_DoNotUse>(Arena*); +template<> ::testproto::StringArray* Arena::CreateMaybeMessage<::testproto::StringArray>(Arena*); +template<> ::testproto::TwoDimensionalArray* Arena::CreateMaybeMessage<::testproto::TwoDimensionalArray>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace testproto { @@ -264,6 +272,8 @@ class SimpleStruct : kStringMapFieldNumber = 6, kStringValueFieldNumber = 2, kIntValueFieldNumber = 1, + kDoubleValueFieldNumber = 7, + kUint64ValueFieldNumber = 8, }; // repeated int64 int_arr = 3; int int_arr_size() const; @@ -370,6 +380,24 @@ class SimpleStruct : void _internal_set_int_value(::PROTOBUF_NAMESPACE_ID::int64 value); public: + // double double_value = 7; + void clear_double_value(); + double double_value() const; + void set_double_value(double value); + private: + double _internal_double_value() const; + void _internal_set_double_value(double value); + public: + + // uint64 uint64_value = 8; + void clear_uint64_value(); + ::PROTOBUF_NAMESPACE_ID::uint64 uint64_value() const; + void set_uint64_value(::PROTOBUF_NAMESPACE_ID::uint64 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint64 _internal_uint64_value() const; + void _internal_set_uint64_value(::PROTOBUF_NAMESPACE_ID::uint64 value); + public: + // @@protoc_insertion_point(class_scope:testproto.SimpleStruct) private: class _Internal; @@ -392,6 +420,8 @@ class SimpleStruct : 0 > string_map_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr string_value_; ::PROTOBUF_NAMESPACE_ID::int64 int_value_; + double double_value_; + ::PROTOBUF_NAMESPACE_ID::uint64 uint64_value_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_messages_2eproto; }; @@ -729,6 +759,286 @@ class OneofValue : friend struct ::TableStruct_messages_2eproto; }; +// ------------------------------------------------------------------- + +class StringArray : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:testproto.StringArray) */ { + public: + StringArray(); + virtual ~StringArray(); + + StringArray(const StringArray& from); + StringArray(StringArray&& from) noexcept + : StringArray() { + *this = ::std::move(from); + } + + inline StringArray& operator=(const StringArray& from) { + CopyFrom(from); + return *this; + } + inline StringArray& operator=(StringArray&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const StringArray& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const StringArray* internal_default_instance() { + return reinterpret_cast<const StringArray*>( + &_StringArray_default_instance_); + } + static constexpr int kIndexInFileMessages = + 5; + + friend void swap(StringArray& a, StringArray& b) { + a.Swap(&b); + } + inline void Swap(StringArray* other) { + if (other == this) return; + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline StringArray* New() const final { + return CreateMaybeMessage<StringArray>(nullptr); + } + + StringArray* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage<StringArray>(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const StringArray& from); + void MergeFrom(const StringArray& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(StringArray* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "testproto.StringArray"; + } + private: + inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_messages_2eproto); + return ::descriptor_table_messages_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kStrArrFieldNumber = 1, + }; + // repeated string str_arr = 1; + int str_arr_size() const; + private: + int _internal_str_arr_size() const; + public: + void clear_str_arr(); + const std::string& str_arr(int index) const; + std::string* mutable_str_arr(int index); + void set_str_arr(int index, const std::string& value); + void set_str_arr(int index, std::string&& value); + void set_str_arr(int index, const char* value); + void set_str_arr(int index, const char* value, size_t size); + std::string* add_str_arr(); + void add_str_arr(const std::string& value); + void add_str_arr(std::string&& value); + void add_str_arr(const char* value); + void add_str_arr(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& str_arr() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_str_arr(); + private: + const std::string& _internal_str_arr(int index) const; + std::string* _internal_add_str_arr(); + public: + + // @@protoc_insertion_point(class_scope:testproto.StringArray) + private: + class _Internal; + + ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> str_arr_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_messages_2eproto; +}; +// ------------------------------------------------------------------- + +class TwoDimensionalArray : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:testproto.TwoDimensionalArray) */ { + public: + TwoDimensionalArray(); + virtual ~TwoDimensionalArray(); + + TwoDimensionalArray(const TwoDimensionalArray& from); + TwoDimensionalArray(TwoDimensionalArray&& from) noexcept + : TwoDimensionalArray() { + *this = ::std::move(from); + } + + inline TwoDimensionalArray& operator=(const TwoDimensionalArray& from) { + CopyFrom(from); + return *this; + } + inline TwoDimensionalArray& operator=(TwoDimensionalArray&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const TwoDimensionalArray& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const TwoDimensionalArray* internal_default_instance() { + return reinterpret_cast<const TwoDimensionalArray*>( + &_TwoDimensionalArray_default_instance_); + } + static constexpr int kIndexInFileMessages = + 6; + + friend void swap(TwoDimensionalArray& a, TwoDimensionalArray& b) { + a.Swap(&b); + } + inline void Swap(TwoDimensionalArray* other) { + if (other == this) return; + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline TwoDimensionalArray* New() const final { + return CreateMaybeMessage<TwoDimensionalArray>(nullptr); + } + + TwoDimensionalArray* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage<TwoDimensionalArray>(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const TwoDimensionalArray& from); + void MergeFrom(const TwoDimensionalArray& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(TwoDimensionalArray* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "testproto.TwoDimensionalArray"; + } + private: + inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_messages_2eproto); + return ::descriptor_table_messages_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kArrFieldNumber = 1, + }; + // repeated .testproto.StringArray arr = 1; + int arr_size() const; + private: + int _internal_arr_size() const; + public: + void clear_arr(); + ::testproto::StringArray* mutable_arr(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::testproto::StringArray >* + mutable_arr(); + private: + const ::testproto::StringArray& _internal_arr(int index) const; + ::testproto::StringArray* _internal_add_arr(); + public: + const ::testproto::StringArray& arr(int index) const; + ::testproto::StringArray* add_arr(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::testproto::StringArray >& + arr() const; + + // @@protoc_insertion_point(class_scope:testproto.TwoDimensionalArray) + private: + class _Internal; + + ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::testproto::StringArray > arr_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_messages_2eproto; +}; // =================================================================== @@ -1003,6 +1313,46 @@ SimpleStruct::mutable_string_map() { return _internal_mutable_string_map(); } +// double double_value = 7; +inline void SimpleStruct::clear_double_value() { + double_value_ = 0; +} +inline double SimpleStruct::_internal_double_value() const { + return double_value_; +} +inline double SimpleStruct::double_value() const { + // @@protoc_insertion_point(field_get:testproto.SimpleStruct.double_value) + return _internal_double_value(); +} +inline void SimpleStruct::_internal_set_double_value(double value) { + + double_value_ = value; +} +inline void SimpleStruct::set_double_value(double value) { + _internal_set_double_value(value); + // @@protoc_insertion_point(field_set:testproto.SimpleStruct.double_value) +} + +// uint64 uint64_value = 8; +inline void SimpleStruct::clear_uint64_value() { + uint64_value_ = PROTOBUF_ULONGLONG(0); +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 SimpleStruct::_internal_uint64_value() const { + return uint64_value_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 SimpleStruct::uint64_value() const { + // @@protoc_insertion_point(field_get:testproto.SimpleStruct.uint64_value) + return _internal_uint64_value(); +} +inline void SimpleStruct::_internal_set_uint64_value(::PROTOBUF_NAMESPACE_ID::uint64 value) { + + uint64_value_ = value; +} +inline void SimpleStruct::set_uint64_value(::PROTOBUF_NAMESPACE_ID::uint64 value) { + _internal_set_uint64_value(value); + // @@protoc_insertion_point(field_set:testproto.SimpleStruct.uint64_value) +} + // ------------------------------------------------------------------- // JsonNaming @@ -1248,6 +1598,127 @@ inline void OneofValue::clear_has_data() { inline OneofValue::DataCase OneofValue::data_case() const { return OneofValue::DataCase(_oneof_case_[0]); } +// ------------------------------------------------------------------- + +// StringArray + +// repeated string str_arr = 1; +inline int StringArray::_internal_str_arr_size() const { + return str_arr_.size(); +} +inline int StringArray::str_arr_size() const { + return _internal_str_arr_size(); +} +inline void StringArray::clear_str_arr() { + str_arr_.Clear(); +} +inline std::string* StringArray::add_str_arr() { + // @@protoc_insertion_point(field_add_mutable:testproto.StringArray.str_arr) + return _internal_add_str_arr(); +} +inline const std::string& StringArray::_internal_str_arr(int index) const { + return str_arr_.Get(index); +} +inline const std::string& StringArray::str_arr(int index) const { + // @@protoc_insertion_point(field_get:testproto.StringArray.str_arr) + return _internal_str_arr(index); +} +inline std::string* StringArray::mutable_str_arr(int index) { + // @@protoc_insertion_point(field_mutable:testproto.StringArray.str_arr) + return str_arr_.Mutable(index); +} +inline void StringArray::set_str_arr(int index, const std::string& value) { + // @@protoc_insertion_point(field_set:testproto.StringArray.str_arr) + str_arr_.Mutable(index)->assign(value); +} +inline void StringArray::set_str_arr(int index, std::string&& value) { + // @@protoc_insertion_point(field_set:testproto.StringArray.str_arr) + str_arr_.Mutable(index)->assign(std::move(value)); +} +inline void StringArray::set_str_arr(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + str_arr_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:testproto.StringArray.str_arr) +} +inline void StringArray::set_str_arr(int index, const char* value, size_t size) { + str_arr_.Mutable(index)->assign( + reinterpret_cast<const char*>(value), size); + // @@protoc_insertion_point(field_set_pointer:testproto.StringArray.str_arr) +} +inline std::string* StringArray::_internal_add_str_arr() { + return str_arr_.Add(); +} +inline void StringArray::add_str_arr(const std::string& value) { + str_arr_.Add()->assign(value); + // @@protoc_insertion_point(field_add:testproto.StringArray.str_arr) +} +inline void StringArray::add_str_arr(std::string&& value) { + str_arr_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:testproto.StringArray.str_arr) +} +inline void StringArray::add_str_arr(const char* value) { + GOOGLE_DCHECK(value != nullptr); + str_arr_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:testproto.StringArray.str_arr) +} +inline void StringArray::add_str_arr(const char* value, size_t size) { + str_arr_.Add()->assign(reinterpret_cast<const char*>(value), size); + // @@protoc_insertion_point(field_add_pointer:testproto.StringArray.str_arr) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& +StringArray::str_arr() const { + // @@protoc_insertion_point(field_list:testproto.StringArray.str_arr) + return str_arr_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* +StringArray::mutable_str_arr() { + // @@protoc_insertion_point(field_mutable_list:testproto.StringArray.str_arr) + return &str_arr_; +} + +// ------------------------------------------------------------------- + +// TwoDimensionalArray + +// repeated .testproto.StringArray arr = 1; +inline int TwoDimensionalArray::_internal_arr_size() const { + return arr_.size(); +} +inline int TwoDimensionalArray::arr_size() const { + return _internal_arr_size(); +} +inline void TwoDimensionalArray::clear_arr() { + arr_.Clear(); +} +inline ::testproto::StringArray* TwoDimensionalArray::mutable_arr(int index) { + // @@protoc_insertion_point(field_mutable:testproto.TwoDimensionalArray.arr) + return arr_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::testproto::StringArray >* +TwoDimensionalArray::mutable_arr() { + // @@protoc_insertion_point(field_mutable_list:testproto.TwoDimensionalArray.arr) + return &arr_; +} +inline const ::testproto::StringArray& TwoDimensionalArray::_internal_arr(int index) const { + return arr_.Get(index); +} +inline const ::testproto::StringArray& TwoDimensionalArray::arr(int index) const { + // @@protoc_insertion_point(field_get:testproto.TwoDimensionalArray.arr) + return _internal_arr(index); +} +inline ::testproto::StringArray* TwoDimensionalArray::_internal_add_arr() { + return arr_.Add(); +} +inline ::testproto::StringArray* TwoDimensionalArray::add_arr() { + // @@protoc_insertion_point(field_add:testproto.TwoDimensionalArray.arr) + return _internal_add_arr(); +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::testproto::StringArray >& +TwoDimensionalArray::arr() const { + // @@protoc_insertion_point(field_list:testproto.TwoDimensionalArray.arr) + return arr_; +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ @@ -1259,6 +1730,10 @@ inline OneofValue::DataCase OneofValue::data_case() const { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/cpp/tests/vereign/grpc/server_test.cc b/cpp/tests/vereign/grpc/server_test.cc index a779043..128d167 100644 --- a/cpp/tests/vereign/grpc/server_test.cc +++ b/cpp/tests/vereign/grpc/server_test.cc @@ -5,6 +5,7 @@ #include <util/protobuf.hh> #include "catch.hpp" +#include "vereign/client_library/types.gen.pb.h" #include <grpcpp/create_channel.h> @@ -24,6 +25,7 @@ TEST_CASE("Server", "[vereign/grpc/server][.integration]") { ); auto client = vereign::client_library::PassportAPI::NewStub(channel); + // vereign::client_library:: vereign::client_library::ListPassportsForm req; vereign::client_library::ListPassportsFormResponse resp; @@ -57,6 +59,21 @@ TEST_CASE("Server", "[vereign/grpc/server][.integration]") { CHECK(passport.uuid().size() == 36); } + vereign::client_library::GetInteractionsForm getInterReq; + vereign::client_library::GetInteractionsFormResponse getInterResp; + ::grpc::ClientContext getInterCtx; + status = client->GetInteractions(&getInterCtx, getInterReq, &getInterResp); + CHECK(status.error_message() == ""); + CHECK(getInterResp.error() == ""); + CHECK(getInterResp.status() == "OK"); + CHECK(getInterResp.code() == "200"); + for (auto& interaction : getInterResp.data()) { + CHECK(interaction.subject().size() > 0); + CHECK(interaction.passport().size() == 36); + } + + // std::cout << vereign::test::ProtobufToJson(getDIDsResp) << std::endl; + grpc_shutdown(); google::protobuf::ShutdownProtobufLibrary(); } diff --git a/cpp/tests/vereign/restapi/client_session_test.cc b/cpp/tests/vereign/restapi/client_session_test.cc index eefbb73..3f5bfc4 100644 --- a/cpp/tests/vereign/restapi/client_session_test.cc +++ b/cpp/tests/vereign/restapi/client_session_test.cc @@ -1,7 +1,7 @@ #include <vereign/restapi/client.hh> #include <vereign/restapi/client_session.hh> #include <vereign/core/scope_guard.hh> -#include <vereign/client_library/passport_types.gen.pb.h> +#include <vereign/client_library/types.gen.pb.h> #include <util/env.hh> #include <util/protobuf.hh> diff --git a/cpp/tests/vereign/service/gen/passport_service_test.cc b/cpp/tests/vereign/service/gen/passport_service_test.cc index 637838a..2a296ff 100644 --- a/cpp/tests/vereign/service/gen/passport_service_test.cc +++ b/cpp/tests/vereign/service/gen/passport_service_test.cc @@ -1,6 +1,6 @@ #include <vereign/service/gen/passport_service.hh> #include <vereign/core/scope_guard.hh> -#include <vereign/client_library/passport_types.gen.pb.h> +#include <vereign/client_library/types.gen.pb.h> #include <util/env.hh> #include <util/protobuf.hh> -- GitLab