| 
									
										
										
										
											2016-11-15 16:56:29 +01:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-07 14:09:25 -04:00
										 |  |  | class Api::V1::AppsController < Api::BaseController | 
					
						
							| 
									
										
										
										
											2019-07-30 11:10:46 +02:00
										 |  |  |   skip_before_action :require_authenticated_user! | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-26 23:55:21 +02:00
										 |  |  |   def create | 
					
						
							| 
									
										
										
										
											2017-05-30 21:16:28 -04:00
										 |  |  |     @app = Doorkeeper::Application.create!(application_options) | 
					
						
							| 
									
										
										
										
											2017-07-07 04:02:06 +02:00
										 |  |  |     render json: @app, serializer: REST::ApplicationSerializer | 
					
						
							| 
									
										
										
										
											2017-04-04 01:33:34 +02:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   private | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-30 21:16:28 -04:00
										 |  |  |   def application_options | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |       name: app_params[:client_name], | 
					
						
							|  |  |  |       redirect_uri: app_params[:redirect_uris], | 
					
						
							|  |  |  |       scopes: app_scopes_or_default, | 
					
						
							|  |  |  |       website: app_params[:website], | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def app_scopes_or_default | 
					
						
							|  |  |  |     app_params[:scopes] || Doorkeeper.configuration.default_scopes | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-04 01:33:34 +02:00
										 |  |  |   def app_params | 
					
						
							|  |  |  |     params.permit(:client_name, :redirect_uris, :scopes, :website) | 
					
						
							| 
									
										
										
										
											2016-09-26 23:55:21 +02:00
										 |  |  |   end | 
					
						
							|  |  |  | end |