@@ -17,10 +17,15 @@ namespace NScheme {
1717using namespace NThreading ;
1818using namespace Ydb ::Scheme;
1919
20+ TPermissions::TPermissions (const ::Ydb::Scheme::Permissions& proto)
21+ : Subject(proto.subject())
22+ , PermissionNames(proto.permission_names().begin(), proto.permission_names().end())
23+ {}
24+
2025void TPermissions::SerializeTo (::Ydb::Scheme::Permissions& proto) const {
2126 proto.set_subject (TStringType{Subject});
2227 for (const auto & name : PermissionNames) {
23- * proto.mutable_permission_names ()-> Add () = name;
28+ proto.add_permission_names (TStringType{ name}) ;
2429 }
2530}
2631
@@ -132,7 +137,28 @@ void TSchemeEntry::Out(IOutputStream& out) const {
132137void TSchemeEntry::SerializeTo (::Ydb::Scheme::ModifyPermissionsRequest& request) const {
133138 request.mutable_actions ()->Add ()->set_change_owner (TStringType{Owner});
134139 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+ }
136162 }
137163}
138164
0 commit comments