From 08235a8da74a999bb6b2a559c143cf3b627a403d Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Sat, 27 Jul 2024 17:40:54 +0200 Subject: [PATCH] WIP --- app/serializers/initial_state_serializer.rb | 2 +- app/serializers/rest/admin/account_serializer.rb | 2 +- app/serializers/rest/credential_role_serializer.rb | 9 +++++++++ app/serializers/rest/role_serializer.rb | 4 ---- 4 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 app/serializers/rest/credential_role_serializer.rb diff --git a/app/serializers/initial_state_serializer.rb b/app/serializers/initial_state_serializer.rb index 13f332c95c4..bfe41dc6a82 100644 --- a/app/serializers/initial_state_serializer.rb +++ b/app/serializers/initial_state_serializer.rb @@ -10,7 +10,7 @@ class InitialStateSerializer < ActiveModel::Serializer attribute :critical_updates_pending, if: -> { object&.role&.can?(:view_devops) && SoftwareUpdate.check_enabled? } has_one :push_subscription, serializer: REST::WebPushSubscriptionSerializer - has_one :role, serializer: REST::RoleSerializer + has_one :role, serializer: REST::CredentialRoleSerializer def meta store = default_meta_store diff --git a/app/serializers/rest/admin/account_serializer.rb b/app/serializers/rest/admin/account_serializer.rb index 959884c5505..8568d67a7f3 100644 --- a/app/serializers/rest/admin/account_serializer.rb +++ b/app/serializers/rest/admin/account_serializer.rb @@ -11,7 +11,7 @@ class REST::Admin::AccountSerializer < ActiveModel::Serializer has_many :ips, serializer: REST::Admin::IpSerializer has_one :account, serializer: REST::AccountSerializer - has_one :role, serializer: REST::RoleSerializer + has_one :role, serializer: REST::CredentialRoleSerializer def id object.id.to_s diff --git a/app/serializers/rest/credential_role_serializer.rb b/app/serializers/rest/credential_role_serializer.rb new file mode 100644 index 00000000000..905c2297415 --- /dev/null +++ b/app/serializers/rest/credential_role_serializer.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class REST::CredentialRoleSerializer < REST::RoleSerializer + attributes :permissions + + def permissions + object.computed_permissions.to_s + end +end diff --git a/app/serializers/rest/role_serializer.rb b/app/serializers/rest/role_serializer.rb index 5b81c6e0487..8acbb6cd590 100644 --- a/app/serializers/rest/role_serializer.rb +++ b/app/serializers/rest/role_serializer.rb @@ -6,8 +6,4 @@ class REST::RoleSerializer < ActiveModel::Serializer def id object.id.to_s end - - def permissions - object.computed_permissions.to_s - end end