diff --git a/lib/api/projects.rb b/lib/api/projects.rb index 45c2512781396858ddea9381400ee05e1c735828..d45d1d82d406d24b0e440f749409daf1e7eb65e1 100644 --- a/lib/api/projects.rb +++ b/lib/api/projects.rb @@ -38,17 +38,15 @@ module Gitlab # Example Request # POST /projects post do - @project = Project.create_by_user({ - name: params[:name], - code: (params[:code] || params[:name]), - path: (params[:path] || params[:name]), - description: (params[:description] || Project.columns_hash["description"].default), - default_branch: (params[:default_branch] || Project.columns_hash["default_branch"].default), - issues_enabled: (params[:issues_enabled] || Project.columns_hash["issues_enabled"].default), - wall_enabled: (params[:wall_enabled] || Project.columns_hash["wall_enabled"].default), - merge_requests_enabled: (params[:merge_requests_enabled] || Project.columns_hash["merge_requests_enabled"].default), - wiki_enabled: (params[:wiki_enabled] || Project.columns_hash["wiki_enabled"].default) - }, current_user) + params[:code] ||= params[:name] + params[:path] ||= params[:name] + project_attrs = {} + params.each_pair do |k ,v| + if Project.attribute_names.include? k + project_attrs[k] = v + end + end + @project = Project.create_by_user(project_attrs, current_user) if @project.saved? present @project, with: Entities::Project else