refactor: removed commented code & ran formatter

pull/153/head
Jef Roosens 2022-05-03 16:55:50 +02:00
parent c818273790
commit 204144cee8
Signed by: Jef Roosens
GPG Key ID: B75D4F293C7052DB
7 changed files with 17 additions and 193 deletions

View File

@ -10,11 +10,12 @@ import build
import docker import docker
import db import db
// How many seconds to wait before retrying to update API if failed const (
const api_update_retry_timeout = 5 // How many seconds to wait before retrying to update API if failed
api_update_retry_timeout = 5
// How many seconds to wait before retrying to rebuild image if failed // How many seconds to wait before retrying to rebuild image if failed
const rebuild_base_image_retry_timout = 30 rebuild_base_image_retry_timout = 30
)
struct ScheduledBuild { struct ScheduledBuild {
pub: pub:

View File

@ -29,12 +29,12 @@ pub mut:
pub fn (gr &GitRepo) str() string { pub fn (gr &GitRepo) str() string {
mut parts := [ mut parts := [
"id: $gr.id", 'id: $gr.id',
"url: $gr.url", 'url: $gr.url',
"branch: $gr.branch", 'branch: $gr.branch',
"repo: $gr.repo", 'repo: $gr.repo',
"schedule: $gr.schedule", 'schedule: $gr.schedule',
"arch: ${gr.arch.map(it.value).join(', ')}" 'arch: ${gr.arch.map(it.value).join(', ')}',
] ]
str := parts.join('\n') str := parts.join('\n')
@ -121,18 +121,12 @@ pub fn (db &VieterDb) update_git_repo(repo_id int, params map[string]string) {
// Any fields that are array types require their own update method // Any fields that are array types require their own update method
$if field.typ is string { $if field.typ is string {
values << "$field.name = '${params[field.name]}'" values << "$field.name = '${params[field.name]}'"
// r.$(field.name) = params[field.name]
// This specific type check is needed for the compiler to ensure
// our types are correct
} }
//$else $if field.typ is []GitRepoArch {
// r.$(field.name) = params[field.name].split(',').map(GitRepoArch{ value: it })
//}
} }
} }
values_str := values.join(', ') values_str := values.join(', ')
query := 'update GitRepo set $values_str where id == $repo_id' query := 'update GitRepo set $values_str where id == $repo_id'
println(query)
db.conn.exec_none(query) db.conn.exec_none(query)
} }

View File

