forked from Gitlink/forgeplus
32 lines
841 B
Ruby
32 lines
841 B
Ruby
module ProtectedBranches
|
|
class CreateService < ProtectedBranches::BaseService
|
|
def call
|
|
validate!
|
|
|
|
ProtectedBranch.transaction do
|
|
save_gitea_protected_branch!
|
|
save_protected_branch!
|
|
end
|
|
|
|
protected_branch
|
|
end
|
|
|
|
private
|
|
def protected_branch
|
|
@protected_branch ||= repository.protected_branches.new(protected_branch_params)
|
|
end
|
|
|
|
def save_protected_branch!
|
|
protected_branch.save
|
|
end
|
|
|
|
def save_gitea_protected_branch!
|
|
@gitea_protected_branch ||= Gitea::Repository::ProtectedBranches::CreateService.call(@owner.login,
|
|
@repository.identifier, gitea_protected_branch_params, @owner.gitea_token)
|
|
|
|
raise Error, @gitea_protected_branch[:message] unless gitea_protected_branch_saved?(@gitea_protected_branch)
|
|
end
|
|
|
|
end
|
|
end
|