main^2
Jef Roosens 2022-04-01 21:34:58 +02:00
parent 148ec3ab47
commit 3a6effad80
Signed by: Jef Roosens
GPG Key ID: B75D4F293C7052DB
3 changed files with 12 additions and 11 deletions

View File

@ -9,12 +9,12 @@ import net.http
pub struct GitRepo { pub struct GitRepo {
pub mut: pub mut:
// URL of the Git repository // URL of the Git repository
url string url string
// Branch of the Git repository to use // Branch of the Git repository to use
branch string branch string
// On which architectures the package is allowed to be built. In reality, // On which architectures the package is allowed to be built. In reality,
// this controls which builders will periodically build the image. // this controls which builders will periodically build the image.
arch []string arch []string
} }
fn (mut r GitRepo) patch_from_params(params map[string]string) { fn (mut r GitRepo) patch_from_params(params map[string]string) {
@ -22,8 +22,8 @@ fn (mut r GitRepo) patch_from_params(params map[string]string) {
if field.name in params { if field.name in params {
$if field.typ is string { $if field.typ is string {
r.$(field.name) = params[field.name] r.$(field.name) = params[field.name]
// This specific type check is needed for the compiler to ensure // This specific type check is needed for the compiler to ensure
// our types are correct // our types are correct
} $else $if field.typ is []string { } $else $if field.typ is []string {
r.$(field.name) = params[field.name].split(',') r.$(field.name) = params[field.name].split(',')
} }
@ -41,7 +41,6 @@ fn repo_from_params(params map[string]string) ?GitRepo {
return error('Missing parameter: ${field.name}.') return error('Missing parameter: ${field.name}.')
} }
} }
repo.patch_from_params(params) repo.patch_from_params(params)
return repo return repo
@ -146,7 +145,9 @@ fn (mut app App) post_repo() web.Result {
repos[id] = new_repo repos[id] = new_repo
lock app.git_mutex { lock app.git_mutex {
write_repos(app.conf.repos_file, &repos) or { return app.status(http.Status.internal_server_error) } 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.'))

View File

@ -2,19 +2,19 @@ module server
struct Response<T> { struct Response<T> {
message string message string
data T data T
} }
fn new_response(message string) Response<string> { fn new_response(message string) Response<string> {
return Response<string>{ return Response<string>{
message: message message: message
data: "" data: ''
} }
} }
fn new_data_response<T>(data T) Response<T> { fn new_data_response<T>(data T) Response<T> {
return Response<T>{ return Response<T>{
message: "" message: ''
data: data data: data
} }
} }

View File

@ -138,8 +138,8 @@ pub const (
// It has fields for the query, form, files. // It has fields for the query, form, files.
pub struct Context { pub struct Context {
mut: mut:
content_type string = 'text/plain' content_type string = 'text/plain'
status http.Status = http.Status.ok status http.Status = http.Status.ok
pub: pub:
// HTTP Request // HTTP Request
req http.Request req http.Request