@@ -17,10 +17,15 @@ namespace NScheme {
17
17
using namespace NThreading ;
18
18
using namespace Ydb ::Scheme;
19
19
20
+ TPermissions::TPermissions (const ::Ydb::Scheme::Permissions& proto)
21
+ : Subject(proto.subject())
22
+ , PermissionNames(proto.permission_names().begin(), proto.permission_names().end())
23
+ {}
24
+
20
25
void TPermissions::SerializeTo (::Ydb::Scheme::Permissions& proto) const {
21
26
proto.set_subject (TStringType{Subject});
22
27
for (const auto & name : PermissionNames) {
23
- * proto.mutable_permission_names ()-> Add () = name;
28
+ proto.add_permission_names (TStringType{ name}) ;
24
29
}
25
30
}
26
31
@@ -132,7 +137,28 @@ void TSchemeEntry::Out(IOutputStream& out) const {
132
137
void TSchemeEntry::SerializeTo (::Ydb::Scheme::ModifyPermissionsRequest& request) const {
133
138
request.mutable_actions ()->Add ()->set_change_owner (TStringType{Owner});
134
139
for (const auto & permission : Permissions) {
135
- permission.SerializeTo (*request.mutable_actions ()->Add ()->mutable_set ());
140
+ permission.SerializeTo (*request.mutable_actions ()->Add ()->mutable_grant ());
141
+ }
142
+ }
143
+
144
+ TModifyPermissionsSettings::TModifyPermissionsSettings (const ::Ydb::Scheme::ModifyPermissionsRequest& request) {
145
+ for (const auto & action : request.actions ()) {
146
+ switch (action.action_case ()) {
147
+ case Ydb::Scheme::PermissionsAction::kGrant :
148
+ AddGrantPermissions (action.grant ());
149
+ break ;
150
+ case Ydb::Scheme::PermissionsAction::kRevoke :
151
+ AddRevokePermissions (action.revoke ());
152
+ break ;
153
+ case Ydb::Scheme::PermissionsAction::kSet :
154
+ AddSetPermissions (action.set ());
155
+ break ;
156
+ case Ydb::Scheme::PermissionsAction::kChangeOwner :
157
+ AddChangeOwner (action.change_owner ());
158
+ break ;
159
+ case Ydb::Scheme::PermissionsAction::ACTION_NOT_SET:
160
+ break ;
161
+ }
136
162
}
137
163
}
138
164
0 commit comments