Restful refactor of accounts/ routes (#2133)
* Add routing specs for accounts followers and following actions * Use more restful route naming for public account follow pages Moves two actions: - accounts#followers to accounts/follower_accounts#index - accounts#following to accounts/following_accounts#index Adds routing spec to ensure prior URLs are preserved.
This commit is contained in:
		
					parent
					
						
							
								c0b30c56db
							
						
					
				
			
			
				commit
				
					
						8bac0350d1
					
				
			
		
					 18 changed files with 275 additions and 63 deletions
				
			
		
							
								
								
									
										51
									
								
								app/controllers/concerns/account_controller_concern.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								app/controllers/concerns/account_controller_concern.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,51 @@ | |||
| # frozen_string_literal: true | ||||
| 
 | ||||
| module AccountControllerConcern | ||||
|   extend ActiveSupport::Concern | ||||
| 
 | ||||
|   FOLLOW_PER_PAGE = 12 | ||||
| 
 | ||||
|   included do | ||||
|     layout 'public' | ||||
|     before_action :set_account | ||||
|     before_action :set_link_headers | ||||
|     before_action :check_account_suspension | ||||
|   end | ||||
| 
 | ||||
|   private | ||||
| 
 | ||||
|   def set_account | ||||
|     @account = Account.find_local!(params[:account_username]) | ||||
|   end | ||||
| 
 | ||||
|   def set_link_headers | ||||
|     response.headers['Link'] = LinkHeader.new( | ||||
|       [ | ||||
|         webfinger_account_link, | ||||
|         atom_account_url_link, | ||||
|       ] | ||||
|     ) | ||||
|   end | ||||
| 
 | ||||
|   def webfinger_account_link | ||||
|     [ | ||||
|       webfinger_account_url, | ||||
|       [%w(rel lrdd), %w(type application/xrd+xml)], | ||||
|     ] | ||||
|   end | ||||
| 
 | ||||
|   def atom_account_url_link | ||||
|     [ | ||||
|       account_url(@account, format: 'atom'), | ||||
|       [%w(rel alternate), %w(type application/atom+xml)], | ||||
|     ] | ||||
|   end | ||||
| 
 | ||||
|   def webfinger_account_url | ||||
|     webfinger_url(resource: @account.to_webfinger_s) | ||||
|   end | ||||
| 
 | ||||
|   def check_account_suspension | ||||
|     gone if @account.suspended? | ||||
|   end | ||||
| end | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue