From aa370110dd909d557e5cb883788872ed17516313 Mon Sep 17 00:00:00 2001 From: Dmitry Rodionov <d.rodionov@picodata.io> Date: Wed, 6 Sep 2023 15:01:16 +0300 Subject: [PATCH] refactor: change order of fields, so grantor_id is the first one --- src/luamod.lua | 2 +- src/schema.rs | 2 +- src/storage.rs | 2 +- src/traft/op.rs | 4 ++-- test/int/test_acl.py | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/luamod.lua b/src/luamod.lua index 412ed65ed5..705369daee 100644 --- a/src/luamod.lua +++ b/src/luamod.lua @@ -844,8 +844,8 @@ function pico.grant_privilege(grantee, privilege, object_type, object_name, opts kind = 'acl', op_kind = 'grant_privilege', priv_def = { - grantee_id = grantee_def.id, grantor_id = box.session.uid(), + grantee_id = grantee_def.id, object_type = object_type, object_name = object_name, privilege = privilege, diff --git a/src/schema.rs b/src/schema.rs index 8c5326c488..33144dd5d7 100644 --- a/src/schema.rs +++ b/src/schema.rs @@ -236,8 +236,8 @@ pub struct PrivilegeDef { /// /// In tarantool users and roles are stored in the same space, which means a /// role and a user cannot have the same id or name. - pub grantee_id: UserId, pub grantor_id: UserId, + pub grantee_id: UserId, pub object_type: String, pub object_name: String, pub privilege: String, diff --git a/src/storage.rs b/src/storage.rs index 71764fa4e5..69a737bed6 100644 --- a/src/storage.rs +++ b/src/storage.rs @@ -2220,8 +2220,8 @@ impl Privileges { .id(Self::SPACE_ID) .is_local(true) .is_temporary(false) - .field(("grantee_id", FieldType::Unsigned)) .field(("grantor_id", FieldType::Unsigned)) + .field(("grantee_id", FieldType::Unsigned)) .field(("object_type", FieldType::String)) .field(("object_name", FieldType::String)) .field(("privilege", FieldType::String)) diff --git a/src/traft/op.rs b/src/traft/op.rs index df89e24b9f..f5a3e33e2d 100644 --- a/src/traft/op.rs +++ b/src/traft/op.rs @@ -159,7 +159,7 @@ impl std::fmt::Display for Op { schema_version, .. } = priv_def; - write!(f, "GrantPrivilege({schema_version}, {grantee_id}, {grantor_id}, {object_type}, {object_name}, {privilege})") + write!(f, "GrantPrivilege({schema_version}, {grantor_id}, {grantee_id}, {object_type}, {object_name}, {privilege})") } Self::Acl(Acl::RevokePrivilege { priv_def }) => { let PrivilegeDef { @@ -171,7 +171,7 @@ impl std::fmt::Display for Op { schema_version, .. } = priv_def; - write!(f, "RevokePrivilege({schema_version}, {grantee_id}, {grantor_id}, {object_type}, {object_name}, {privilege})") + write!(f, "RevokePrivilege({schema_version}, {grantor_id}, {grantee_id}, {object_type}, {object_name}, {privilege})") } }; diff --git a/test/int/test_acl.py b/test/int/test_acl.py index 74c643959f..2264a5baf8 100644 --- a/test/int/test_acl.py +++ b/test/int/test_acl.py @@ -196,7 +196,7 @@ def test_acl_lua_api(cluster: Cluster): "box.space._pico_privilege:get", (dave_id, "space", "_pico_property", "read") ) - assert priv[1] == 0 # The above grant was executed from guest. 0 is guest user id. + assert priv[0] == 0 # The above grant was executed from guest. 0 is guest user id. # Already granted -> ok. i1.call( -- GitLab