diff --git a/app/Models/User.php b/app/Models/User.php index 3005416361fe..7d44d49bf50e 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -467,6 +467,21 @@ class User extends Authenticatable return true; } + + public function permissionsMap() + { + $data = []; + $permissions = json_decode($this->permissions); + + if (! $permissions) { + return $data; + } + + $keys = array_values((array) $permissions); + $values = array_fill(0, count($keys), true); + + return array_combine($keys, $values); + } } User::created(function ($user) diff --git a/app/Ninja/Transformers/UserAccountTransformer.php b/app/Ninja/Transformers/UserAccountTransformer.php index e37d00f85869..0fd62c895c82 100644 --- a/app/Ninja/Transformers/UserAccountTransformer.php +++ b/app/Ninja/Transformers/UserAccountTransformer.php @@ -146,6 +146,7 @@ class UserAccountTransformer extends EntityTransformer return [ 'account_key' => $account->account_key, + 'user_id' => (int) ($user->public_id + 1), 'name' => $account->present()->name ?: '', 'token' => $account->getToken($user->id, $this->tokenName), 'default_url' => SITE_URL, diff --git a/app/Ninja/Transformers/UserTransformer.php b/app/Ninja/Transformers/UserTransformer.php index 2bcc8791056c..e113abfa4e37 100644 --- a/app/Ninja/Transformers/UserTransformer.php +++ b/app/Ninja/Transformers/UserTransformer.php @@ -51,7 +51,7 @@ class UserTransformer extends EntityTransformer 'notify_paid' => (bool) $user->notify_paid, 'notify_approved' => (bool) $user->notify_approved, 'is_admin' => (bool) $user->is_admin, - 'permissions' => (int) $user->getOriginal('permissions'), + 'permissions' => $user->permissionsMap(), ]; } }