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/proto_permission_to_string.hpp"
7 :
8 : #include "backend/protobuf/permissions.hpp"
9 : #include "primitive.pb.h"
10 :
11 : namespace shared_model {
12 : namespace proto {
13 :
14 : std::string ProtoPermissionToString::toString(
15 : interface::permissions::Role r) {
16 137 : return iroha::protocol::RolePermission_Name(
17 137 : proto::permissions::toTransport(r));
18 : }
19 :
20 : std::string ProtoPermissionToString::toString(
21 : interface::permissions::Grantable r) {
22 49 : return iroha::protocol::GrantablePermission_Name(
23 49 : proto::permissions::toTransport(r));
24 : }
25 :
26 : std::vector<std::string> ProtoPermissionToString::toString(
27 : const interface::RolePermissionSet &set) {
28 0 : std::vector<std::string> v;
29 0 : for (size_t i = 0; i < set.size(); ++i) {
30 0 : auto perm = static_cast<interface::permissions::Role>(i);
31 0 : if (set.test(perm)) {
32 0 : v.push_back(toString(perm));
33 0 : }
34 0 : }
35 0 : return v;
36 0 : }
37 :
38 : std::vector<std::string> ProtoPermissionToString::toString(
39 : const interface::GrantablePermissionSet &set) {
40 0 : std::vector<std::string> v;
41 0 : for (size_t i = 0; i < set.size(); ++i) {
42 0 : auto perm = static_cast<interface::permissions::Grantable>(i);
43 0 : if (set.test(perm)) {
44 0 : v.push_back(toString(perm));
45 0 : }
46 0 : }
47 0 : return v;
48 0 : }
49 :
50 : } // namespace proto
51 : } // namespace shared_model
|