Skip to content
Snippets Groups Projects
Verified Commit 1d2bdb4d authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Move all Context classes into Services

parent dba98240
No related branches found
No related tags found
No related merge requests found
Showing
with 25 additions and 25 deletions
Loading
Loading
@@ -19,7 +19,7 @@ class Admin::ProjectsController < Admin::ApplicationController
end
 
def transfer
result = ::Projects::TransferContext.new(@project, current_user, project: params).execute(:admin)
result = ::Projects::TransferService.new(@project, current_user, project: params).execute(:admin)
 
if result
redirect_to [:admin, @project]
Loading
Loading
Loading
Loading
@@ -13,7 +13,7 @@ class Projects::BlobController < Projects::ApplicationController
end
 
def destroy
result = Files::DeleteContext.new(@project, current_user, params, @ref, @path).execute
result = Files::DeleteService.new(@project, current_user, params, @ref, @path).execute
 
if result[:status] == :success
flash[:notice] = "Your changes have been successfully committed"
Loading
Loading
Loading
Loading
@@ -7,7 +7,7 @@ class Projects::EditTreeController < Projects::BaseTreeController
end
 
def update
result = Files::UpdateContext.new(@project, current_user, params, @ref, @path).execute
result = Files::UpdateService.new(@project, current_user, params, @ref, @path).execute
 
if result[:status] == :success
flash[:notice] = "Your changes have been successfully committed"
Loading
Loading
Loading
Loading
@@ -89,7 +89,7 @@ class Projects::IssuesController < Projects::ApplicationController
end
 
def bulk_update
result = Issues::BulkUpdateContext.new(project, current_user, params).execute
result = Issues::BulkUpdateService.new(project, current_user, params).execute
redirect_to :back, notice: "#{result[:count]} issues updated"
end
 
Loading
Loading
Loading
Loading
@@ -6,7 +6,7 @@ class Projects::NewTreeController < Projects::BaseTreeController
 
def update
file_path = File.join(@path, File.basename(params[:file_name]))
result = Files::CreateContext.new(@project, current_user, params, @ref, file_path).execute
result = Files::CreateService.new(@project, current_user, params, @ref, file_path).execute
 
if result[:status] == :success
flash[:notice] = "Your changes have been successfully committed"
Loading
Loading
Loading
Loading
@@ -5,7 +5,7 @@ class Projects::NotesController < Projects::ApplicationController
before_filter :authorize_admin_note!, only: [:update, :destroy]
 
def index
@notes = Notes::LoadContext.new(project, current_user, params).execute
@notes = Notes::LoadService.new(project, current_user, params).execute
 
notes_json = { notes: [] }
 
Loading
Loading
@@ -20,7 +20,7 @@ class Projects::NotesController < Projects::ApplicationController
end
 
def create
@note = Notes::CreateContext.new(project, current_user, params).execute
@note = Notes::CreateService.new(project, current_user, params).execute
 
respond_to do |format|
format.json { render_note_json(@note) }
Loading
Loading
Loading
Loading
@@ -20,7 +20,7 @@ class ProjectsController < ApplicationController
end
 
def create
@project = ::Projects::CreateContext.new(current_user, params[:project]).execute
@project = ::Projects::CreateService.new(current_user, params[:project]).execute
 
respond_to do |format|
flash[:notice] = 'Project was successfully created.' if @project.saved?
Loading
Loading
@@ -36,7 +36,7 @@ class ProjectsController < ApplicationController
end
 
def update
status = ::Projects::UpdateContext.new(@project, current_user, params).execute
status = ::Projects::UpdateService.new(@project, current_user, params).execute
 
respond_to do |format|
if status
Loading
Loading
@@ -51,7 +51,7 @@ class ProjectsController < ApplicationController
end
 
def transfer
::Projects::TransferContext.new(project, current_user, params).execute
::Projects::TransferService.new(project, current_user, params).execute
end
 
def show
Loading
Loading
@@ -89,7 +89,7 @@ class ProjectsController < ApplicationController
end
 
def fork
@forked_project = ::Projects::ForkContext.new(project, current_user).execute
@forked_project = ::Projects::ForkService.new(project, current_user).execute
 
respond_to do |format|
format.html do
Loading
Loading
Loading
Loading
@@ -5,9 +5,9 @@ class SearchController < ApplicationController
 
if @project
return access_denied! unless can?(current_user, :download_code, @project)
@search_results = Search::ProjectContext.new(@project, current_user, params).execute
@search_results = Search::ProjectService.new(@project, current_user, params).execute
else
@search_results = Search::GlobalContext.new(current_user, params).execute
@search_results = Search::GlobalService.new(current_user, params).execute
end
end
end
class BaseContext
class BaseService
attr_accessor :project, :current_user, :params
 
def initialize(project, user, params)
Loading
Loading
module Files
class BaseContext < ::BaseContext
class BaseService < ::BaseService
attr_reader :ref, :path
 
def initialize(project, user, params, ref, path = nil)
Loading
Loading
require_relative "base_context"
 
module Files
class CreateContext < BaseContext
class CreateService < BaseService
def execute
allowed = if project.protected_branch?(ref)
can?(current_user, :push_code_to_protected_branches, project)
Loading
Loading
require_relative "base_context"
 
module Files
class DeleteContext < BaseContext
class DeleteService < BaseService
def execute
allowed = if project.protected_branch?(ref)
can?(current_user, :push_code_to_protected_branches, project)
Loading
Loading
require_relative "base_context"
 
module Files
class UpdateContext < BaseContext
class UpdateService < BaseService
def execute
allowed = if project.protected_branch?(ref)
can?(current_user, :push_code_to_protected_branches, project)
Loading
Loading
module Issues
class BulkUpdateContext < BaseContext
class BulkUpdateService < BaseService
def execute
update_data = params[:update]
 
Loading
Loading
module Notes
class CreateContext < BaseContext
class CreateService < BaseService
def execute
note = project.notes.new(params[:note])
note.author = current_user
Loading
Loading
module Notes
class LoadContext < BaseContext
class LoadService < BaseService
def execute
target_type = params[:target_type]
target_id = params[:target_id]
Loading
Loading
module Projects
class CreateContext < BaseContext
class CreateService < BaseService
def initialize(user, params)
@current_user, @params = user, params.dup
end
Loading
Loading
module Projects
class ForkContext < BaseContext
class ForkService < BaseService
include Gitlab::ShellAdapter
 
def initialize(project, user)
Loading
Loading
module Projects
class TransferContext < BaseContext
class TransferService < BaseService
def execute(role = :default)
namespace_id = params[:project].delete(:namespace_id)
allowed_transfer = can?(current_user, :change_namespace, project) || role == :admin
Loading
Loading
module Projects
class UpdateContext < BaseContext
class UpdateService < BaseService
def execute(role = :default)
params[:project].delete(:namespace_id)
# check that user is allowed to set specified visibility_level
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment