mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-02 19:30:48 +08:00
Merge branch 'standalone_develop' into pre_trustie_server
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
class Api::V1::Users::HomeTopSettings::CreateService < ApplicationService
|
||||
|
||||
include ActiveModel::Model
|
||||
|
||||
attr_reader :user, :top_type, :top_id
|
||||
attr_accessor :home_top_setting, :home_top
|
||||
|
||||
validates :user, :top_type, :top_id, presence: true
|
||||
validates :top_type, inclusion: {in: %w(Organization Project), message: '请输入正确的TopType'}
|
||||
|
||||
def initialize(user, params)
|
||||
@user = user
|
||||
@top_type = params[:top_type]
|
||||
@top_id = params[:top_id]
|
||||
end
|
||||
|
||||
def call
|
||||
raise Error, errors.full_messages.join(",") unless valid?
|
||||
raise Error, "置顶对象不存在!" unless find_home_top
|
||||
raise Error, "置顶对象已置顶!" if check_home_top_setting
|
||||
|
||||
begin
|
||||
@home_top_setting = HomeTopSetting.new(user:user, top: @home_top)
|
||||
@home_top_setting.save!
|
||||
|
||||
return @home_top_setting.valid? ? @home_top_setting : nil
|
||||
rescue
|
||||
raise Error, "服务器错误,请联系系统管理员!"
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
def find_home_top
|
||||
@home_top = @top_type.constantize.find_by_id(@top_id).presence
|
||||
end
|
||||
|
||||
def check_home_top_setting
|
||||
HomeTopSetting.exists?(user: @user, top: @home_top)
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,40 @@
|
||||
class Api::V1::Users::HomeTopSettings::DeleteService < ApplicationService
|
||||
|
||||
include ActiveModel::Model
|
||||
|
||||
attr_reader :user, :top_type, :top_id
|
||||
attr_accessor :home_top_setting, :home_top
|
||||
|
||||
validates :user, :top_type, :top_id, presence: true
|
||||
validates :top_type, inclusion: {in: %w(Organization Project), message: '请输入正确的TopType'}
|
||||
|
||||
def initialize(user, params)
|
||||
@user = user
|
||||
@top_type = params[:top_type]
|
||||
@top_id = params[:top_id]
|
||||
end
|
||||
|
||||
def call
|
||||
raise Error, errors.full_messages.join(",") unless valid?
|
||||
raise Error, "置顶对象不存在!" unless find_home_top
|
||||
raise Error, "置顶对象未置顶!" unless check_home_top_setting
|
||||
|
||||
begin
|
||||
@home_top_setting = HomeTopSetting.find_by(user:user, top: @home_top)
|
||||
@home_top_setting.destroy!
|
||||
|
||||
return true
|
||||
rescue
|
||||
raise Error, "服务器错误,请联系系统管理员!"
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
def find_home_top
|
||||
@home_top = @top_type.constantize.find_by_id(@top_id).presence
|
||||
end
|
||||
|
||||
def check_home_top_setting
|
||||
HomeTopSetting.exists?(user: @user, top: @home_top)
|
||||
end
|
||||
end
|
||||
@@ -15,6 +15,7 @@ class Projects::TransferService < ApplicationService
|
||||
update_repo_url
|
||||
update_visit_teams
|
||||
update_fork_info
|
||||
update_fork_pull_request_info
|
||||
end
|
||||
|
||||
Rails.logger.info("##### Project transfer_service end ######")
|
||||
@@ -49,6 +50,11 @@ class Projects::TransferService < ApplicationService
|
||||
fork_user.update(user_id: @new_owner.id) if fork_user.present?
|
||||
end
|
||||
|
||||
def update_fork_pull_request_info
|
||||
fork_pull_requests = PullRequest.where(fork_project_id: @project.id)
|
||||
fork_pull_requests.update_all(fork_project_owner: @new_owner&.login) if fork_pull_requests.present?
|
||||
end
|
||||
|
||||
def gitea_update_owner
|
||||
begin
|
||||
@gitea_repo = $gitea_hat_client.post_repos_transfer_by_owner_repo(owner&.login, project.identifier, {body: {new_owner: new_owner&.login}.to_json})
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
class PullRequests::CreateService < ApplicationService
|
||||
|
||||
attr_reader :current_user, :owner, :project, :params
|
||||
attr_reader :current_user, :owner, :project, :params, :fork_project
|
||||
attr_accessor :pull_issue, :pull_request
|
||||
|
||||
def initialize(current_user, owner, project, params)
|
||||
@@ -8,6 +8,7 @@ class PullRequests::CreateService < ApplicationService
|
||||
@project = project
|
||||
@params = params
|
||||
@current_user = current_user
|
||||
@fork_project = Project.find_by_id(params[:fork_project_id])
|
||||
end
|
||||
|
||||
def call
|
||||
@@ -102,7 +103,9 @@ class PullRequests::CreateService < ApplicationService
|
||||
fork_project_id: @params[:fork_project_id],
|
||||
is_original: is_original,
|
||||
files_count: @params[:files_count] || 0,
|
||||
commits_count: @params[:commits_count] || 0
|
||||
commits_count: @params[:commits_count] || 0,
|
||||
fork_project_owner: @fork_project&.owner&.login,
|
||||
fork_project_identifier: @fork_project&.identifier
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user