@ -3,7 +3,6 @@ module git
import cli import cli
import env import env
import cron.expression { parse_expression } import cron.expression { parse_expression }
import db { GitRepo, GitRepoArch }
struct Config { struct Config {
address string [required] address string [required]
@ -123,7 +122,7 @@ fn list(conf Config) ? {
repos := get_repos(conf.address, conf.api_key) ? repos := get_repos(conf.address, conf.api_key) ?
for repo in repos { for repo in repos {
println('${repo.id}\t$repo.url\t$repo.branch\t$repo.repo') println('$repo.id\t$repo.url\t$repo.branch\t$repo.repo')
} }
} }

View File

@ -28,8 +28,8 @@ fn send_request<T>(method http.Method, address string, url string, api_key strin
// get_repos returns the current list of repos. // get_repos returns the current list of repos.
pub fn get_repos(address string, api_key string) ?[]db.GitRepo { pub fn get_repos(address string, api_key string) ?[]db.GitRepo {
data := send_request<[]db.GitRepo>(http.Method.get, address, '/api/repos', data := send_request<[]db.GitRepo>(http.Method.get, address, '/api/repos', api_key,
api_key, {}) ? {}) ?
return data.data return data.data
} }

View File

@ -1,84 +0,0 @@
module git
/* import os */
/* import json */
/* pub struct GitRepo { */
/* pub mut: */
/* // URL of the Git repository */
/* url string */
/* // Branch of the Git repository to use */
/* branch string */
/* // On which architectures the package is allowed to be built. In reality, */
/* // this controls which builders will periodically build the image. */
/* arch []string */
/* // Which repo the builder should publish packages to */
/* repo string */
/* // Cron schedule describing how frequently to build the repo. */
/* schedule string [optional] */
/* } */
/* // patch_from_params patches a GitRepo from a map[string]string, usually */
/* // provided from a web.App's params */
/* pub fn (mut r GitRepo) patch_from_params(params map[string]string) { */
/* $for field in GitRepo.fields { */
/* if field.name in params { */
/* $if field.typ is string { */
/* r.$(field.name) = params[field.name] */
/* // This specific type check is needed for the compiler to ensure */
/* // our types are correct */
/* } $else $if field.typ is []string { */
/* r.$(field.name) = params[field.name].split(',') */
/* } */
/* } */
/* } */
/* } */
/* // read_repos reads the provided path & parses it into a map of GitRepo's. */
/* pub fn read_repos(path string) ?map[string]GitRepo { */
/* if !os.exists(path) { */
/* mut f := os.create(path) ? */
/* defer { */
/* f.close() */
/* } */
/* f.write_string('{}') ? */
/* return {} */
/* } */
/* content := os.read_file(path) ? */
/* res := json.decode(map[string]GitRepo, content) ? */
/* return res */
/* } */
/* // write_repos writes a map of GitRepo's back to disk given the provided path. */
/* pub fn write_repos(path string, repos &map[string]GitRepo) ? { */
/* mut f := os.create(path) ? */
/* defer { */
/* f.close() */
/* } */
/* value := json.encode(repos) */
/* f.write_string(value) ? */
/* } */
/* // repo_from_params creates a GitRepo from a map[string]string, usually */
/* // provided from a web.App's params */
/* pub fn repo_from_params(params map[string]string) ?GitRepo { */
/* mut repo := GitRepo{} */
/* // If we're creating a new GitRepo, we want all fields to be present before */
/* // "patching". */
/* $for field in GitRepo.fields { */
/* if field.name !in params && !field.attrs.contains('optional') { */
/* return error('Missing parameter: ${field.name}.') */
/* } */
/* } */
/* repo.patch_from_params(params) */
/* return repo */
/* } */

View File

@ -1,14 +1,10 @@
module server module server
import web import web
import git
import net.http import net.http
import rand
import response { new_data_response, new_response } import response { new_data_response, new_response }
import db import db
const repos_file = 'repos.json'
// get_repos returns the current list of repos. // get_repos returns the current list of repos.
['/api/repos'; get] ['/api/repos'; get]
fn (mut app App) get_repos() web.Result { fn (mut app App) get_repos() web.Result {
@ -17,13 +13,6 @@ fn (mut app App) get_repos() web.Result {
} }
repos := app.db.get_git_repos() repos := app.db.get_git_repos()
// repos := rlock app.git_mutex {
// git.read_repos(app.conf.repos_file) or {
// app.lerror('Failed to read repos file: $err.msg()')
// return app.status(http.Status.internal_server_error)
// }
//}
return app.json(http.Status.ok, new_data_response(repos)) return app.json(http.Status.ok, new_data_response(repos))
} }
@ -35,19 +24,6 @@ fn (mut app App) get_single_repo(id int) web.Result {
return app.json(http.Status.unauthorized, new_response('Unauthorized.')) return app.json(http.Status.unauthorized, new_response('Unauthorized.'))
} }
// repos := rlock app.git_mutex {
// git.read_repos(app.conf.repos_file) or {
// app.lerror('Failed to read repos file.')
// return app.status(http.Status.internal_server_error)
// }
//}
// if id !in repos {
// return app.not_found()
//}
// repo := repos[id]
repo := app.db.get_git_repo(id) or { return app.not_found() } repo := app.db.get_git_repo(id) or { return app.not_found() }
return app.json(http.Status.ok, new_data_response(repo)) return app.json(http.Status.ok, new_data_response(repo))
@ -74,32 +50,6 @@ fn (mut app App) post_repo() web.Result {
app.db.add_git_repo(new_repo) app.db.add_git_repo(new_repo)
// id := rand.uuid_v4()
// mut repos := rlock app.git_mutex {
// git.read_repos(app.conf.repos_file) or {
// app.lerror('Failed to read repos file.')
// return app.status(http.Status.internal_server_error)
// }
//}
// repos := app.db.get_git_repos()
//// We need to check for duplicates
// for _, repo in repos {
// if repo == new_repo {
// return app.json(http.Status.bad_request, new_response('Duplicate repository.'))
// }
//}
// repos[id] = new_repo
// lock app.git_mutex {
// git.write_repos(app.conf.repos_file, &repos) or {
// return app.status(http.Status.internal_server_error)
// }
//}
return app.json(http.Status.ok, new_response('Repo added successfully.')) return app.json(http.Status.ok, new_response('Repo added successfully.'))
} }
@ -110,25 +60,9 @@ fn (mut app App) delete_repo(id int) web.Result {
return app.json(http.Status.unauthorized, new_response('Unauthorized.')) return app.json(http.Status.unauthorized, new_response('Unauthorized.'))
} }
// mut repos := rlock app.git_mutex {
// git.read_repos(app.conf.repos_file) or {
// app.lerror('Failed to read repos file.')
// return app.status(http.Status.internal_server_error)
// }
//}
// if id !in repos {
// return app.not_found()
//}
// repos.delete(id) // repos.delete(id)
app.db.delete_git_repo(id) app.db.delete_git_repo(id)
// lock app.git_mutex {
// git.write_repos(app.conf.repos_file, &repos) or { return app.server_error(500) }
// }
return app.json(http.Status.ok, new_response('Repo removed successfully.')) return app.json(http.Status.ok, new_response('Repo removed successfully.'))
} }
@ -147,23 +81,5 @@ fn (mut app App) patch_repo(id int) web.Result {
app.db.update_git_repo_archs(id, arch_objs) app.db.update_git_repo_archs(id, arch_objs)
} }
// mut repos := rlock app.git_mutex {
// git.read_repos(app.conf.repos_file) or {
// app.lerror('Failed to read repos file.')
// return app.status(http.Status.internal_server_error)
// }
// }
// if id !in repos {
// return app.not_found()
// }
// repos[id].patch_from_params(app.query)
// lock app.git_mutex {
// git.write_repos(app.conf.repos_file, &repos) or { return app.server_error(500) }
// }
return app.json(http.Status.ok, new_response('Repo updated successfully.')) return app.json(http.Status.ok, new_response('Repo updated successfully.'))
} }

View File

@ -20,9 +20,7 @@ pub:
conf Config [required; web_global] conf Config [required; web_global]
pub mut: pub mut:
repo repo.RepoGroupManager [required; web_global] repo repo.RepoGroupManager [required; web_global]
// This is used to claim the file lock on the repos file db db.VieterDb
git_mutex shared util.Dummy
db db.VieterDb
} }
// server starts the web server & starts listening for requests // server starts the web server & starts listening for requests