Backend Refactoring
This commit is contained in:
parent
69e41250d1
commit
5926bbac12
11 changed files with 151 additions and 78 deletions
12
app/contexts/notes/create_context.rb
Normal file
12
app/contexts/notes/create_context.rb
Normal file
|
@ -0,0 +1,12 @@
|
|||
module Notes
|
||||
class CreateContext < BaseContext
|
||||
def execute
|
||||
note = project.notes.new(params[:note])
|
||||
note.author = current_user
|
||||
note.notify = true if params[:notify] == '1'
|
||||
note.notify_author = true if params[:notify_author] == '1'
|
||||
note.save
|
||||
note
|
||||
end
|
||||
end
|
||||
end
|
34
app/contexts/notes/load_context.rb
Normal file
34
app/contexts/notes/load_context.rb
Normal file
|
@ -0,0 +1,34 @@
|
|||
module Notes
|
||||
class LoadContext < BaseContext
|
||||
def execute
|
||||
target_type = params[:target_type]
|
||||
target_id = params[:target_id]
|
||||
first_id = params[:first_id]
|
||||
last_id = params[:last_id]
|
||||
|
||||
|
||||
@notes = case target_type
|
||||
when "commit"
|
||||
then project.commit_notes(project.commit(target_id)).fresh.limit(20)
|
||||
when "snippet"
|
||||
then project.snippets.find(target_id).notes
|
||||
when "wall"
|
||||
then project.common_notes.order("created_at DESC").fresh.limit(50)
|
||||
when "issue"
|
||||
then project.issues.find(target_id).notes.inc_author.order("created_at DESC").limit(20)
|
||||
when "merge_request"
|
||||
then project.merge_requests.find(target_id).notes.inc_author.order("created_at DESC").limit(20)
|
||||
when "wiki"
|
||||
then project.wikis.reverse.map {|w| w.notes.fresh }.flatten[0..20]
|
||||
end
|
||||
|
||||
@notes = if last_id
|
||||
@notes.where("id > ?", last_id)
|
||||
elsif first_id
|
||||
@notes.where("id < ?", first_id)
|
||||
else
|
||||
@notes
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,32 +0,0 @@
|
|||
class NotesLoad < BaseContext
|
||||
def execute
|
||||
target_type = params[:target_type]
|
||||
target_id = params[:target_id]
|
||||
first_id = params[:first_id]
|
||||
last_id = params[:last_id]
|
||||
|
||||
|
||||
@notes = case target_type
|
||||
when "commit"
|
||||
then project.commit_notes(project.commit(target_id)).fresh.limit(20)
|
||||
when "snippet"
|
||||
then project.snippets.find(target_id).notes
|
||||
when "wall"
|
||||
then project.common_notes.order("created_at DESC").fresh.limit(50)
|
||||
when "issue"
|
||||
then project.issues.find(target_id).notes.inc_author.order("created_at DESC").limit(20)
|
||||
when "merge_request"
|
||||
then project.merge_requests.find(target_id).notes.inc_author.order("created_at DESC").limit(20)
|
||||
when "wiki"
|
||||
then project.wikis.reverse.map {|w| w.notes.fresh }.flatten[0..20]
|
||||
end
|
||||
|
||||
@notes = if last_id
|
||||
@notes.where("id > ?", last_id)
|
||||
elsif first_id
|
||||
@notes.where("id < ?", first_id)
|
||||
else
|
||||
@notes
|
||||
end
|
||||
end
|
||||
end
|
8
app/contexts/test_hook_context.rb
Normal file
8
app/contexts/test_hook_context.rb
Normal file
|
@ -0,0 +1,8 @@
|
|||
class TestHookContext < BaseContext
|
||||
def execute
|
||||
hook = project.hooks.find(params[:id])
|
||||
commits = project.commits(project.default_branch, nil, 3)
|
||||
data = project.post_receive_data(commits.last.id, commits.first.id, "refs/heads/#{project.default_branch}", current_user)
|
||||
hook.execute(data)
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue