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']
|
||||
|
||||
repo := app.query['repo'].int()
|
||||
repo_id := app.query['repo'].int()
|
||||
|
||||
if repo == 0 {
|
||||
return app.json(http.Status.bad_request, new_response('Invalid Git repo.'))
|
||||
if !app.db.git_repo_exists(repo_id) {
|
||||
return app.json(http.Status.bad_request, new_response('Unknown Git repo.'))
|
||||
}
|
||||
|
||||
// Store log in db
|
||||
log := db.BuildLog{
|
||||
repo_id: repo
|
||||
repo_id: repo_id
|
||||
start_time: start_time
|
||||
end_time: end_time
|
||||
arch: arch
|
||||
|
@ -101,7 +101,7 @@ fn (mut app App) post_log() web.Result {
|
|||
|
||||
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
|
||||
if !os.exists(repo_logs_dir) {
|
||||
|
|
Loading…
Reference in New Issue