|
- class Gitea::Accelerator::MigrateService < Gitea::Accelerator::BaseService
- attr_reader :params
-
- # params description:
- # {
- # auth_username string
- # clone_addr* string #clone地址
- # description string
- # issues boolean
- # labels boolean
- # milestones boolean
- # mirror boolean
- # private boolean
- # pull_requests boolean
- # releases boolean
- # repo_name* string #仓库名称
- # uid* integer($int64) #gitea用户id或组织id
- # wiki boolean
- # }
- # EX:
- # params = {
- # clone_addr: 'xxx.com',
- # repo_name: 'repo_name',
- # uid: 2,
- # private: false
- # }
-
- def initialize(params)
- @params = params
- end
-
- def call
- return error('[gitea:] accelerator config missing') if check_accelerator!
- response = post(url, request_params)
-
- render_status(response)
- end
-
-
- private
- def request_params
- {
- uid: access_uid,
- clone_addr: params[:clone_addr],
- repo_name: params[:repository_name],
- auth_username: params[:auth_username],
- auth_password: Base64.decode64(params[:auth_password]),
- mirror: ActiveModel::Type::Boolean.new.cast(params[:is_mirror])
- }
- end
-
- def url
- "/repos/migrate".freeze
- end
- end
|