Commit 1d2bdb4d authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Move all Context classes into Services

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