Added preparing actions for custom build

This commit is contained in:
Alexey Berezhok
2026-04-19 01:20:36 +03:00
parent 0828293f36
commit 8f1e8d4a0b
7 changed files with 364 additions and 2 deletions

View File

@@ -42,6 +42,9 @@ end
class RpmUploaded < Sequel::Model(:rpm_uploaded)
end
class CustomBuildScript < Sequel::Model(:custom_build_script)
end
class DBase
attr :error, :last_id, :cfg
@@ -79,6 +82,7 @@ class DBase
rep_id = Repos.where(reponame: repo_name).first
unless rep_id[:id].nil?
id = rep_id[:id]
CustomBuildScript.where(repo_id: id).delete
RepocRecips.where(repo_id: id).delete
ReposProjects.where(repo_id: id).delete
Repos.where(reponame: repo_name).delete
@@ -369,6 +373,7 @@ class DBase
count = count + 1
end
return 1 if count > 0
CustomBuildScript.where(proj_id: proj_id.to_i).delete
RpmUploaded.where(proj_id: prj_id.to_i).delete
ReposProjects.where(proj_id: prj_id.to_i).delete
ProjectsReposSpec.where(proj_id: prj_id.to_i).delete
@@ -431,4 +436,22 @@ class DBase
def get_project_uploaded_rpms(proj_id)
RpmUploaded.where(proj_id: proj_id.to_i)
end
def get_project_custom_build(proj_id, git_id)
CustomBuildScript.where(proj_id: proj_id.to_i, repo_id: git_id.to_i)
end
def set_project_custom_build(id, repo_id, script_name, descr, content)
result = get_project_custom_build(id, repo_id).first
unless result.nil?
CustomBuildScript.where(id: result[:id]).update(:content => content, :filepath => script_name, :descr => descr)
else
id = CustomBuildScript.insert(:content => content, :filepath => script_name, :descr => descr, :proj_id => id.to_i, :repo_id => repo_id.to_i)
@last_id = id
end
end
def del_project_custom_build(id, repo_id)
CustomBuildScript.where(proj_id: id.to_i, repo_id: repo_id.to_i).delete
end
end

View File

@@ -585,4 +585,24 @@ class ProjectsActions
end
list
end
def get_project_custom_build(id, repo_id)
data = {:script_name => nil, :content => nil, :description => nil, :created => nil }
result = @db.get_project_custom_build(id, repo_id).first
unless result.nil?
data[:script_name]=result[:filepath]
data[:content]=result[:content]
data[:description]=result[:descr]
data[:created]=result[:create_at]
end
data
end
def set_project_custom_build(id, repo_id, script_name, descr, content)
@db.set_project_custom_build(id, repo_id, script_name, descr, content)
end
def del_project_custom_build(id, repo_id)
@db.del_project_custom_build(id, repo_id)
end
end