Add roles attribute to Account entities in REST API (#23255)
				
					
				
			This commit is contained in:
		
							parent
							
								
									e5ae75bf6a
								
							
						
					
					
						commit
						13a2abacc8
					
				| @ -117,7 +117,7 @@ class Status < ApplicationRecord | ||||
|                    :tags, | ||||
|                    :preview_cards, | ||||
|                    :preloadable_poll, | ||||
|                    account: [:account_stat, :user], | ||||
|                    account: [:account_stat, user: :role], | ||||
|                    active_mentions: { account: :account_stat }, | ||||
|                    reblog: [ | ||||
|                      :application, | ||||
| @ -127,7 +127,7 @@ class Status < ApplicationRecord | ||||
|                      :conversation, | ||||
|                      :status_stat, | ||||
|                      :preloadable_poll, | ||||
|                      account: [:account_stat, :user], | ||||
|                      account: [:account_stat, user: :role], | ||||
|                      active_mentions: { account: :account_stat }, | ||||
|                    ], | ||||
|                    thread: { account: :account_stat } | ||||
|  | ||||
| @ -26,6 +26,16 @@ class REST::AccountSerializer < ActiveModel::Serializer | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   class RoleSerializer < ActiveModel::Serializer | ||||
|     attributes :id, :name, :color | ||||
| 
 | ||||
|     def id | ||||
|       object.id.to_s | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   has_many :roles, serializer: RoleSerializer, if: :local? | ||||
| 
 | ||||
|   class FieldSerializer < ActiveModel::Serializer | ||||
|     include FormattingHelper | ||||
| 
 | ||||
| @ -114,6 +124,14 @@ class REST::AccountSerializer < ActiveModel::Serializer | ||||
|     object.silenced? | ||||
|   end | ||||
| 
 | ||||
|   def roles | ||||
|     if object.suspended? | ||||
|       [] | ||||
|     else | ||||
|       [object.user.role].compact.filter { |role| role.highlighted? } | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def noindex | ||||
|     object.user_prefers_noindex? | ||||
|   end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| Fabricator(:user_role) do | ||||
|   name        "MyString" | ||||
|   color       "MyString" | ||||
|   permissions "" | ||||
| end | ||||
|   color       "" | ||||
|   permissions 0 | ||||
| end | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user