diff --git a/src/luamod.lua b/src/luamod.lua index 412ed65ed5f70af978c8117a6dea4654c205547e..705369daee52d0313a52cb13fab948a6374eca55 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 8c5326c488b2a92fc3fbb82b4456a2dd24e8c12b..33144dd5d7701de2f28c8f40cfa492711f938725 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 71764fa4e558e508069fd52669532800599d06af..69a737bed665789da2aea9c82f0aa9c9486b929e 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 df89e24b9f2954e21aee10034dc666f74741b250..f5a3e33e2d90e2754c74196e06f422994bd37c1e 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 74c643959f99d6751e3bf8d2d212ffd8d6447d7f..2264a5baf8bf296537f36671269401db09b0b6bd 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(