forked from Gitlink/forgeplus
57 lines
1.5 KiB
Ruby
57 lines
1.5 KiB
Ruby
module ProjectsHelper
|
|
|
|
def render_zh_project_type(project_type)
|
|
case project_type
|
|
when 'common' then "开源托管项目"
|
|
when 'sync_mirror' then "镜像托管项目"
|
|
when 'mirror' then "开源镜像项目"
|
|
end
|
|
end
|
|
|
|
def render_zip_url(project, archive_name)
|
|
[gitea_domain, project.owner.login, project.identifier, "archive", "#{archive_name}.zip"].join('/')
|
|
end
|
|
|
|
def render_tar_url(project, archive_name)
|
|
[gitea_domain, project.owner.login, project.identifier, "archive", "#{archive_name}.tar.gz"].join('/')
|
|
end
|
|
|
|
def render_http_url(project)
|
|
[gitea_domain, project.owner.login, "#{project.identifier}.git"].join('/')
|
|
end
|
|
|
|
def gitea_domain
|
|
Gitea.gitea_config[:domain]
|
|
end
|
|
|
|
def find_user_by_login_or_mail(identifier)
|
|
(User.find_by_login identifier) || (User.find_by_mail identifier)
|
|
end
|
|
|
|
def json_response(project)
|
|
repo = project.repository
|
|
tmp_json = {}
|
|
unless project.common?
|
|
tmp_json = tmp_json.merge({
|
|
mirror_status: repo.mirror_status,
|
|
mirror_num: repo.mirror_num,
|
|
mirror_url: repo.mirror_url,
|
|
first_sync: repo.first_sync?
|
|
})
|
|
end
|
|
|
|
tmp_json = tmp_json.merge({
|
|
identifier: project.identifier,
|
|
name: project.name,
|
|
id: project.id,
|
|
type: project.numerical_for_project_type,
|
|
author: {
|
|
login: project.owner.login,
|
|
name: project.owner.real_name,
|
|
image_url: url_to_avatar(project.owner)
|
|
}
|
|
}).compact
|
|
render json: tmp_json
|
|
end
|
|
end
|