Line data Source code
1 : /**
2 : * Copyright Soramitsu Co., Ltd. All Rights Reserved.
3 : * SPDX-License-Identifier: Apache-2.0
4 : */
5 :
6 : #include "backend/protobuf/commands/proto_grant_permission.hpp"
7 : #include "backend/protobuf/permissions.hpp"
8 :
9 : namespace shared_model {
10 : namespace proto {
11 :
12 : template <typename CommandType>
13 : GrantPermission::GrantPermission(CommandType &&command)
14 254 : : CopyableProto(std::forward<CommandType>(command)),
15 254 : grant_permission_{proto_->grant_permission()} {}
16 :
17 : template GrantPermission::GrantPermission(GrantPermission::TransportType &);
18 : template GrantPermission::GrantPermission(
19 : const GrantPermission::TransportType &);
20 : template GrantPermission::GrantPermission(
21 : GrantPermission::TransportType &&);
22 :
23 : GrantPermission::GrantPermission(const GrantPermission &o)
24 0 : : GrantPermission(o.proto_) {}
25 :
26 : GrantPermission::GrantPermission(GrantPermission &&o) noexcept
27 254 : : GrantPermission(std::move(o.proto_)) {}
28 :
29 : const interface::types::AccountIdType &GrantPermission::accountId() const {
30 157 : return grant_permission_.account_id();
31 : }
32 :
33 : interface::permissions::Grantable GrantPermission::permissionName() const {
34 192 : return permissions::fromTransport(grant_permission_.permission());
35 : }
36 :
37 : std::string GrantPermission::toString() const {
38 24 : return detail::PrettyStringBuilder()
39 24 : .init("GrantPermission")
40 24 : .append("account_id", accountId())
41 24 : .append("permission", permissions::toString(permissionName()))
42 24 : .finalize();
43 0 : }
44 :
45 : } // namespace proto
46 : } // namespace shared_model
|