forked from vieter-v/vieter
fix(server): prevent adding logs to non-existent repo
parent
139142fcec
commit
f42d3fd8b0
|
@ -152,3 +152,11 @@ pub fn (db &VieterDb) update_git_repo_archs(repo_id int, archs []GitRepoArch) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn (db &VieterDb) git_repo_exists(repo_id int) bool {
|
||||||
|
db.get_git_repo(repo_id) or {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
|
@ -84,15 +84,15 @@ fn (mut app App) post_log() web.Result {
|
||||||
|
|
||||||
arch := app.query['arch']
|
arch := app.query['arch']
|
||||||
|
|
||||||
repo := app.query['repo'].int()
|
repo_id := app.query['repo'].int()
|
||||||
|
|
||||||
if repo == 0 {
|
if !app.db.git_repo_exists(repo_id) {
|
||||||
return app.json(http.Status.bad_request, new_response('Invalid Git repo.'))
|
return app.json(http.Status.bad_request, new_response('Unknown Git repo.'))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Store log in db
|
// Store log in db
|
||||||
log := db.BuildLog{
|
log := db.BuildLog{
|
||||||
repo_id: repo
|
repo_id: repo_id
|
||||||
start_time: start_time
|
start_time: start_time
|
||||||
end_time: end_time
|
end_time: end_time
|
||||||
arch: arch
|
arch: arch
|
||||||
|
@ -101,7 +101,7 @@ fn (mut app App) post_log() web.Result {
|
||||||
|
|
||||||
app.db.add_build_log(log)
|
app.db.add_build_log(log)
|
||||||
|
|
||||||
repo_logs_dir := os.join_path(app.conf.data_dir, logs_dir_name, repo.str(), arch)
|
repo_logs_dir := os.join_path(app.conf.data_dir, logs_dir_name, repo_id.str(), arch)
|
||||||
|
|
||||||
// Create the logs directory of it doesn't exist
|
// Create the logs directory of it doesn't exist
|
||||||
if !os.exists(repo_logs_dir) {
|
if !os.exists(repo_logs_dir) {
|
||||||
|
|
Loading…
Reference in New Issue