Add configuration attribute to GET /api/v1/instance (#16485)
		
	List various values like file size limits and supported mime types
This commit is contained in:
		
					parent
					
						
							
								3d5183e99c
							
						
					
				
			
			
				commit
				
					
						275fa4746b
					
				
			
		
					 2 changed files with 30 additions and 2 deletions
				
			
		|  | @ -5,7 +5,8 @@ class REST::InstanceSerializer < ActiveModel::Serializer | ||||||
| 
 | 
 | ||||||
|   attributes :uri, :title, :short_description, :description, :email, |   attributes :uri, :title, :short_description, :description, :email, | ||||||
|              :version, :urls, :stats, :thumbnail, |              :version, :urls, :stats, :thumbnail, | ||||||
|              :languages, :registrations, :approval_required, :invites_enabled |              :languages, :registrations, :approval_required, :invites_enabled, | ||||||
|  |              :configuration | ||||||
| 
 | 
 | ||||||
|   has_one :contact_account, serializer: REST::AccountSerializer |   has_one :contact_account, serializer: REST::AccountSerializer | ||||||
| 
 | 
 | ||||||
|  | @ -53,6 +54,32 @@ class REST::InstanceSerializer < ActiveModel::Serializer | ||||||
|     { streaming_api: Rails.configuration.x.streaming_api_base_url } |     { streaming_api: Rails.configuration.x.streaming_api_base_url } | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|  |   def configuration | ||||||
|  |     { | ||||||
|  |       statuses: { | ||||||
|  |         max_characters: StatusLengthValidator::MAX_CHARS, | ||||||
|  |         max_media_attachments: 4, | ||||||
|  |         characters_reserved_per_url: StatusLengthValidator::URL_PLACEHOLDER_CHARS, | ||||||
|  |       }, | ||||||
|  | 
 | ||||||
|  |       media_attachments: { | ||||||
|  |         supported_mime_types: MediaAttachment::IMAGE_MIME_TYPES + MediaAttachment::VIDEO_MIME_TYPES + MediaAttachment::AUDIO_MIME_TYPES, | ||||||
|  |         image_size_limit: MediaAttachment::IMAGE_LIMIT, | ||||||
|  |         image_matrix_limit: Attachmentable::MAX_MATRIX_LIMIT, | ||||||
|  |         video_size_limit: MediaAttachment::VIDEO_LIMIT, | ||||||
|  |         video_frame_rate_limit: MediaAttachment::MAX_VIDEO_FRAME_RATE, | ||||||
|  |         video_matrix_limit: MediaAttachment::MAX_VIDEO_MATRIX_LIMIT, | ||||||
|  |       }, | ||||||
|  | 
 | ||||||
|  |       polls: { | ||||||
|  |         max_options: PollValidator::MAX_OPTIONS, | ||||||
|  |         max_characters_per_option: PollValidator::MAX_OPTION_CHARS, | ||||||
|  |         min_expiration: PollValidator::MIN_EXPIRATION, | ||||||
|  |         max_expiration: PollValidator::MAX_EXPIRATION, | ||||||
|  |       }, | ||||||
|  |     } | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|   def languages |   def languages | ||||||
|     [I18n.default_locale] |     [I18n.default_locale] | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  | @ -2,7 +2,8 @@ | ||||||
| 
 | 
 | ||||||
| class StatusLengthValidator < ActiveModel::Validator | class StatusLengthValidator < ActiveModel::Validator | ||||||
|   MAX_CHARS = 500 |   MAX_CHARS = 500 | ||||||
|   URL_PLACEHOLDER = "\1#{'x' * 23}" |   URL_PLACEHOLDER_CHARS = 23 | ||||||
|  |   URL_PLACEHOLDER = "\1#{'x' * URL_PLACEHOLDER_CHARS}" | ||||||
| 
 | 
 | ||||||
|   def validate(status) |   def validate(status) | ||||||
|     return unless status.local? && !status.reblog? |     return unless status.local? && !status.reblog? | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue