add: release use database data
This commit is contained in:
parent
b07781a514
commit
aabfaad458
|
@ -5,11 +5,9 @@ class VersionReleasesController < ApplicationController
|
||||||
before_action :find_version , only: [:show, :edit, :update, :destroy]
|
before_action :find_version , only: [:show, :edit, :update, :destroy]
|
||||||
|
|
||||||
def index
|
def index
|
||||||
version_releases = Gitea::Versions::ListService.new(@user.gitea_token, @user.try(:login), @repository.try(:identifier)).call
|
@version_releases = kaminari_paginate(@repository.version_releases.order(created_at: :desc))
|
||||||
@version_releases = version_releases
|
|
||||||
@user_permission = current_user.present? && (@repository.project.all_developers.include?(current_user) || current_user.admin?)
|
@user_permission = current_user.present? && (@repository.project.all_developers.include?(current_user) || current_user.admin?)
|
||||||
@user_admin_permission = current_user.present? && (@repository.project.all_managers.include?(current_user) || current_user.admin?)
|
@user_admin_permission = current_user.present? && (@repository.project.all_managers.include?(current_user) || current_user.admin?)
|
||||||
@forge_releases = @repository.version_releases.select(:id,:version_gid, :created_at).includes(:attachments)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def new
|
def new
|
||||||
|
@ -24,7 +22,7 @@ class VersionReleasesController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@release = Gitea::Versions::GetService.call(current_user.gitea_token, @user&.login, @repository&.identifier, @version&.version_gid)
|
# @release = Gitea::Versions::GetService.call(current_user.gitea_token, @user&.login, @repository&.identifier, @version&.version_gid)
|
||||||
end
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
|
@ -49,6 +47,7 @@ class VersionReleasesController < ApplicationController
|
||||||
zipball_url: git_version_release["zipball_url"],
|
zipball_url: git_version_release["zipball_url"],
|
||||||
url: git_version_release["url"],
|
url: git_version_release["url"],
|
||||||
version_gid: git_version_release["id"],
|
version_gid: git_version_release["id"],
|
||||||
|
sha: git_version_release["sha"]
|
||||||
}
|
}
|
||||||
version_release.update_attributes!(update_params)
|
version_release.update_attributes!(update_params)
|
||||||
version_release.project_trends.create(user_id: current_user.id, project_id: @project.id, action_type: "create")
|
version_release.project_trends.create(user_id: current_user.id, project_id: @project.id, action_type: "create")
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
# created_at :datetime not null
|
# created_at :datetime not null
|
||||||
# updated_at :datetime not null
|
# updated_at :datetime not null
|
||||||
# repository_id :integer
|
# repository_id :integer
|
||||||
|
# sha :string(255)
|
||||||
#
|
#
|
||||||
# Indexes
|
# Indexes
|
||||||
#
|
#
|
||||||
|
@ -29,4 +30,9 @@ class VersionRelease < ApplicationRecord
|
||||||
has_many :project_trends, as: :trend, dependent: :destroy
|
has_many :project_trends, as: :trend, dependent: :destroy
|
||||||
scope :releases_size, ->{where(draft: false, prerelease: false).size}
|
scope :releases_size, ->{where(draft: false, prerelease: false).size}
|
||||||
has_many :attachments, as: :container, dependent: :destroy
|
has_many :attachments, as: :container, dependent: :destroy
|
||||||
|
|
||||||
|
def update_sha
|
||||||
|
git_release = Gitea::Versions::GetService.call(user.gitea_token, repository&.owner&.login, repository&.identifier, version_gid)
|
||||||
|
self.update(sha: git_release["sha"])
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
json.version_id version.try(:id)
|
json.version_id version.try(:id)
|
||||||
json.id re["id"]
|
json.id version&.version_gid
|
||||||
json.tag_name re["tag_name"]
|
json.tag_name version&.tag_name
|
||||||
json.target_commitish re["target_commitish"]
|
json.target_commitish version&.target_commitish
|
||||||
json.name re["name"]
|
json.name version&.name
|
||||||
json.sha re["sha"]
|
json.sha version&.sha
|
||||||
json.body re["body"]
|
json.body version&.body
|
||||||
json.url re["url"]
|
json.url version&.url
|
||||||
json.tarball_url render_tar_url(@owner, @repository, re["tag_name"])
|
json.tarball_url render_tar_url(@owner, @repository, version&.tag_name)
|
||||||
json.zipball_url render_zip_url(@owner, @repository, re["tag_name"])
|
json.zipball_url render_zip_url(@owner, @repository, version&.tag_name)
|
||||||
json.draft re["draft"] ? "草稿" : (re["prerelease"] ? "预发行" : "稳定")
|
json.draft version&.draft ? "草稿" : (version&.prerelease ? "预发行" : "稳定")
|
||||||
json.created_at format_time(version.created_at.to_s.to_time)
|
json.created_at format_time(version.created_at.to_s.to_time)
|
||||||
json.published_at format_time(version.created_at.to_s.to_time)
|
json.published_at format_time(version.created_at.to_s.to_time)
|
||||||
json.user_name user.present? ? user.try(:show_real_name) : ""
|
json.user_name user.present? ? user.try(:show_real_name) : ""
|
||||||
|
|
|
@ -3,18 +3,14 @@ json.user_permission @user_permission
|
||||||
json.user_admin_permission @user_admin_permission
|
json.user_admin_permission @user_admin_permission
|
||||||
# json.releases @version_releases
|
# json.releases @version_releases
|
||||||
json.releases do
|
json.releases do
|
||||||
json.array! @version_releases.to_a.each do |re|
|
json.array! @version_releases.each do |version|
|
||||||
if re.present?
|
version.update_sha if version.sha.nil?
|
||||||
user = User.select(:id, :gitea_uid, :login, :lastname,:firstname, :nickname).find_by_gitea_uid(re["author"]["id"])
|
if @user_permission && version&.draft
|
||||||
version = @forge_releases.find_by(version_gid: re["id"])
|
json.partial! "version_release", locals: {version: version, user: version&.user}
|
||||||
if @user_permission && re["draft"]
|
else
|
||||||
json.partial! "version_release", locals: {version: version, user: user, re: re}
|
unless version&.draft
|
||||||
else
|
json.partial! "version_release", locals: {version: version, user: version&.user}
|
||||||
unless re["draft"]
|
|
||||||
json.partial! "version_release", locals: {version: version, user: user, re: re}
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
user = User.select(:id, :gitea_uid, :login, :lastname,:firstname, :nickname).find_by_gitea_uid(@release["author"]["id"])
|
|
||||||
json.partial! "version_release", locals: {version: @version, user: user, re: @release}
|
json.partial! "version_release", locals: {version: @version, user: @version&.user}
|
|
@ -0,0 +1,5 @@
|
||||||
|
class AddShaToVersionReleases < ActiveRecord::Migration[5.2]
|
||||||
|
def change
|
||||||
|
add_column :version_releases, :sha, :string
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue