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