parent
							
								
									287adbd365
								
							
						
					
					
						commit
						c58358c66e
					
				
							
								
								
									
										1
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								Gemfile
									
									
									
									
									
								
							| @ -42,6 +42,7 @@ gem 'rails-settings-cached', '~> 2.8.3' | ||||
| gem 'pagy', '~> 6.0', '>= 6.0.2' | ||||
| gem 'flipper' | ||||
| gem 'flipper-active_record' | ||||
| gem 'flipper-ui' | ||||
| 
 | ||||
| # HTTP requests | ||||
| gem 'faraday' | ||||
|  | ||||
							
								
								
									
										12
									
								
								Gemfile.lock
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								Gemfile.lock
									
									
									
									
									
								
							| @ -133,6 +133,12 @@ GEM | ||||
|     flipper-active_record (0.28.0) | ||||
|       activerecord (>= 4.2, < 8) | ||||
|       flipper (~> 0.28.0) | ||||
|     flipper-ui (0.28.0) | ||||
|       erubi (>= 1.0.0, < 2.0.0) | ||||
|       flipper (~> 0.28.0) | ||||
|       rack (>= 1.4, < 3) | ||||
|       rack-protection (>= 1.5.3, <= 4.0.0) | ||||
|       sanitize (< 7) | ||||
|     fugit (1.7.2) | ||||
|       et-orbi (~> 1, >= 1.2.7) | ||||
|       raabro (~> 1.4) | ||||
| @ -204,6 +210,8 @@ GEM | ||||
|     raabro (1.4.0) | ||||
|     racc (1.6.0) | ||||
|     rack (2.2.4) | ||||
|     rack-protection (3.0.6) | ||||
|       rack | ||||
|     rack-test (2.0.2) | ||||
|       rack (>= 1.3) | ||||
|     rails (7.0.4) | ||||
| @ -288,6 +296,9 @@ GEM | ||||
|     ruby2_keywords (0.0.5) | ||||
|     rufus-scheduler (3.8.2) | ||||
|       fugit (~> 1.1, >= 1.1.6) | ||||
|     sanitize (6.0.1) | ||||
|       crass (~> 1.0.2) | ||||
|       nokogiri (>= 1.12.0) | ||||
|     sentry-rails (5.8.0) | ||||
|       railties (>= 5.0) | ||||
|       sentry-ruby (~> 5.8.0) | ||||
| @ -381,6 +392,7 @@ DEPENDENCIES | ||||
|   faraday | ||||
|   flipper | ||||
|   flipper-active_record | ||||
|   flipper-ui | ||||
|   importmap-rails | ||||
|   jbuilder (~> 2.7) | ||||
|   letter_opener | ||||
|  | ||||
| @ -114,6 +114,10 @@ command: | ||||
| * [Sidekiq](https://github.com/mperham/sidekiq/wiki/) | ||||
| * [ActiveJob](https://github.com/mperham/sidekiq/wiki/Active-Job) | ||||
| 
 | ||||
| ### Feature Flags | ||||
| 
 | ||||
| * [Flipper](https://www.flippercloud.io/docs/get-started/self-hosted) | ||||
| 
 | ||||
| ## License | ||||
| 
 | ||||
| [GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/) | ||||
|  | ||||
							
								
								
									
										30
									
								
								app/controllers/services/remotestorage_controller.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								app/controllers/services/remotestorage_controller.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,30 @@ | ||||
| class Services::RemotestorageController < ApplicationController | ||||
|   before_action :require_user_signed_in | ||||
|   before_action :require_service_enabled | ||||
|   before_action :require_feature_enabled | ||||
|   before_action :set_current_section | ||||
| 
 | ||||
|   def dashboard | ||||
|     # unless current_user.services_enabled.include?(:remotestorage) | ||||
|     #   redirect_to service_remotestorage_info_path | ||||
|     # end | ||||
|   end | ||||
| 
 | ||||
|   private | ||||
| 
 | ||||
|     def require_feature_enabled | ||||
|       unless Flipper.enabled?(:remotestorage, current_user) | ||||
|         http_status :forbidden | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     def require_service_enabled | ||||
|       unless Setting.remotestorage_enabled? | ||||
|         http_status :not_found | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     def set_current_section | ||||
|       @current_section = :services | ||||
|     end | ||||
| end | ||||
| @ -6,6 +6,10 @@ | ||||
|       <h3>Account</h3> | ||||
|       <table class="divided"> | ||||
|         <tbody> | ||||
|           <tr> | ||||
|             <th>ID</th> | ||||
|             <td><%= @user.id %></td> | ||||
|           </tr> | ||||
|           <tr> | ||||
|             <th>Created at</th> | ||||
|             <td><%= @user.created_at.strftime("%Y-%m-%d (%H:%M UTC)") %></td> | ||||
|  | ||||
| @ -73,6 +73,17 @@ | ||||
|           </p> | ||||
|         <% end %> | ||||
|       </div> | ||||
|       <% if Setting.remotestorage_enabled? && Flipper.enabled?(:remotestorage, current_user) %> | ||||
|         <div class="border border-gray-300 rounded-md hover:border-gray-400"> | ||||
|           <%= link_to services_storage_path, | ||||
|                 class: "block h-full px-6 py-6 rounded-md" do %> | ||||
|             <h3 class="mb-3.5">Storage</h3> | ||||
|             <p class="text-gray-600"> | ||||
|               Sync your data between apps and devices | ||||
|             </p> | ||||
|           <% end %> | ||||
|         </div> | ||||
|       <% end %> | ||||
|       <!-- <div class="border border-gray-300 rounded-md hover:border-gray-400 --> | ||||
|       <!--             bg-[length:80%] bg-[right_top_-30px] bg-no-repeat --> | ||||
|       <!--             bg-[url(/img/logos/icon_mastodon.svg)]"> --> | ||||
|  | ||||
							
								
								
									
										7
									
								
								app/views/services/remotestorage/dashboard.html.erb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								app/views/services/remotestorage/dashboard.html.erb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| <%= render HeaderComponent.new(title: "Storage") %> | ||||
| 
 | ||||
| <%= render MainSimpleComponent.new do %> | ||||
|   <section> | ||||
|     <h3>Feature enabled</h3> | ||||
|   </section> | ||||
| <% end %> | ||||
| @ -19,6 +19,8 @@ Rails.application.routes.draw do | ||||
|   resources :invitations, only: ['index', 'show', 'create', 'destroy'] | ||||
| 
 | ||||
|   namespace :services do | ||||
|     get 'storage', to: 'remotestorage#dashboard' | ||||
| 
 | ||||
|     resources :lightning, only: [:index] do | ||||
|       collection do | ||||
|         get 'transactions' | ||||
| @ -62,6 +64,7 @@ Rails.application.routes.draw do | ||||
| 
 | ||||
|   authenticate :user, ->(user) { user.is_admin? } do | ||||
|     mount Sidekiq::Web => '/sidekiq' | ||||
|     mount Flipper::UI.app(Flipper) => '/flipper' | ||||
|   end | ||||
| 
 | ||||
|   # Letter Opener (open "sent" emails in dev and staging) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user