gitlink-forgeplus/app/services/reposync/create_sync_repo_service.rb

34 lines
1012 B
Ruby

class Reposync::CreateSyncRepoService < Reposync::ClientService
attr_accessor :repo_name, :internal_repo_address, :external_repo_address, :sync_granularity, :sync_direction, :enable
def initialize(repo_name, internal_repo_address, external_repo_address, sync_granularity, sync_direction, enable=true)
@repo_name = repo_name
@internal_repo_address = internal_repo_address
@external_repo_address = external_repo_address
@sync_granularity = sync_granularity
@sync_direction = sync_direction
@enable = enable
end
def call
result = post(url, request_params)
response = render_response(result)
end
private
def request_params
Hash.new.merge(data: {
repo_name: repo_name,
enable: enable,
internal_repo_address: internal_repo_address,
external_repo_address: external_repo_address,
sync_granularity: sync_granularity,
sync_direction: sync_direction
}.stringify_keys)
end
def url
"/cerobot/sync/repo".freeze
end
end