Added fixes
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,7 +1,7 @@
|
|||||||
vendor
|
vendor
|
||||||
repo
|
repo/*
|
||||||
db/*.sqlite3
|
db/*.sqlite3
|
||||||
projects
|
projects/*
|
||||||
.ruby-lsp
|
.ruby-lsp
|
||||||
keys/private
|
keys/private
|
||||||
keys/public
|
keys/public
|
||||||
|
|||||||
30
app.rb
30
app.rb
@@ -1390,6 +1390,36 @@ get "/prjsignview/:id/*" do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
get "/sanitize" do
|
||||||
|
#Подчистим гит проекты, которые есть в базе, но нет в файловой системе
|
||||||
|
all_gits = db.get_gits
|
||||||
|
deleted_items = 0
|
||||||
|
unless all_gits.nil?
|
||||||
|
repo = GitRepo.new(cfg.get_repo, db)
|
||||||
|
repos = repo.getrepos
|
||||||
|
list_for_delete = []
|
||||||
|
all_gits.each do |item|
|
||||||
|
find_item = false
|
||||||
|
repos.each do |rep|
|
||||||
|
if rep[:reponame] == item[:reponame]
|
||||||
|
find_item = true
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
unless find_item
|
||||||
|
list_for_delete << item[:id]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
deleted_items = deleted_items + list_for_delete.length
|
||||||
|
list_for_delete.each do |item|
|
||||||
|
db.delete_git_by_id(item)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
@deleted_items = deleted_items
|
||||||
|
@page_name = "Очистка устаревших или потерянных записей базы данных"
|
||||||
|
erb :sanitize
|
||||||
|
end
|
||||||
|
|
||||||
not_found do
|
not_found do
|
||||||
status 404
|
status 404
|
||||||
@page_name = "Кто-то потерялся"
|
@page_name = "Кто-то потерялся"
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ class DBase
|
|||||||
id = rep_id[:id]
|
id = rep_id[:id]
|
||||||
RepocRecips.where(repo_id: id).delete
|
RepocRecips.where(repo_id: id).delete
|
||||||
ReposProjects.where(repo_id: id).delete
|
ReposProjects.where(repo_id: id).delete
|
||||||
|
Repos.where(reponame: repo_name).delete
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -371,4 +372,12 @@ class DBase
|
|||||||
def set_project_address(prj_id, address)
|
def set_project_address(prj_id, address)
|
||||||
ProjectsProjects.where(proj_id: prj_id.to_i).update(remote_address: address)
|
ProjectsProjects.where(proj_id: prj_id.to_i).update(remote_address: address)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def get_gits()
|
||||||
|
Repos.all
|
||||||
|
end
|
||||||
|
|
||||||
|
def delete_git_by_id(id)
|
||||||
|
Repos.where(id: id.to_i).delete
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<ul class="list-inline">
|
<ul class="list-inline">
|
||||||
<li class="list-inline-item me-4"><a class="link-light" href="https://brepo.ru">Документация</a></li>
|
<li class="list-inline-item me-4"><a class="link-light" href="https://brepo.ru">Документация</a></li>
|
||||||
<li class="list-inline-item me-4"><a class="link-light" href="https://dev.brepo.ru">Разработка</a></li>
|
<li class="list-inline-item me-4"><a class="link-light" href="https://dev.brepo.ru">Разработка</a></li>
|
||||||
<li class="list-inline-item"><a class="link-light" href="https://hestiadocs.brepo.ru">Партнеры</a></li>
|
<li class="list-inline-item"><a class="link-light" href="/sanitize">Подчистка</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="list-inline">
|
<ul class="list-inline">
|
||||||
<li class="list-inline-item me-4"><a href="https://dev.brepo.ru"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-github text-light">
|
<li class="list-inline-item me-4"><a href="https://dev.brepo.ru"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-github text-light">
|
||||||
|
|||||||
@@ -45,6 +45,10 @@
|
|||||||
<span class="p-1">
|
<span class="p-1">
|
||||||
<a href="/bldcfg">build-окружения</a>
|
<a href="/bldcfg">build-окружения</a>
|
||||||
</span>
|
</span>
|
||||||
|
<span>|</span>
|
||||||
|
<span class="p-1">
|
||||||
|
<a href="/builds">сборки</a>
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|||||||
18
views/sanitize.erb
Normal file
18
views/sanitize.erb
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<%= erb :header %>
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4"></div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h5 class="mb-0">Зачистка устаревших или потерявшихся данных из базы</h5>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<p class="card-text">Удалено <%= @deleted_items %> записей из базы</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<%= erb :footer %>
|
||||||
Reference in New Issue
Block a user