|
- 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
|