/lib/gitlab/gitlab_import/project_creator.rb
Ruby | 30 lines | 27 code | 3 blank | 0 comment | 0 complexity | 48aecb63e203cbdfaa84e0294a9115d0 MD5 | raw file
- module Gitlab
- module GitlabImport
- class ProjectCreator
- attr_reader :repo, :namespace, :current_user, :session_data
- def initialize(repo, namespace, current_user, session_data)
- @repo = repo
- @namespace = namespace
- @current_user = current_user
- @session_data = session_data
- end
- def execute
- project = ::Projects::CreateService.new(
- current_user,
- name: repo["name"],
- path: repo["path"],
- description: repo["description"],
- namespace_id: namespace.id,
- visibility_level: repo["visibility_level"],
- import_type: "gitlab",
- import_source: repo["path_with_namespace"],
- import_url: repo["http_url_to_repo"].sub("://", "://oauth2:#{@session_data[:gitlab_access_token]}@")
- ).execute
- project
- end
- end
- end
- end