Added fixes
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,7 +1,7 @@
|
||||
vendor
|
||||
repo
|
||||
repo/*
|
||||
db/*.sqlite3
|
||||
projects
|
||||
projects/*
|
||||
.ruby-lsp
|
||||
keys/private
|
||||
keys/public
|
||||
|
||||
30
app.rb
30
app.rb
@@ -1390,6 +1390,36 @@ get "/prjsignview/:id/*" do
|
||||
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
|
||||
status 404
|
||||
@page_name = "Кто-то потерялся"
|
||||
|
||||
@@ -72,6 +72,7 @@ class DBase
|
||||
id = rep_id[:id]
|
||||
RepocRecips.where(repo_id: id).delete
|
||||
ReposProjects.where(repo_id: id).delete
|
||||
Repos.where(reponame: repo_name).delete
|
||||
end
|
||||
end
|
||||
|
||||
@@ -371,4 +372,12 @@ class DBase
|
||||
def set_project_address(prj_id, address)
|
||||
ProjectsProjects.where(proj_id: prj_id.to_i).update(remote_address: address)
|
||||
end
|
||||
|
||||
def get_gits()
|
||||
Repos.all
|
||||
end
|
||||
|
||||
def delete_git_by_id(id)
|
||||
Repos.where(id: id.to_i).delete
|
||||
end
|
||||
end
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<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://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 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">
|
||||
|
||||
@@ -45,6 +45,10 @@
|
||||
<span class="p-1">
|
||||
<a href="/bldcfg">build-окружения</a>
|
||||
</span>
|
||||
<span>|</span>
|
||||
<span class="p-1">
|
||||
<a href="/builds">сборки</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<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