36 lines
664 B
Ruby
36 lines
664 B
Ruby
class Gitea::RepositoryInteractor
|
|
attr_reader :error
|
|
|
|
# params: token and repository
|
|
def self.call(token, repository)
|
|
interactor = new(token, repository)
|
|
interactor.run
|
|
interactor
|
|
end
|
|
|
|
def initialize(token, repository)
|
|
@token = token
|
|
@repository = repository
|
|
end
|
|
|
|
def success?
|
|
@error.nil?
|
|
end
|
|
|
|
def run
|
|
Gitea::RepositoryForm.new({name: repository&.name}).validate!
|
|
Gitea::Repository::CreateService.new(token, repository).call
|
|
rescue Exception => exception
|
|
puts exception.message
|
|
fail!(exception.message)
|
|
end
|
|
|
|
private
|
|
|
|
attr_reader :token, :repository
|
|
|
|
def fail!(error)
|
|
@error = error
|
|
end
|
|
end
|